Hey, all.
I'm looking to image about 30 Dell desktops running Windows, and I think updcast is the way to do it.
These Dell machines all the have Broadcom 4400 ethernet adapter (kernel module b44) on board, which isn't available as an option (yet?) in Cast-o-matic, so I assume I have to compile my own kernel, then add the bootloader, then.... and so on.
I have a Linux fileserver with TFTP available, so it would be super if I could do it via PXE. However, I have less than no experience with TFTP, PXE and initrd, and while there are helpful bits of stuff around the archive, I'm wondering if there's anything in the way of a more cohesive guide for putting together such a setup.
I've seen udpcast in action at Acadia University, where Donald Teed (of some udpcast-list [in]famy) has got it set up in a very slick way, and I have to agree that it's super-cool.
Thanks in advance for any help.
Brandon
========================================== Brandon W. Uhlman, Systems Administrator South Shore Regional Library Bridgewater, Nova Scotia
"It's the same great business sense that made Disney say, 'Hey, you know who'd like a theme park? The French!'" - Lewis Black
Hi Brandon. I still have your Gentoo T-shirt ready to be picked up and paid for :-)
There are at least 2 ways to add support for your ethernet...
One is the mkimage way, documented here:
http://www.udpcast.linux.lu/mkimagedoc.html
I had to add funky stuff to my /bin within the initrd anyway, so I elected to do it differently. Here is the manual way to add your own kernel and possibly static binaries and scripts to use from within busybox.
The kernel on the machine used for this development work needs romfs support for the mount using loop arg to work.
Get one of the castomatic images that is close to what you need and save it to disk.
Mount it:
mount -o loop ./initrd-oftheday /mnt/initrd
Make a new empty directory, and copy everything within it there:
cp -a /mnt/initrd/* new_empty_directory
This new_empty_directory will become your initrd staging directory.
Work from a kernel source version that is close to what Alain has supported currently. You should start with his minimal config:
http://www.udpcast.linux.lu/current/udpc-config.txt
Now add support for your ethernet device and any other kernel options. Make sure you edit your kernel source Makefile as suggested with a unique EXTRAVERSION so you don't clobber an existing /lib/modules zone on your development machine.
Make your kernel and modules, and modules_install.
Copy the modules into the new (formerly empty) initrd staging directory. Look for the same target to overwrite and you should find your way. Modules are not under lib, but under mod/something (going by memory).
After you have moved in the new modules to the initrd staging directory, you can generate a new initrd using genromfs. That is very easy to do:
genromfs -d new_directory -f my-initrd
(It's not compressed, but it works well enough with a network boot.) Place the linux kernel and my-initrd under the tftproot area and you are ready to test a PXE boot.
--Donald Teed
On Wed, 15 Sep 2004, Brandon W. Uhlman wrote:
Hey, all.
I'm looking to image about 30 Dell desktops running Windows, and I think updcast is the way to do it.
These Dell machines all the have Broadcom 4400 ethernet adapter (kernel module b44) on board, which isn't available as an option (yet?) in Cast-o-matic, so I assume I have to compile my own kernel, then add the bootloader, then.... and so on.
I have a Linux fileserver with TFTP available, so it would be super if I could do it via PXE. However, I have less than no experience with TFTP, PXE and initrd, and while there are helpful bits of stuff around the archive, I'm wondering if there's anything in the way of a more cohesive guide for putting together such a setup.
I've seen udpcast in action at Acadia University, where Donald Teed (of some udpcast-list [in]famy) has got it set up in a very slick way, and I have to agree that it's super-cool.
Thanks in advance for any help.
Brandon
========================================== Brandon W. Uhlman, Systems Administrator South Shore Regional Library Bridgewater, Nova Scotia
"It's the same great business sense that made Disney say, 'Hey, you know who'd like a theme park? The French!'" - Lewis Black _______________________________________________ Udpcast mailing list Udpcast@udpcast.linux.lu http://udpcast.linux.lu/mailman/listinfo/udpcast
Quoting Donald Teed dteed@artistic.ca:
There are at least 2 ways to add support for your ethernet...
One is the mkimage way, documented here:
http://www.udpcast.linux.lu/mkimagedoc.html
I had to add funky stuff to my /bin within the initrd anyway, so I elected to do it differently. Here is the manual way to add your own kernel and possibly static binaries and scripts to use from within busybox.
The kernel on the machine used for this development work needs romfs support for the mount using loop arg to work.
It probably goes without saying, but for future people who read this thread and try these directions: the kernel on the devleopment machine also requires support for the loopback device. ;-)
In 2.4 kernels, this is under 'Block Devices'. In 2.6 kernels, this is under 'Device Drivers' => 'Block Devices'.
~B