During imaging, I am going to be grabbing information for our database such as BIOS service tag from Dell, MAC address, etc.
I may be asked if I can also supply the battery pack serial number. I've noticed that I can get part of the battery info from under /proc/acpi/battery/BAT0/info . The 2.4.26 kernel linked on the udpcast website doesn't include ACPI support, so I'm trying to compile my own kernel. I've had limited success. I've done this sort of thing before, just not for a PXE boot environment.
I need to be able to support the ipappend 1 option in default, and this requires the config option "IP: kernel level autoconfiguration" and DHCP/BOOTP under it. I'm not sure what network file system options must be provided. I don't really need to mount anything on NCP/NFS, etc, but just a normal PXE boot using initrd. I saw the sample config file for floppy based boot, but it was not close enough for what one needs in a PXE boot.
--Donald Teed
begin Friday 30 April 2004 16:41, Donald Teed quote:
During imaging, I am going to be grabbing information for our database such as BIOS service tag from Dell, MAC address, etc.
I may be asked if I can also supply the battery pack serial number. I've noticed that I can get part of the battery info from under /proc/acpi/battery/BAT0/info . The 2.4.26 kernel linked on the udpcast website doesn't include ACPI support, so I'm trying to compile my own kernel. I've had limited success. I've done this sort of thing before, just not for a PXE boot environment.
If you need to compile your own kernel, it's actually quite easy: just download the .config file from http://udpcast.linux.lu/current/udpc-config26.txt and copy it to /usr/src/linux/.config (or whereever you compile your kernel)
The udpc-config26.txt is for 2.6 kernels, whereas udpc-config.txt is for 2.4 kernels.
Then do "make oldconfig" to activate this config file. Then do "make config" to add any features that may be needed in addition to those that udpcast needs.
I need to be able to support the ipappend 1 option in default,
This is an option that is supplied by pxelinux. No need to change anything in the kernel options for this. The ipappend system works as follows:
- pxelinux adds an ip= boot parameter which contains the information it got grom PXE (which includes IP, netmask, etc.) - the udpcast boot loader then reads it from its environment using getenv
The kernel does not really get involved by itself, except to copy it over from the boot command line to the application's environment (just like it does with any other boot command line option).
and this requires the config option "IP: kernel level autoconfiguration" and DHCP/BOOTP under it.
This is not needed. What this option would be for is if you had a kernel without initrd which mounted its root filesystem from NFS. In that case, the kernel would use the contents of ip= to autoconfigure itself and automatically mount the root fs. In order to use this, you would also need to compile all other needed functionality (network module, NFS filesystem support, etc) into the kernel, rather than as a module.
In UDPcast's case, we do use an initrd, an everything happens in application space.
I'm not sure what network file system options must be provided.
None. The current version of udpcast does not use NFS (although an older version did).
I don't really need to mount anything on NCP/NFS, etc, but just a normal PXE boot using initrd. I saw the sample config file for floppy based boot, but it was not close enough for what one needs in a PXE boot.
--Donald Teed
The kernel config file is the same for all scenarios: floppy, CD, PXE, etherboot (although there is a different file for 2.4.x kernels than for 2.6.x)
[There is a different busybox config file though for floppy and the other boot methods: .config.mini for floppy and .config.maxi for everything else]
Regards,
Alain
I was doing this like the conventional way of compiling my kernel and modules, and copying my modules to the place under /mod within the initrd image.
I notice that in your config file there are modules.
What is the suggested way to merge the modules within the udpcast-o-matic initrd and the modules created by make modules?
I had thought that I would just remove everything I found under /mod/lib/modules/2.4.26-udpcast (inside the initrd) and copy my own /lib/modules/2.4.26-udpcast content in there after a make modules_install . (I'm using genromfs to create a new initrd afterward.)
Perhaps I've just added too much to the kernel. If I just add the ethernet modules and ACPI support then this will be closer to what you normally have.
Regards,
--Donald Teed
On Fri, 30 Apr 2004, Alain Knaff wrote:
begin Friday 30 April 2004 16:41, Donald Teed quote:
During imaging, I am going to be grabbing information for our database such as BIOS service tag from Dell, MAC address, etc.
I may be asked if I can also supply the battery pack serial number. I've noticed that I can get part of the battery info from under /proc/acpi/battery/BAT0/info . The 2.4.26 kernel linked on the udpcast website doesn't include ACPI support, so I'm trying to compile my own kernel. I've had limited success. I've done this sort of thing before, just not for a PXE boot environment.
If you need to compile your own kernel, it's actually quite easy: just download the .config file from http://udpcast.linux.lu/current/udpc-config26.txt and copy it to /usr/src/linux/.config (or whereever you compile your kernel)
The udpc-config26.txt is for 2.6 kernels, whereas udpc-config.txt is for 2.4 kernels.
Then do "make oldconfig" to activate this config file. Then do "make config" to add any features that may be needed in addition to those that udpcast needs.
I need to be able to support the ipappend 1 option in default,
This is an option that is supplied by pxelinux. No need to change anything in the kernel options for this. The ipappend system works as follows:
- pxelinux adds an ip= boot parameter which contains the information
it got grom PXE (which includes IP, netmask, etc.)
- the udpcast boot loader then reads it from its environment using
getenv
The kernel does not really get involved by itself, except to copy it over from the boot command line to the application's environment (just like it does with any other boot command line option).
and this requires the config option "IP: kernel level autoconfiguration" and DHCP/BOOTP under it.
This is not needed. What this option would be for is if you had a kernel without initrd which mounted its root filesystem from NFS. In that case, the kernel would use the contents of ip= to autoconfigure itself and automatically mount the root fs. In order to use this, you would also need to compile all other needed functionality (network module, NFS filesystem support, etc) into the kernel, rather than as a module.
In UDPcast's case, we do use an initrd, an everything happens in application space.
I'm not sure what network file system options must be provided.
None. The current version of udpcast does not use NFS (although an older version did).
I don't really need to mount anything on NCP/NFS, etc, but just a normal PXE boot using initrd. I saw the sample config file for floppy based boot, but it was not close enough for what one needs in a PXE boot.
--Donald Teed
The kernel config file is the same for all scenarios: floppy, CD, PXE, etherboot (although there is a different file for 2.4.x kernels than for 2.6.x)
[There is a different busybox config file though for floppy and the other boot methods: .config.mini for floppy and .config.maxi for everything else]
Regards,
Alain
begin Saturday 01 May 2004 02:01, Donald Teed quote:
I was doing this like the conventional way of compiling my kernel and modules, and copying my modules to the place under /mod within the initrd image.
I notice that in your config file there are modules.
What is the suggested way to merge the modules within the udpcast-o-matic initrd and the modules created by make modules?
I had thought that I would just remove everything I found under /mod/lib/modules/2.4.26-udpcast (inside the initrd) and copy my own /lib/modules/2.4.26-udpcast content in there after a make modules_install . (I'm using genromfs to create a new initrd afterward.)
Perhaps I've just added too much to the kernel. If I just add the ethernet modules and ACPI support then this will be closer to what you normally have.
Regards,
--Donald Teed
If you're compiling you're own kernel, I'd strongly suggest you use a locally installed makeImage tool rather than cast-o-matic to create your boot disks. Makeimage is included in the udpcast rpm, and is documented at http://udpcast.linux.lu/mkimagedoc.html
Makeimage is also included in the udpbusybox tar file at http://udpcast.linux.lu/current/udpbusybox-20040417.tar.gz
Regards,
Alain