[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] ## Hurd Debian-Installer My [proposal](http://wiki.debian.org/SummerOfCode2010/HurdDebianInstaller/JeremieKoenig) to work on porting d-i on Hurd as a [Google Summer of Code](http://code.google.com/soc/) student has been accepted by the Debian project. I will be keeping track of my progress on this page. ### Latest news * current status: [busybox](http://lists.debian.org/debian-bsd/2010/05/msg00048.html), [genext2fs](http://bugs.debian.org/562999), [libdebian-installer](http://bugs.debian.org/584538) and [gnumach initrd](http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00047.html) have been worked on; * [modified packages](http://jk.fr.eu.org/debian/unstable) and [images](http://jk.fr.eu.org/debian/hurd-installer) published. ### Roadmap * busybox: fix `mkdir -p` on Hurd * Apparently this is a bug in glibc with `mkdir("/")`, related to `file_name_split()` and `directory_name_split()`. * I'm using a workaround in busybox in the meantime. * see what breaks in the installer and fix the problems one by one * busybox: submit upstream and to #323670, fix stty/stat/ipcs on kFreeBSD, generally port more stuff, notably (u)mount/swaponoff. * I have mentioned my work on the upstream mailing list, * however some changes have been introduced in the build system meanwhile, which would complicate backporting the changes back and forth, * so I will be requesting the changes to be merged when I'm (mostly) done with mount/swap/... *Milestone (expected 2010-06-21): installer kindof works, with documented manual intervention required* * tweak the hurd debian package to handle what native-install used to be required for [apparently there's already some relevant stuff done in the postinst, it might just work though maybe something is missing, or some special code would be needed in the installer to enable say, /servers/socket/local before anything is attempted in the chroot] * netcfg: make it work on Hurd somehow (port `busybox ip`?) * Hurd-specific partitionning (use supported fs types and options). NB: we will need support in mach to reload the partition tables, or alternatively use the parted support in libstore somehow. * grub2 installation *Milestone (expected 2010-07-05): installer works but it's still somewhat ugly and broken* * call for testing and fix the bugs * improve the [initrd situation](FIXME: link to bug-hurd post): ajust the ramdisk support in Mach, use tmpfs if possible, possibly add `module -nounzip` to grub2. * mklibs{,-copy}: test library reduction, make it copy the ld.so -> ld.so.1 symlink. * hurd console fonts * better DHCP support during and after installation *Milestone (expected 2010-07-19): it works great and it's beautiful* * test, fix, document * support more types of installation images * give a shot at the graphical installer if time permits * see how [[zhengda]]'s work on DDE could be integrated * etc.. ### Mostly done #### Week 1 (2010-05-24) * genext2fs: patches [submitted](http://bugs.debian.org/562999) which add support for all block sizes and choosing them at runtime. * busybox: started porting the upstream and Debian package to Hurd and FreeBSD * rebuilding hurd-udeb from the pkg-hurd version and adding a ld.so link to the initrd fixes the exec translator crashing on startup. (BTW would there be a mean to detect this from the libdiskfs bootstrap code and report it ?) #### Week 2 (2010-05-31 to 2010-06-06) * *busybox*: patches [posted](http://lists.debian.org/debian-bsd/2010/05/msg00048.html). * *libdebian-installer4*: [ditto](http://bugs.debian.org/584538) * started working on mach initrd support * the installation images could boot into the main-menu with the following changes: * rebuild hurd-udeb from with the latest pkg-hurd patches * use busybox from my osports-debian branch (see link above) * tweak the d-i image build scripts * the symlink /lib/ld.so -> ld.so.1 needs to be created somehow (youpi mentionned it being the job of libc0.3-udeb I think) * fix the poll() issue in libdebian-installer (patch to be submitted soon), also there is some hurd doxygen short-circuiting stuff there which does not apply any more and prevents is to build. * feed the initrd as a hard drive in qemu (with some more space added to avoid it from becoming full)