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.debian-ports.org/debian-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"