Hi, I have been using pxelinux for quite a while. It works extremely well for us. Now, I am looking at something new. We would like to: boot ( some OS - hopefully linux )from the network using pxelinux. make a small partition dos partition on the first disk. connect ( via perl dbi ) to a back end database Download the appropriate files for either a winxp build OR a kernel/ramdisk for a complete linux build reboot with the new setup from disk using syslinux. Has anyone used pxelinux/syslinux for something like this? I would love some pointers or advice. The hardest parts in my mind are: talking to the database, autodectecting the harddrives and ethernet controllers. This is where I was hoping linux would help us versus trying to boot dos. But maybe there is an easier way? Thanks. Michael -- Intel, Corp. 5000 W. Chandler Blvd. Chandler, AZ 85226
Michael Blandford wrote:> The hardest parts in my mind are: talking to the database, > autodectecting the harddrives and ethernet controllers. This is where > I was hoping linux would help us versus trying to boot dos. But maybe > there is an easier way?Well, we planned using PXElinux in this way to replace our (far too buggy) commercial Solution. But we are still in the planning Stages. I would be eager to work something out together with you... Further discussion should be Off-List because I don't think reinstalling computers is the topic of this list, even though we plan to use PXELinux... bye Christian
On Thu, 13 Feb 2003, Michael Blandford wrote:> We would like to: > > boot ( some OS - hopefully linux )from the network using pxelinux. > make a small partition dos partition on the first disk. > connect ( via perl dbi ) to a back end database > > Download the appropriate files for either a winxp build OR a > kernel/ramdisk for a complete linux build > > reboot with the new setup from disk using syslinux. > > Has anyone used pxelinux/syslinux for something like this? I would love > some pointers or advice.Closest thing we've done is use Kickstart to netboot and install Red Hat Linux over the network. In that case, the machine is booted from a kernel and initramdisk, which contains a set of NIC and SCSI driver modules, and (I think) a set of binaries including Python. We use SystemImager more these days because it's more flexible and easier to muck with. For XP, you might consider Partition Image.> The hardest parts in my mind are: talking to the database, > autodectecting the harddrives and ethernet controllers.Those are the easiest bits. The first is Perl's job and the second is the kernel's. The hard bit is getting the netbooting working nicely. And while Kickstart does OK with an initramdisk, you might consider mounting root over NFS. There should be lots of useful info at http://www.tldp.org But if all you're getting out of the database is whether to load Linux or XP, you can keep the intelligence on the server side and use system- specific PXELinux .cfg files when you want to change things. That's how we automatically load various different distros on our development and test machines. If you want a different distro on a box, you stick a .cfg for that distro, named for the machine's IP address, under the TFTP directory. When the machine boots, it loads the .cfg, which installs the distro, than deletes the .cfg file from the TFTP directory (using SSH) when it's done. After that, whenever it boots, it hits the default .cfg, which simply boots from the local hard drive. Good luck, Aaron Burt Open Source Development Lab Beaverton, OR, USA
On Thu, 13 Feb 2003, Michael Blandford wrote:>We would like to: > >boot ( some OS - hopefully linux )from the network using pxelinux. >make a small partition dos partition on the first disk. >connect ( via perl dbi ) to a back end database > >Download the appropriate files for either a winxp build OR a >kernel/ramdisk for a complete linux build > >reboot with the new setup from disk using syslinux. > >Has anyone used pxelinux/syslinux for something like this? I would love >some pointers or advice.Closest thing I have done, is using ISOlinux, to install winxp/linux/both on a brand new machine. The file required for the installation are on the network, and only about 20MB of the CD, is used most of the time (the CD serves as a troubleshooting aid and boots into linux/dos/winxp shell). - Murali
Michael Blandford <mlblandf at sedona.ch.intel.com> writes:> boot ( some OS - hopefully linux )from the network using pxelinux. > make a small partition dos partition on the first disk. > connect ( via perl dbi ) to a back end database > > Download the appropriate files for either a winxp build OR a > kernel/ramdisk for a complete linux buildMy system does this for Windows installations. (As you already know, RedHat Kickstart will do the job for Linux.) <http://unattended.sourceforge.net/> This boots to DOS, connects to a network share, and uses DJGPP Perl to partition/format the disk and generate the unattend.txt file.> The hardest parts in my mind are: talking to the database, > autodectecting the harddrives and ethernet controllers. This is > where I was hoping linux would help us versus trying to boot dos.Interestingly, dealing with hard drives and network cards in DOS is actually *easier* than in Linux. Hard drive controllers, even modern RAID and SCSI controllers, generally have a BIOS which lets DOS see them automatically. And all PXE network cards can be supported by a single "universal" DOS network driver. In other words, one DOS boot disk with one network driver can use all modern disk controllers and network cards, whether or not (say) Linux drivers even exist yet. Of course, this assumes the SCSI BIOS and PXE stacks actually work, which is sometimes a little iffy. As for talking to the database, I do not know whether DBI will work under DJGPP Perl. However, in my latest release, I ship a little module for parsing CSV files. I use it at work to parse a corporate inventory spreadsheet and automatically assign Windows XP and Office XP license keys during installation. My system's framework is fairly extensible; it has hooks so you can add your own snippets of Perl code to autocompute pretty much any setting. For example, you can assign the host name based on the MAC address, or assign the partitioning scheme based on the host name, or both. Anyway, this system may not be exactly what you want, but it should provide a starting point or at least some ideas. I have considered ditching DOS and using Linux instead, because I am getting tired of DOS limitations. (In particular, DOS requires a reboot after running fdisk.) But I am not sure I want to get into the Linux boot disk business; the DOS boot disk business has been bad enough :-). - Pat