[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hurd CDs



On Fri, 28 Aug 2009, olafBuddenhagen@gmx.net wrote:
> Hi,
*************
> That would be very nice indeed. I'm curious to hear more about your
> plan
>
> :-)
> :
> > This time I am keeping a development log.  Meaning that people will
> > be able to follow and improve on what I am doing.
>
> Yes, this will be very helpful :-)
>
> -antrik-

Here is the development log

***************
   *** Hurd Installer Project ***


=== Modifying Hurd boot-floppies.

Work with Hurd-L-2.4bf.bin

mount -o loop Hurd-L-2.4bf.bin /mnt
a vfat filesystem

linux.bin is the kernel.
config.gz is the kernel configuration file, use this 
when building a new kernel.  
Do _NOT_ include CONFIG_DEVFS
Copy the new kernel to
linux.bin: syslinux is probably the best way to make the
kernel bootable.
See http://www.debian.org/releases/3.0/i386/ch-boot-floppy-
techinfo.en.html

root.bin is the ramdisk.  Copy this out, change its name
to root.gz and uncompress it.
"mount -o loop root /opt"
an ext2 filesystem
then edit/replace as necessary.
gzip file system, rename to root.bin, and copy back to Hurd-L-2.4bf.bin

"-o hurd" has been changed to "-b 4096 -o hurd" in dbootstrap, a direct 
hack of
machine code.

There are a large number of hard links in the filesystem.
busybox has a file length of 163448 and there are 77 links to it.
ls -l, the second column from the left.


=== Modifying Debian Installer initrd

To open up modern initrd.gz, e.g. Lenny.
gzunzip initrd.gz then "cpio -imdF initrd" will unpack the filesystem.

To pack the initrd
initrd is not to be built in the same directory as the originating fs.
"find . |cpio -ov -H newc -C 1024 >../initrd"
The options are important "-H newc"  is the format.  "-C 1024" is the 
block size.
These are _NOT_ the defaults in Debian, but may be so in other distros.
See http://www.ibm.com/developerworks/linux/library/l-initrd.html
for background to initrd's.
The Lenny initrd uses symlinks to busybox.

A build system for test CDs created.  Includes the vmlinuz and initrd 
only.
Unpacked and repacked initrd.gz works.  Working additions to the initrd fs 
can be made, the size upper limit for initrd is still to be determined.

Trying to get dbootstrap from Hurd-L-2.4bf.bin (the dbootstrap from K16) 
to run in the Lenny initrd.  Trial and error many incompatibilities.


== The way forward.

Do a machine code hack of dbootstrap so initrd.gz can be used to unpack 
the baseGNU.gz onto a prepared HDD. This would be the start of M series of 
Hurd installation discs.
IIRC, modern Linux gzip can gzip and ungzip Hurd partitions.  If this is 
correct then we can do away with native-install.

Rewrite dbootstrap as as shell script.
1. This would make modifications easier and safer.
2. Dbootstrap could then be ported to GNU/HURD.

Create a disc that boots into Hurd and loads a Hurd initrd.

At this stage consult with the Debian Installer Team.

***********************

I hope that the above is useful.

Phil.

-- 
  Philip Charles; 39a Paterson Street, Abbotsford, Dunedin, New Zealand
   +64 3 488 2818        Fax +64 3 488 2875        Mobile 027 663 4453
   philipc@copyleft.co.nz - personal.    info@copyleft.co.nz - business


Reply to: