Well, realizing that I would need to make a local mirror of Debian (to be 
edited by debian-cd, what a strange idea!) to build

my own iso... I came to think how I expect Hurd (Debian Hurd I suppose) to 
boot. How would I do it?



The way most people expect to try an OS today, is by writing it (the iso 
file...)on an USB key, then boot it.

But if you try that with current Hurd, you will realize that the installer will 
not find the files...

Because Debian Hurd have no support for USB yet. So it cannot read the files.



That's a bit weird for people, because it did read the files from the USB key 
up to the installer searching packages...

Why would it not find them? Mostly because the boot loader (Grub) have loaded 
the minimal files to boot in memory,

given control to Debian Hurd, which then try to access the DVD (or CD), be it a 
real one or a virtual one...

but not the USB key, because for Debian Hurd... these things does not exist.



Grub have been mostly made for booting microkernels like Hurd.

And it supports a lot of filesystems, like EXT4... which Debian Hurd does not 
support.



So the idea that I would (was in fact) expecting Debian Hurd to boot is a bit 
like this:



Raher than use an iso (el-torito: meaning bootable) image made for CD and DVD, 
just make an hard disk image, 

with an MBR partition (because we want to have it boot on a bit old 
computers... up to UEFI computers with compatibiliry

for MBR (some newer won't boot because they expect UEFI images... but we will 
cope with that when complaints will arrive).

On it, have an EXT4 partition with: the mach kernel, the server files, the 
installer EXT2 filesystem in installer.ext2 file, etc.



HURD is multiboot compliant, and GRUB is a multiboot boot loader, that is it 
can read the different modules (Hurd servers)

in memory, then let one of the module do the start.



I think we can have a not so small installer.ext2 file that would be loaded in 
memory by Grub, working around the lack of USB drivers.



At first I was thinking to put an other read-write partition for the main 
system on the rest of the USB key... but we cannot because we

don't have USB drivers yet.



So clearly, for now, this system must ... basically be the installer.



Building the installer ext2 filesystem seems complex... I don't understand why.



What I would expect is to create a new file for the filesystem, mount it, tell 
the package manager to install packages

on the newly mounted filesystem, have a file with the list of packages to be 
installed, and tell the package manager

to install each file in it on the mounted filesystem, then unmount it. Lastly 
tell the package manager to reuse the old

root.



Can it be done like this?



Also, currently, Debian Hurd boot an ext2 filesystem, that breaks everytime the 
system is not cleanly shut down. I guess the installler could do the trick of 
having a small read-only ext2 filesystem when booting the hard disk, that would 
test if the bigger read-write partition was correctly unmounted, fsck -y it 
automatically if not,

then swith to it. Frankly... that is not that much different than now, but 
would be more automatic, and not return to Grub after fsck step.

Reply via email to