On Fri, 28 Aug 2009, [email protected] 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 [email protected] - personal. [email protected] - business -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

