[Soc-coordination] kFreeBSD progress report week 8

Luca Favatella slackydeb at gmail.com
Mon Jul 20 00:03:16 UTC 2009

In the past two weeks I focused on getting network configuration
working in debian-installer (d-i), without success.
I skipped the keyboard layout selection, because not a top priority,
and I didn't reach udeb download (and installation).

I focused on network configuration in d-i, mostly done by netcfg [din0].
I disabled unuseful udebs, to semplify debugging; in particular, I
disabled the ethdetect one [din1], concentrating on those cards whose
driver is automatically detected and loaded by the kernel (e.g.
NE2000, as QEMU's one).
I made a little portability fix in netcfg [din2] about a Linux
specific PCMCIA file.
While debugging netcfg, I discovered that "/var/log/syslog" is not
created, even manually executing syslogd. Currently, in d-i, BusyBox
syslogd is used.
Even without syslogd working, I managed to go forward in netcfg debug
manually running "dhclient ed0" [din3] (thanks to Julián Moreno
Patiño): the "ip" command is not found, because the dhclient-script
used in the dhcp3-client udeb is Linux specific; on the deb package,
there is a different script for GNU/kFreeBSD and GNU/Linux, but the
GNU/kFreeBSD version needs "ifconfig" and "route". I considered
porting and switching to BusyBox udhcpc.

I also worked on

* BusyBox
 + realizing there is a FreeBSD port [bb0]
 + asking upstream [bb1] for partially reverting a commit, proposing a
patch rejected [bb2] because
  - breaking GNU/Linux build
  - against BusyBox policy about "#define"s, as I discovered later [bb3]
 + moving to [bb4] some patches:
  - those from the previous efforts on version 1.01 [bb6], merging them in [bb5]
  - those from FreeBSD [bb0], against version 1.13, almost useless; in
   @ init is disabled
   @ syslogd is enabled but not patched (so not working, I think)
  - those I wrote in previous weeks [bb7] (against version 1.13),
reviewing and cleaning most of them; these [bb5] are the recommended
patches to use
 + looking for Linux-specific code in syslogd (and logger), without success

* enabling auxiliary consoles (alt-fX) in d-i [dic0] (read the commit log)

* merging some patches to d-i trunk
 + committing already proposed patches
  - add cons25 terminfo file [dip0]
  - more fine-grained wireless building and linking in netcfg [dip1]
 + proposing and committing new patches
  - substitute Linux-specific code in get_all_ifs() using getifaddrs() [dip2]
  - poll() portability issue [dip3]
  - add ufs2 initrd support [dip4]; mkfs.ufs2 needs root rights,
perhaps NetBSD makefs (or its FreeBSD [dip4_0] or MirBSD version)
could be useful to run it as a normal user
  - fix in the kfreebsd-i386 kernel udeb ABI and a dependency version [dip5]
  - add kfreebsd-i386 monolithic config files [dip6]
 + proposing new patches (without committing them yet)
  - generalize rootskel splitting Linux specific stuff [dip7]
(unblocked by [dip7_0])

To quickly test all this
* download the mini.iso cd at [test0], built from current d-i kfreebsd
branch [test1]
* boot it in your favourite virtual machine
 + if it is qemu, "qemu -boot d -cdrom mini.iso" will suffice

In the next two weeks I should (still)
* get network configuration working
* get udeb download and installation working

For that I should work on
* BusyBox
 + udhcpc
 + syslogd
 + understanding if [todo0] fixes some known problems or is unuseful
* netcfg
 + network interface detected twice
 + filtering lo0
* rootskel
 + clean [dic0] for merging to d-i trunk

Luca Favatella

[din0] http://packages.debian.org/sid/netcfg
[din1] http://packages.debian.org/sid/ethdetect
[din2] http://svn.debian.org/viewsvn/d-i?view=rev&revision=59287
[din3] http://svn.debian.org/viewsvn/d-i/trunk/packages/netcfg/dhcp.c?revision=58009&view=markup

[bb0] http://www.freebsd.org/cgi/ports.cgi?query=busybox&stype=all
[bb1] http://lists.busybox.net/pipermail/busybox/2009-July/069902.html
[bb2] http://lists.busybox.net/pipermail/busybox/2009-July/069914.html
[bb3] http://lists.busybox.net/pipermail/busybox/2009-July/069938.html
[bb4] http://svn.debian.org/viewsvn/d-i/people/slackydeb/kfreebsd/busybox/
[bb5] http://svn.debian.org/viewsvn/d-i/people/slackydeb/kfreebsd/busybox/1.13/debian/
[bb6] http://glibc-bsd.alioth.debian.org/patches/
[bb7] http://slackydeb.blogspot.com/2009/05/busybox-status-on-gnukfreebsd.html

[dic0] http://svn.debian.org/viewsvn/d-i/branches/d-i/kfreebsd/packages/rootskel/src/etc/inittab?revision=59364&view=markup

[dip0] http://lists.debian.org/debian-boot/2009/07/msg00051.html
[dip1] http://lists.debian.org/debian-boot/2009/07/msg00052.html
[dip2] http://lists.debian.org/debian-boot/2009/07/msg00142.html
[dip3] http://lists.debian.org/debian-boot/2009/07/msg00149.html
[dip4] http://lists.debian.org/debian-boot/2009/07/msg00150.html
[dip4_0] http://svn.freebsd.org/viewvc/base/head/usr.sbin/makefs/
[dip5] http://lists.debian.org/debian-boot/2009/07/msg00365.html
[dip6] http://lists.debian.org/debian-boot/2009/07/msg00345.html
[dip7] http://lists.debian.org/debian-boot/2009/07/msg00343.html
[dip7_0] http://svn.debian.org/viewsvn/d-i?view=rev&revision=59350

[test0] http://slackydeb.altervista.org/files/debian_gnu_kfreebsd/gsoc2009_kfreebsd_progress_report_week_8/mini.iso
[test1] http://svn.debian.org/viewsvn/d-i/branches/d-i/kfreebsd/

[todo0] http://svn.debian.org/viewsvn/d-i/people/slackydeb/kfreebsd/busybox/1.13/debian/include.libbb.diff?revision=59322&view=markup

More information about the Soc-coordination mailing list