On Fri, Oct 16, 2009 at 9:13 PM, Daniel Johnson <[email protected]> wrote: > On Fri, Oct 16, 2009 at 5:18 PM, Michael Robinson > <[email protected]> wrote: >> I have a Linux based tftp server and I've been creating >> bootable freedos disk images. Unfortunately, I'm limited >> to a 2.88 meg image. Is there any simple way to break >> that limit? Some programs I'd like to run via network >> boot such as Battle Tech II demand an actual hard drive, >> groan. > > Well it needs to at least think that it has a hard drive. Have you > tried dosbox, or DosEmu, or something like a KVM virtual machine.
lets talk about how a box boots. hardware stuff happens, then a hard wried address is stuffed into the CPUs instruction pointer, and it starts running code from a rom. the rom code eventually tries to find a boot device. historically, that was a floppy. so there was code in the rom to load the 0th sector from the floppy into memory and jump to it. that code would then load more stuff from the floppy, and eventually an OS would get loaded that knew what a file system was and how to read files from the floppy. or in the case of memtest, it would just start testing memory. Hard disks are similar. boot from boot sector, load stuff that has full file system support, load files (like mouse drivers, windowing systems and email clients.) Network booting is similar: only instead of reading from a disk, it brings up networking (static or dhcp) and has a smal (trivial) ftp client that can grab something like what would typically be in a boot sector. The key to remember is: what gets booted first doesn't really know all there is to know about reading/writing files. grub seems to know how to read files, but I would be very surprised if it can write files. interesting thing about bootable CD's: The bios is hooked to load a floppy image into ram (much like a floppy sized ram disk) and then boot that using the old "boot from floppy" code. which brings us to memdisk: http://www.etherboot.org/wiki/bootingmemdisk and http://syslinux.zytor.com/wiki/index.php/MEMDISK "MEMDISK simulates a disk by claiming a chunk of high memory for the disk and a (very small - 2K typical) chunk of low (DOS) memory for the driver itself, then hooking the INT 13h (disk driver) and INT 15h (memory query) BIOS interrupts. " Which is about the same as what the CD does, only instead of coming from a real floppy or an image on a CD, it comes from somewhere else, like a tftp server or I think a file system (disk or network.. doesn't really matter) Up till now I have written about stuff I have experience with and can say it works. this next part I have only read about, and would love to hear that someone had one it: "For any other size, the image is assumed to be a hard disk image, and should typically have an MBR and a partition table. " I have heard talk about "I have 700mb free ram, why not make a CD sized ram disk? No clue where that idea went. > > [snip] > >> So in theory, one can network boot and back up via network >> their Linux system. > > Have you tried the eitherboot project. They have demonstrated booting > almost every Microsoft OS via the network. I've even witnessed a > netbook being booted via WPA encrypted wifi. It may be able to make > the system think it is acessing a local hard drive, but it is actually > a network block device. > >> Sadly, the freedos project is stalled >> and there seems to be no effort to produce open source high >> quality network card drivers. > > Dos never had a standard TCP/IP stack. You had to use 3rd party > software to get TCP/IP before windows 95. > >> In some ways I wonder if a network booted console only Linux >> system would be more useful. I would like to know what to >> replace the init scripts with as leaving them the same when >> you are network booting doesn't make sense. The typical >> scripts assume that there is a hard disk. > > Fortunately the unix model is to have mount points, so what specific > filesystem, or block device doesn't matter once it is mounted. The > tricky part as I remember it is getting it to mount the root > filesystem. /etc/fstab will need to have the network filesystem, or > block device in it, and you might need to have pivot root someplace in > the init to switch to the network filesytem once it is mounted. > >> Does anyone know of a really fancy way to pick from multiple >> network boot images at network boot time? > > I believe it is part of the PXE standard to be able to select what > image to boot. The config is a bit trickier. yes, I do this. you have 2 choices: 1. boot: prompt where you enter the lable you want to boot (like type words = yuck.) 2. menu of boot options - arrow to your choice and hit enter. I took notes and posted them on a wiki, but they have degraded as others added and subtracted till the point of the page changed and was renamed. I tried to add back in what was missing, but haven't really done it well. https://help.ubuntu.com/community/Installation/LocalNet look for: label menu # makes a menu out of this file, allows editing the options on the client kernel menu.c32 -- Carl K _______________________________________________ PLUG mailing list [email protected] http://lists.pdxlinux.org/mailman/listinfo/plug
