GRUB is the bootloader of the GNU system, and it's currently the only one that supports the multiboot standard, necessary to boot the Hurd. * `update-grub` is *Debian specific* and very useful. It will automatically create a `/boot/grub/grub.cfg` file for the kernels in `/boot/` and for OSes that it finds on various partitions, including GNU/Hurd. * Make sure that GRUB 2's version is at least 20091130 and GNU Mach's version is at least 20091020. * Sample file: menuentry "GNU/Linux" { insmod ext2 set root=(hd0,12) linux /boot/vmlinuz-2.6.32 root=/dev/hda12 ro initrd /boot/initrd.img-2.6.32 } menuentry "GNU" { insmod ext2 set root=(hd0,16) multiboot /boot/gnumach.gz root=device:hd0s16 module /hurd/ext2fs.static ext2fs --readonly \ --multiboot-command-line='${kernel-command-line}' \ --host-priv-port='${host-port}' \ --device-master-port='${device-port}' \ --exec-server-task='${exec-task}' -T typed '${root}' \ '$(task-create)' '$(task-resume)' module /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)' } # syslinux' `mboot.c32` ## IRC, freenode, #hurd, 2014-02-08 hey I am runnign debian GNU/hurd , si sthe best release? I would like to write a guide on multibooting, GNU/linux, NetBSD, and GNU/Hurd from the same live OS image I can basically handle all of the linux stuff, but native booting NetBSD and , i am guessing Hurd, are going to be pretty hard i want to focus on using syslinux's mboot.c32 module, though i have no ttested, i think it will boot hurd just fine as hurd is so firmly connected to multiboot specfication.. soem background history is that apparently there is something wrong with FreeBSD multibooting So it has spawned a huge amount of public testing regarding dual booting iso9660 with GNU/linux and FreeBSD come to find out NetBSD is actually the main group supporting multiboot compliancy bleh anyway, if you guys can help me will all of this, that would be great. but either way, i wanted to gicve a long winded thanks the main problem i am having is tell given kernel, that i need it to load a ram based file system with linux this is easy, just because i have used it so much. i nkow how to attach a fileystem to the kernel, and embed a boot command line anonymuouss: for the hurd case, you can have a look at the debian installer cd, it uses some sort of initrd lol xorg works.. i was not expecting that! youpi: thanks yeah looking at the live distributions has been a mainstay , youpi: right, becasue debian will usually make their install have an option to totally run in ram they may have already fighured this out I am impressed as hell with hurd kernel well, "they" is the same as "hurd maintainers", mostly :) going to work picking around at this multiboot code a bit later, looks the GNU doc on that is meant to be very educational ok nice, so i verfied that hurd kernel is multiboot compliant, and successfully loads with syslinux's mboot.c32 ## IRC, freenode, #hurd, 2014-02-09 I need to boot Hurd into ram off of iso9660 or vfat , or ext using syslinux' mboot.c32 multiboot module. One of my reasons for shoosing hurd kernel was multiboot compliancy to test this feature. So i have aunique use case, of needing to load the hurd kernel an root filesystem into memory. as using the root of the disk, is likeley unsuitable. as with any live OS. I have acquired the components of the debian install release. http://ftp.debian-po what arguments can i pass to my multiboot "kernel" "mboot.c32", in order to get this to boot to a simple example system ( full functionality is not required) Additionally i am willing to try putting hurd on the root filsystem, but i would still like to boot it "natively" with the mboot.c32 from syslinux. partially just to help expand documentation on thier project so i could use ext2 for the base i guess, if that would help anonymuo1ss: install debian hurd and look at the grub configuration you'll have the command line arguments there use the preinstalled image in the topic to quickly boot one in a virtual machine that line is so long i am not sure it even will load with systelinux syslinux* took me years to learn to boot linux to ram, no one helped this is apparently is going to be more difficult, if i dont get your guys help, i might be able to "install hurd" but i certainly wont be able to use it or write about how to use it don't get it wrong but we're not very interested in making it boot with syslinux and multiboot code documentation is dwindling.. basically no one gies a shit, not about syslinux, not about hurd, except for me. i have read the same paragraphs from mailing lists 100s of times it works with grub, it complies with the mb spec well look at how heavily it is depending on grub, i cant reaally even pretend to understand how that works and it is kind of obvious that you can not either no it's not i do anyway , if you dont know how to help, it is ok i have implemented my own boot loader long ago and i have read about the boot scripts of gnu mach i know that part and i can help i will just keep on doing all of this work on my own for fre, with no bebefit and no help i won't fix the mboot code of syslinux for you though well maybe sysylinux is the problem it is sort of a toss up trying to decide who cares less abotu this, hurd or syslinux noone cares pretty even tie, for not giving a flying shit either way obvious thumb down on the little guy from both gnu and peter alvin i don't see syslinux as being something that was intended to support anything else than linux in the first place well that is where you are wrong no i'm not :) obviously anything that has multiboot modules supports other OS lol idiot if written right and well maintained and mboot support came very late in syslinux seriosuly if you are brains behind this, i see why there are no docs uh, you're the noob here, you're whining, and now you're insulting no im no noob im writing free guides to help people, and they are damn concise if you weren't, you would understand how to adapt grub conf to syslinux quickly i have people making whole linux systems and frebsd is the length of that damn grub line despite the "long line"s as you call them lol the number of parameters is very short like 2 per module just copy them verbatim, what's hard with that ? anonymuouss: a followup remark regarding syslinux: does it really have full multiboot support, including additional modules? or maybe it only implements as much of the specification as necessary to load only the kernel itself? antrik: I wrote the syslinux mailing list this morning, with details about some simple ways to download "ext2fs.static gnumach.gz initrd.gz and ld.so.1" from http://ftp.ports.debian.org/debian-ports-cd/hurd-i386/current/ and package them to boot with the syslinux "mboot.c32" from iso9660. And showed them the proper kernel and module configuration lines from the netinstall's "grub.cfg". So I am hoping to get a reponse soon from Peter Alvin or G ## IRC, freenode, #hurd, 2014-02-10 I am readin here in multiboot specifications, http://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Boot-modules , that it is optional for designers of bootloaders to include this ability to load modules. So I am guessing the syslinux devs made ample use of that allowance. as you were suggesting. I will try to take the code apart and read it some. But it is looking like maybe grub is the more stabke choice for multibooting. probably even a bit of magic with packaging hurd would make it possible. but only 1 out of 10,000 people even know how to properly do that with linux kernel main, so will take some time i guess jus to quote, because the multiboot spec is written by someone smarter than me " While these additional modules could be embedded in the main OS image along with the kernel itself, and the resulting image be split apart manually by the operating system when it receives control" I am guessing they are referring to some remote potential for Hurd kernel to compiled that way, though i am merely speculating So i am hunting down docs on doing this with Hurd. Who knows maybe somethign fun and interesting will come of it anonymuouss: IIRC Hurd in Xen used one-file archieves initially before pv-grub was operational. but the "ordinary" way to load the Hurd is using modules, which I suspect is not implemented by syslinux... I don't think there is another system beside the Hurd using the modules feature of multiboot. in fact, GRUB and the multiboot specification were originally written for the Hurd... I am hopeful about including the files (into the kernel) for simplicities sake, as an experiemnet. And and in the meantime, continiung to learn about grub's model for accomplishing this. Everythign is going fine on my ned, I am working with a simple qemu install of debian GNU/hurd. Hopefully will be compiling some kernels later tonight. thought i may need to switch to reral hard ware for that thank you for the input antrik , I have not heard back from syslinux devs yet, my guess is that they are thinking hard abotu how to solve this, and dont want to "jump the gun"