Sponsored Content
Top Forums Programming Running bin file from a module Post 302506046 by Chrisdot on Friday 18th of March 2011 10:38:31 AM
Old 03-18-2011
Well, I show you "Big picture" as you asked for.

Actors:
User
PC with preinstalled OS: RedHat from 2010year
Network Interface Card (let's call it "NIC") produced in 2011year

Usage model:
1. User plugs NIC to PCIe bus in PC
2. User turns on PC
3. User has got an internet connection

Do you got the idea? Just plug and play - no drivers, no additional installations, etc.
Of course - there are some limitations I tell about later.
If user wants to install regular drivers - he download it from vendor site and install.

- how is it possible?
There is known UEFI API for NIC before NIC is released to the market and even before silicon is created
- how many adapters it is dedicated for?
For now it is only one specific adapter model (it may changes in future).
- what functionality is to be implemented?
Only very basic options like: send packet, receive packet, obtain IP address from DHCP. It even does not has to run at full speed.
- how much resources are to do that?
It is about 8 months, few engineers
- has user to use UEFI machine?
No - he can use UEFI based machine or BIOS one

If you have another questions I try to answer but for sure I cannot tell all the details because of copyrights, and other law-connected things.

Now I have to create demos and propositions to solve some problems to set way of doing all the work (and discuss it with other people).


I show you some scenarios (at this moment I do not know exactly how UEFI Emulator presented by fpmurphy works):

1.
Actors:
RedHat with preinstalled MyLinuxDriver
NIC with UEFI Driver

On boot MyLinuxDriver copies UEFI Driver from NIC's flash to HDD/RAM
After that all calls to MyLinuxDriver are translated through UEFI Emulator to UEFI Driver.

2.
Actors:
RedHat with preinstalled MyLinuxDriver
NIC with UEFI Driver

On boot MyLinuxDriver copies UEFI Driver from NIC's flash to HDD/RAM and at the same time UEFI Emulator translates it to linux-understandable format.
All calls to MyLinuxDriver are redirected to UEFI TRANSLATED Driver.



What I need to know:
- how to load UEFI Driver from NIC's flash? (for demo purposes it could be 'how to load whatever from whenever', just to show that such operation is possible)
- where to load that driver? (RAM/HDD)
- when translate UEFI Driver to linux-understandable format (on boot, or on each call)

Thank you very much for your attention and useful information. I really apreciate your help guys!

PS.
Quote:
Originally Posted by fpmurphy
I still cannot see why you are trying to load a UEFI driver binary into a Linux kernel.
I am not trying to do that - I am trying to find proper way to solve my problem described above.

Last edited by Chrisdot; 03-18-2011 at 08:06 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

/bin/sh: /usr/bin/vi: No such file or directory when doing crontab

I just set up an ftp server with Red Hat 5.2. I am doing the work, I'm baby stepping, but it seems like every step I get stuck. Currently, I'm trying to set up a crontab job, but I'm getting the following message: /bin/sh: /usr/bin/vi: No such file or directory. I see that vi exists in /bin/vi,... (3 Replies)
Discussion started by: kwalter
3 Replies

2. Programming

find the fully-qualified path for the app my module is running in

Hi- I need the cpp call that will tell me the full path to the app I'm running in. For example, I'm running in a loaded library for either mozilla or firefox, but would like to know the full path to the executable /usr/bin/firefox /usr/bin/mozilla /usr/local/firefox1_5 etc... (For... (4 Replies)
Discussion started by: erwinfletch
4 Replies

3. Linux

How to convert Linux Kernel built-in module into a loadable module

Hi all, I am working on USB data monitoring on Fedora Core 9. Kernel 2.6.25 has a built-in module (the one that isn't loadable, but compiles and links statically with the kernel during compilation) to snoop USB data. It is in <kernel_source_code>/drivers/usb/mon/. I need to know if I can... (0 Replies)
Discussion started by: anitemp
0 Replies

4. Shell Programming and Scripting

Why does my /bin/csh take longer than /bin/perl?

Okay, so I have two "Hello, world!" scripts, "test.pl" and "test.sh". #!/bin/perl -w use strict; print "Hello, world!\n"; #!/bin/csh echo Hello,\ world! When I run test.pl, it runs instantly, always. When I run test.sh, it takes anywhere between 4 and 22 seconds! I'd like to know what... (3 Replies)
Discussion started by: acheong87
3 Replies

5. UNIX for Dummies Questions & Answers

fuser: difference with bin/sh and bin/ksh shell script

Hi, I have a problem I don't understand with fuser. I launch a simple shell script mysleep.sh: I launch the command fuser -fu mysleep.sh but fuser doesn't return anything excepted: mysleep: Then I modify my script switching from #!/bin/sh to #!/bin/ksh I launch the command fuser -fu... (4 Replies)
Discussion started by: Peuj
4 Replies

6. OS X (Apple)

When to use /Users/m/bin instead of /usr/local/bin (& whats the diff?)?

Q1. I understand that /usr/local/bin means I can install/uninstall stuff in here and have any chance of messing up my original system files or effecting any other users. I created this directory myself. But what about the directory I didn't create, namely /Users/m/bin? How is that directory... (1 Reply)
Discussion started by: michellepace
1 Replies

7. Programming

Why am i getting these strange packets while running my packet capture module written in c.?

I have made an packet capture application running on intel machine, it is capturing packets with src address- 17.0.0.0 destination ip- 66.0.0.0, source port- 0, destination port- 0, and protocol- 0 what does these packets mean ? The code written to interpreter captured bytes is given below.... (5 Replies)
Discussion started by: arunpushkar
5 Replies

8. Ubuntu

Compile smbfs module in kernel version 3.10 running Ubuntu 12.04 LTS

Is there any way to compile smbfs module in kernel 3.10 running Ubuntu 12.04 LTS. I did a 'make menuconfig' and it shows cifs. I found out online that smbfs is deprecated and replaced by cifs. I have an old system with kernel version 2.4 which only has smbfs (no cifs). Is it possible to compile... (1 Reply)
Discussion started by: Monil
1 Replies

9. AIX

Redistribution bin required for AIX. j7r164redist.7.1.0.25.bin

Hi, I am planning to install a version of Informatica on my AIX box. It requires a specific java build in pap6470_27sr2-20141101_01(SR2). The current link for IBM 64-bit SDK for AIX®, JavaTM Technology Edition, Version 7 Release 1 has a more recent version in j7r164redist.7.1.0.75.bin. Is... (4 Replies)
Discussion started by: meetpraveens
4 Replies

10. Shell Programming and Scripting

Usage of #!/bin/sh vs #!/bin/bash shell scripts?

Some question about the usage of shell scripts: 1.) Are the commands of the base shell scripts a subset of bash commands? 2.) Assume I got a long, long script WITHOUT the first line. How can I find out if the script was originally designed für "sh" or "bash"? 3.) How can I check a given... (3 Replies)
Discussion started by: pstein
3 Replies
Task::Weaken(3) 					User Contributed Perl Documentation					   Task::Weaken(3)

NAME
Task::Weaken - Ensure that a platform has weaken support DESCRIPTION
One recurring problem in modules that use Scalar::Util's "weaken" function is that it is not present in the pure-perl variant. While this isn't necesarily always a problem in a straight CPAN-based Perl environment, some operating system distributions only include the pure-Perl versions, don't include the XS version, and so weaken is then "missing" from the platform, despite passing a dependency on Scalar::Util successfully. Most notably this is RedHat Linux at time of writing, but other come and go and do the same thing, hence "recurring problem". The normal solution is to manually write tests in each distribution to ensure that "weaken" is available. This restores the functionality testing to a dependency you do once in your Makefile.PL, rather than something you have to write extra tests for each time you write a module. It should also help make the package auto-generators for the various operating systems play more nicely, because it introduces a dependency that they have to have a proper weaken in order to work. How this Task works Part of the problem seems to stem from the fact that some distributions continue to include modules even if they fail some of their tests. To get around that for this module, it will do a few dirty tricks. If Scalar::Util is not available at all, it will issue a normal dependency on the module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the module does not have weaken, the install will bail out altogether with a long error encouraging the user to seek support from their vendor (this problem happens most often in vendor-packaged Perl versions). This distribution also contains tests to ensure that weaken is available using more normal methods. So if your module uses "weaken", you can just add the following to your Module::Install-based Makefile.PL (or equivalent). requires 'Task::Weaken' => 0; SUPPORT
Bugs should be always be reported via the CPAN bug tracker at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Task-Weaken> For other issues,contact the author. AUTHOR
Adam Kennedy <adamk@cpan.org> SEE ALSO
Task, Scalar::Util, <http://ali.as/> COPYRIGHT
Copyright 2006 - 2011 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.18.2 2011-03-08 Task::Weaken(3)
All times are GMT -4. The time now is 05:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy