From cbeb1276e41a1d022ea79d5b0d23bb7ece3645e2 Mon Sep 17 00:00:00 2001 From: Jeremie Koenig Date: Mon, 7 Jun 2010 11:19:10 +0200 Subject: hurd d-i: roadmap update --- user/jkoenig.mdwn | 77 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 24 deletions(-) diff --git a/user/jkoenig.mdwn b/user/jkoenig.mdwn index 14e40bf6..b7dd5ce6 100644 --- a/user/jkoenig.mdwn +++ b/user/jkoenig.mdwn @@ -19,38 +19,48 @@ I will be keeping track of my progress on this page. ### Latest news - * *busybox*: - patches [posted](http://lists.debian.org/debian-bsd/2010/05/msg00048.html). - I need to test them on kFreeBSD, - then submit them upstream and to #323670. - * installation images boot 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. - * initrd support coming soon (BTW gnumach does not like gcc-4.4), - for the time being it needs to be fed to qemu as a hard drive - (with some more space added to avoid it from becoming full) + * 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); + * [modified packages](http://jk.fr.eu.org/debian/unstable) and + [images](http://jk.fr.eu.org/debian/hurd-installer) published; + * mach initrd support underway: + I get the ramdisk with `$(ramdisk-create)` in the boot script, + `getstat()` and `read()` should be ok I believe, + but for some reason `ext2fs copy:device:rd0` complains that + it cannot get the "hypermetadata". + Also to be noted: + grub2 has a 16MiB limit on the size of multiboot modules, + and does not have a `modulenounzip` command anymore, + I guess the former would be ok for the forseeable future, + but I will need to fix the latter. ### Roadmap -#### Week 2 (2010-05-31 to 2010-06-06) +#### Week 3 (2010-06-07..13) +* busybox: submit upstream and to #323670, + fix stty/stat/ipcs on kFreeBSD, + generally port more stuff, + notably (u)mount/swaponoff. +* mach ramdisks: implement more device ops, + fix the remaining problems +* grub2: modulenounzip or something +* libc0.3-udeb: investigate it not having `/lib/ld.so -> ld.so.1` +* netcfg: make it work on Hurd somehow (port `busybox ip`?) * see what breaks in the installer and fix the problems one by one (install-time netcfg, cdrom detection, whatever) -* start working on mach initrd support - -#### Week 3 (2010-06-07..13) - -* try to get the busybox changes merged upstream - and integrated into the debian package * 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] +* roadmap: redistribute all that stuff in the following weeks + (or maybe, reorganize the roadmap around milestones instead of weeks, + with expected completion dates, as suggested by antrik) #### Week 4 (2010-06-14..20) @@ -97,3 +107,22 @@ Hopefully the summer would not be over yet... (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) + -- cgit v1.2.3 From dcedf676bfffe06e828b9e3a3c90ae759102c864 Mon Sep 17 00:00:00 2001 From: zhengda Date: Wed, 9 Jun 2010 03:26:48 +0000 Subject: --- user/zhengda.mdwn | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/user/zhengda.mdwn b/user/zhengda.mdwn index 39af5699..a3dfbbbb 100644 --- a/user/zhengda.mdwn +++ b/user/zhengda.mdwn @@ -12,21 +12,24 @@ porting DDE developed by DROPS to the Hurd, and it will still run in the user sp ##Introduction The introduction of DDE/DDEKit can be found in [here](http://wiki.tudos.org/DDE/DDEKit) and more information can be found [here](http://os.inf.tu-dresden.de/pipermail/l4-hackers/2009/004291.html). DDE/DDEKit is a library, and it should be compiled with the code of Linux or FreeBSD drivers. DDE Linux26 is still under development and it can now support network and block devices (but doesn't support SCSI). +##The current status +Currently a few NIC cards work now. I tested pcnet32, e100, e1000, ne2k-pci and rtl8139 in VMWare and Qemu. But the DDE e100 driver cannot work for some e100 cards as currently DDE doesn't support firmware. Someone also reported sis900 cannot work, unfortunately, I cannot test it myself. I appreciate if someone can try some other NIC drivers and give me some feedbback. Please run DDE with GNUMach in the [master-user_level_drivers](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/) branch. + ## My work I separate DDE Linux26 to 2 parts: libddekit and libdde_linux26. I also provide a library called libmachdev on the top of the Linux code to provide the Mach device interface, so it is easy for the user to compile a Linux driver and run it in the Hurd. The latest code can be found in the dde branch of the incubator repository. -The current status: the pcnet32 driver can work very well in DDE Linux26 now. I hope someone can try other NIC drivers. Please run DDE with GNUMach in the [master-user_level_drivers](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/) branch. - There is a minor problem when we compile a Linux driver. Linux drivers use jiffies to measure time. Unfortunately, Mach doesn't provide it, so whenever we need it, we need to calculate it by ourselves. I decide to provide a macro to calculate it for the sake of performance and the cost is that the source code of Linux drivers has to include ddekit/timer.h. ## Build and run DDE drivers -It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers while building GNU Mach. DDE requires the pfinet with the modification during my GSoC project in 2008 and that pfinet requires libpcap-dev. To build DDE, we have to first install libpciaccess. libdde_linux26 has to be compiled manually (building dde_pcnet32 doesn't compile libdde_linux26 automatically). +To build a Linux driver with DDE Linux, we need libddekit, libdde_linux26 and libmachdev. libddekit and libmachdev use the same Makefile system as other Hurd components but libdde_linux26 does not, so we have to build libdde_linux26 in its source file directory. DDE drivers use the same makefile system as libdde_linux26 and thus we need to build them in their source file directories as well. The repository has all DDE drivers I have tested, but in case you want to try other drivers, the easiest way is to use dde_pcnet32 as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. -To build a Linux driver with DDE Linux, the easiest way is to use dde_pcnet32 (also in the dde branch) as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. +When all parts are ready, we can start to build DDE drivers now. In case someone hasn't installed libpciaccess, please install it first. We first build libddekit, then libdde_linux26, then libmachdev and at last the DDE driver. To run a DDE NIC driver: +It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers in gnumach. DDE requires the pfinet with modification during my GSoC project in 2008 and that pfinet requires libpcap-dev (this pfinet is also in the dde branch). + settrans -acfg pcnet32 hurd/dde_pcnet32/dde_pcnet32 settrans -acfg /dev/eth0 hurd/devnode/devnode eth0 -M pcnet32 settrans -acfg /servers/socket/2 hurd/pfinet/pfinet -i /dev/eth0 -a 172.16.172.10 -g 172.16.172.2 -m 255.255.255.0 -- cgit v1.2.3 From 382f2d69ab0ffe8b88e435be3f6689d0383dcea6 Mon Sep 17 00:00:00 2001 From: zhengda Date: Wed, 9 Jun 2010 03:29:32 +0000 Subject: --- user/zhengda.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/zhengda.mdwn b/user/zhengda.mdwn index a3dfbbbb..b4b514e9 100644 --- a/user/zhengda.mdwn +++ b/user/zhengda.mdwn @@ -26,12 +26,12 @@ To build a Linux driver with DDE Linux, we need libddekit, libdde_linux26 and li When all parts are ready, we can start to build DDE drivers now. In case someone hasn't installed libpciaccess, please install it first. We first build libddekit, then libdde_linux26, then libmachdev and at last the DDE driver. -To run a DDE NIC driver: - -It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers in gnumach. DDE requires the pfinet with modification during my GSoC project in 2008 and that pfinet requires libpcap-dev (this pfinet is also in the dde branch). +To run a DDE NIC driver: It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers in gnumach. DDE requires the pfinet with modification during my GSoC project in 2008 and that pfinet requires libpcap-dev (this pfinet is also in the dde branch). settrans -acfg pcnet32 hurd/dde_pcnet32/dde_pcnet32 + settrans -acfg /dev/eth0 hurd/devnode/devnode eth0 -M pcnet32 + settrans -acfg /servers/socket/2 hurd/pfinet/pfinet -i /dev/eth0 -a 172.16.172.10 -g 172.16.172.2 -m 255.255.255.0 --- -- cgit v1.2.3 From 0dcc1fccc8c1eb0ce4afe031ad870875ce56e7ea Mon Sep 17 00:00:00 2001 From: zhengda Date: Wed, 9 Jun 2010 06:38:53 +0000 Subject: --- user/zhengda.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/user/zhengda.mdwn b/user/zhengda.mdwn index b4b514e9..0c3b26bb 100644 --- a/user/zhengda.mdwn +++ b/user/zhengda.mdwn @@ -22,9 +22,11 @@ There is a minor problem when we compile a Linux driver. Linux drivers use jiffi ## Build and run DDE drivers -To build a Linux driver with DDE Linux, we need libddekit, libdde_linux26 and libmachdev. libddekit and libmachdev use the same Makefile system as other Hurd components but libdde_linux26 does not, so we have to build libdde_linux26 in its source file directory. DDE drivers use the same makefile system as libdde_linux26 and thus we need to build them in their source file directories as well. The repository has all DDE drivers I have tested, but in case you want to try other drivers, the easiest way is to use dde_pcnet32 as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. +To build a Linux driver with DDE Linux, we need libddekit, libdde_linux26, libmachdev and libhurd-slab. libddekit and libmachdev use the same Makefile system as other Hurd components but libdde_linux26 does not, so we have to build libdde_linux26 in its source file directory. DDE drivers use the same makefile system as libdde_linux26 and thus we need to build them in their source file directories as well. -When all parts are ready, we can start to build DDE drivers now. In case someone hasn't installed libpciaccess, please install it first. We first build libddekit, then libdde_linux26, then libmachdev and at last the DDE driver. +The repository has all DDE drivers I have tested, but in case you want to try other drivers, the easiest way is to use dde_pcnet32 as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. + +When all parts are ready, we can start to build DDE drivers now. In case someone hasn't installed libpciaccess, please install it first. We first build libddekit, libdde-slab, then libdde_linux26, then libmachdev and at last the DDE driver. It's better to install libddekit, libdde-slab and libmachdev to the system, so libdde_linux26 and the DDE driver find the library files and header files. To run a DDE NIC driver: It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers in gnumach. DDE requires the pfinet with modification during my GSoC project in 2008 and that pfinet requires libpcap-dev (this pfinet is also in the dde branch). -- cgit v1.2.3 From 1208970f77d6f2886e8f6bb14a6445ee74da804a Mon Sep 17 00:00:00 2001 From: jd823592 Date: Wed, 9 Jun 2010 12:37:50 +0000 Subject: --- hurd/status.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hurd/status.mdwn b/hurd/status.mdwn index 32789619..e1741adc 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -106,3 +106,9 @@ possibility that they would want to try the Hurd again in the future. > > [But] unlike a few years back [...] the system is stable enough under > load nowadays [...]. + +## DDE network card drivers + +### Jakub Daniel + +[[guide|running/dde_guide]] -- cgit v1.2.3 From f15322bd747da6983e31b5de9fcf5b49cfb2ae49 Mon Sep 17 00:00:00 2001 From: jd823592 Date: Wed, 9 Jun 2010 12:47:01 +0000 Subject: --- hurd/status.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hurd/status.mdwn b/hurd/status.mdwn index e1741adc..e8282091 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -109,6 +109,6 @@ possibility that they would want to try the Hurd again in the future. ## DDE network card drivers -### Jakub Daniel +### Jakub Daniel, 2010-06-09 [[guide|running/dde_guide]] -- cgit v1.2.3 From eb02cdb3f877d0bb5778d8713319e8afa15dc7d0 Mon Sep 17 00:00:00 2001 From: jd823592 Date: Wed, 9 Jun 2010 12:53:55 +0000 Subject: --- hurd/running/dde_guide.mdwn | 126 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 hurd/running/dde_guide.mdwn diff --git a/hurd/running/dde_guide.mdwn b/hurd/running/dde_guide.mdwn new file mode 100644 index 00000000..ab192606 --- /dev/null +++ b/hurd/running/dde_guide.mdwn @@ -0,0 +1,126 @@ +[[!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]]."]]"""]] + +I am in hurry right now, so just like this. + +install hurd to partition +get grub image +boot hurd in single user (change grub entry accordingly to the installed partition) + +> $ export TERM=mach +> $ ./native-install + +reboot to other debian + +suppose hurd partition is hdd1 + +as root + +> $ mount /dev/hdd1 /mnt -t ext2 +> $ cd /mnt/etc/apt +> $ echo "deb http://ftp.debian-ports.org/debian unreleased main" >> sources.list +> $ echo "deb-src http://ftp.debian-ports.org/debian unreleased main" >> sources.list +> $ echo "deb http://ftp.uk.debian.org/debian unstable main" >> sources.list +> $ echo "deb-src http://ftp.uk.debian.org/debian unstable main" >> sources.list +> $ wget http://www.gnu.org/software/hurd/hurd/running/debian/DebianAptOffline/apt.conf.offline +> $ cd /mnt +> $ apt-get -c etc/apt/apt.conf.offline update +> $ apt-get -c etc/apt/apt.conf.offline upgrade +> $ apt-get -c etc/apt/apt.conf.offline install git-core +> $ apt-get -c etc/apt/apt.conf.offline build-dep hurd gnumach +> $ apt-get -c etc/apt/apt.conf.offline install build-essential libpciaccess-dev libpcap0.8-dev +> $ cd /mnt/home +> $ git clone git://git.sv.gnu.org/hurd/incubator.git -b dde hurd_dde +> $ git clone git://git.sv.gnu.org/hurd/gnumach.git -b master-user_level_drivers gnumach_dde + +suppose you need forcedeth driver + +Download http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.29.y.git;a=blob_plain;f=drivers/net/forcedeth.c;hb=HEAD from mozilla like +browser to /mnt/home as forcedeth.c +Download http://pastebin.com/RJAJT2MR the same way and rename it to 0001-Fix-up-DDE-paths.patch + +reboot back to hurd (multiuser) + +login as root + +> $ passwd + +change your password + +> $ nano /etc/default/hurd-console + +change ENABLE='false' to ENABLE='true', uncomment KBD_REPEAT, MOUSE, MOUSE_REPEAT, SPEAKER + +> $ nano /etc/hostname + +change the hostname for example to hurd + +> $ nano /etc/hosts + +change the 127.0.0.1 line to: 127.0.0.1 hurd localhost + +> $ apt-get update +> $ apt-get upgrade +> $ apt-get install git-core +> $ apt-get build-dep hurd gnumach +> $ apt-get install build-essential libpciaccess-dev libpcap0.8-dev + +> $ cd /home/gnumach_dde +> $ autoreconf -i && ./configure --enable-kdb --enable-device-drivers=none --enable-lpr --enable-floppy --enable-ide +> $ make + +> $ cd ../hurd_dde +> $ git am ../0001-Fix-up-DDE-paths.patch +> $ cp -r dde_pcnet32 dde_forcedeth +> $ cd dde_forcedeth +> $ rm pcnet32.c +> $ cp /home/forcedeth.c ./ +> $ sed -i 's/pcnet32/forcedeth/g' Makefile +> $ sed -i 's/pcnet32/forcedeth/g' .gitignore +> $ sed -i 's:-lhurd-slab:../libhurd-slab/libhurd-slab.a:' Makefile +> $ sed -i 's:-I/include:-I..:' Makefile +> $ nano forcedeth.c + +add these 2 lines after the last #include +#include +void get_random_byter(void *buf, int nbytes) { } + +> $ cd .. +> $ git add dde_forcedeth +> $ git commit -a -m 'Add forcedeth driver' +> $ autoreconf -i && ./configure +> $ mkdir -p hurd/include/ddekit +> $ make libddekit libmachdev devnode pfinet +> $ cd libdde_linux26 +> $ make +> $ cd ../dde_forcedeth +> $ make + +If the make fails it might be necassary to replace some of the -l options (or all) in Makefile with the real path to the library objects (example: change *-lhurd-slab* to *../libhurd-slab/libhurd-slab.a*) + +> $ cp /home/gnumach_dde/gnumach /boot/gnumach_dde +> $ mkdir /hurd/dde +> $ cp /home/hurd_dde/devnode/devnode /hurd/dde +> $ cp /home/hurd_dde/pfinet/pfinet /hurd/dde +> $ cp /home/hurd_dde/dde_forcedeth/dde_forcedeth /hurd/dde/forcedeth + +reboot to hurd with the new gnumach_dde + +> $ settrans -c /dev/forcedeth /hurd/dde/forcedeth +> $ settrans -c /dev/eth0 /hurd/dde/devnode -M /dev/forcedeth eth0 +> $ settrans -c /servers/socket/2 /hurd/dde/pfinet -i /dev/eth0 -a 192.168.1.194 -g 192.168.1.254 -m 255.255.255.0 + +replace the ip, gateway and mask with your own ones + +> $ nano /etc/resolv.conf + +add line: nameserver 192.168.1.254 + +DONE -- cgit v1.2.3 From ad9a35718d8a50555b93cf682b8c57b7e43f60a9 Mon Sep 17 00:00:00 2001 From: jd823592 Date: Wed, 9 Jun 2010 13:00:35 +0000 Subject: forgot new lines --- hurd/running/dde_guide.mdwn | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/hurd/running/dde_guide.mdwn b/hurd/running/dde_guide.mdwn index ab192606..08f82c99 100644 --- a/hurd/running/dde_guide.mdwn +++ b/hurd/running/dde_guide.mdwn @@ -15,6 +15,7 @@ get grub image boot hurd in single user (change grub entry accordingly to the installed partition) > $ export TERM=mach + > $ ./native-install reboot to other debian @@ -24,26 +25,43 @@ suppose hurd partition is hdd1 as root > $ mount /dev/hdd1 /mnt -t ext2 + > $ cd /mnt/etc/apt + > $ echo "deb http://ftp.debian-ports.org/debian unreleased main" >> sources.list + > $ echo "deb-src http://ftp.debian-ports.org/debian unreleased main" >> sources.list + > $ echo "deb http://ftp.uk.debian.org/debian unstable main" >> sources.list + > $ echo "deb-src http://ftp.uk.debian.org/debian unstable main" >> sources.list + > $ wget http://www.gnu.org/software/hurd/hurd/running/debian/DebianAptOffline/apt.conf.offline + > $ cd /mnt + > $ apt-get -c etc/apt/apt.conf.offline update + > $ apt-get -c etc/apt/apt.conf.offline upgrade + > $ apt-get -c etc/apt/apt.conf.offline install git-core + > $ apt-get -c etc/apt/apt.conf.offline build-dep hurd gnumach + > $ apt-get -c etc/apt/apt.conf.offline install build-essential libpciaccess-dev libpcap0.8-dev + > $ cd /mnt/home + > $ git clone git://git.sv.gnu.org/hurd/incubator.git -b dde hurd_dde + > $ git clone git://git.sv.gnu.org/hurd/gnumach.git -b master-user_level_drivers gnumach_dde + suppose you need forcedeth driver Download http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.29.y.git;a=blob_plain;f=drivers/net/forcedeth.c;hb=HEAD from mozilla like browser to /mnt/home as forcedeth.c + Download http://pastebin.com/RJAJT2MR the same way and rename it to 0001-Fix-up-DDE-paths.patch reboot back to hurd (multiuser) @@ -67,56 +85,91 @@ change the hostname for example to hurd change the 127.0.0.1 line to: 127.0.0.1 hurd localhost > $ apt-get update + > $ apt-get upgrade + > $ apt-get install git-core + > $ apt-get build-dep hurd gnumach + > $ apt-get install build-essential libpciaccess-dev libpcap0.8-dev + > $ cd /home/gnumach_dde + > $ autoreconf -i && ./configure --enable-kdb --enable-device-drivers=none --enable-lpr --enable-floppy --enable-ide + > $ make > $ cd ../hurd_dde + > $ git am ../0001-Fix-up-DDE-paths.patch + > $ cp -r dde_pcnet32 dde_forcedeth + > $ cd dde_forcedeth + > $ rm pcnet32.c + > $ cp /home/forcedeth.c ./ + > $ sed -i 's/pcnet32/forcedeth/g' Makefile + > $ sed -i 's/pcnet32/forcedeth/g' .gitignore + > $ sed -i 's:-lhurd-slab:../libhurd-slab/libhurd-slab.a:' Makefile + > $ sed -i 's:-I/include:-I..:' Makefile + > $ nano forcedeth.c add these 2 lines after the last #include + #include + void get_random_byter(void *buf, int nbytes) { } > $ cd .. + > $ git add dde_forcedeth + > $ git commit -a -m 'Add forcedeth driver' + > $ autoreconf -i && ./configure + > $ mkdir -p hurd/include/ddekit + > $ make libddekit libmachdev devnode pfinet + > $ cd libdde_linux26 + > $ make + > $ cd ../dde_forcedeth + > $ make If the make fails it might be necassary to replace some of the -l options (or all) in Makefile with the real path to the library objects (example: change *-lhurd-slab* to *../libhurd-slab/libhurd-slab.a*) > $ cp /home/gnumach_dde/gnumach /boot/gnumach_dde + > $ mkdir /hurd/dde + > $ cp /home/hurd_dde/devnode/devnode /hurd/dde + > $ cp /home/hurd_dde/pfinet/pfinet /hurd/dde + > $ cp /home/hurd_dde/dde_forcedeth/dde_forcedeth /hurd/dde/forcedeth reboot to hurd with the new gnumach_dde > $ settrans -c /dev/forcedeth /hurd/dde/forcedeth + > $ settrans -c /dev/eth0 /hurd/dde/devnode -M /dev/forcedeth eth0 + > $ settrans -c /servers/socket/2 /hurd/dde/pfinet -i /dev/eth0 -a 192.168.1.194 -g 192.168.1.254 -m 255.255.255.0 + replace the ip, gateway and mask with your own ones > $ nano /etc/resolv.conf -- cgit v1.2.3 From 373cbd2c532fbcaad6cde0df8fab29d52b3f952a Mon Sep 17 00:00:00 2001 From: "http://amade.myopenid.com/" Date: Wed, 9 Jun 2010 13:38:15 +0000 Subject: --- hurd/running/dde_guide.mdwn | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hurd/running/dde_guide.mdwn b/hurd/running/dde_guide.mdwn index 08f82c99..03a09703 100644 --- a/hurd/running/dde_guide.mdwn +++ b/hurd/running/dde_guide.mdwn @@ -125,9 +125,8 @@ change the 127.0.0.1 line to: 127.0.0.1 hurd localhost add these 2 lines after the last #include -#include - -void get_random_byter(void *buf, int nbytes) { } + #include + void get_random_byter(void *buf, int nbytes) { } > $ cd .. -- cgit v1.2.3 From 50241ad8596afd3d7ce88d526cb8e0f30960263c Mon Sep 17 00:00:00 2001 From: "http://amade.myopenid.com/" Date: Wed, 9 Jun 2010 14:10:32 +0000 Subject: Fix typo & ampersands --- hurd/running/distrib.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index 229e2d8f..92904d19 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -71,7 +71,7 @@ about getting applications to work (if possible).
[[SavannahProjects]]
-
Savannah is a CVS & Bug system evolved from a free version of the code that powers sourceforge.net. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a help wanted list.
+
Savannah is a CVS & Bug system evolved from a free version of the code that powers sourceforge.net. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a help wanted list.
@@ -85,8 +85,8 @@ about getting applications to work (if possible).
-
Debain Infrastructure
-
Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd & turtle efforts.
+
Debian Infrastructure
+
Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd & turtle efforts.
-- cgit v1.2.3 From 8ebca1da3d35aaa9668da87b449c9d7459f8eb56 Mon Sep 17 00:00:00 2001 From: "http://amade.myopenid.com/" Date: Thu, 10 Jun 2010 08:31:13 +0000 Subject: fix typo --- hurd/virtual_file_system.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index 1e2f68fb..b62a5e4c 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -13,7 +13,7 @@ No single entity is responsible for the resolution of path names. A file system server (a [[translator]]) attaches to translators (`fs.defs:file_set_translator`). -When a process resolves an aboslute path, it queries +When a process resolves an absolute path, it queries its root file system server by invoking the `fs.defs:dir_lookup` method in the capability in its root directory slot. The file system server resolves as much as it knows about locally -- cgit v1.2.3 From a4ca271fe12ca06c702b745633c9a17c4e91a65a Mon Sep 17 00:00:00 2001 From: Jeremie Koenig Date: Fri, 11 Jun 2010 15:35:44 +0200 Subject: hurd d-i: roadmap update --- user/jkoenig.mdwn | 76 +++++++++++++++++++++---------------------------------- 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/user/jkoenig.mdwn b/user/jkoenig.mdwn index b7dd5ce6..1a4f5dbb 100644 --- a/user/jkoenig.mdwn +++ b/user/jkoenig.mdwn @@ -22,35 +22,24 @@ I will be keeping track of my progress on this page. * 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); + [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; - * mach initrd support underway: - I get the ramdisk with `$(ramdisk-create)` in the boot script, - `getstat()` and `read()` should be ok I believe, - but for some reason `ext2fs copy:device:rd0` complains that - it cannot get the "hypermetadata". - Also to be noted: - grub2 has a 16MiB limit on the size of multiboot modules, - and does not have a `modulenounzip` command anymore, - I guess the former would be ok for the forseeable future, - but I will need to fix the latter. + [images](http://jk.fr.eu.org/debian/hurd-installer) published. ### Roadmap -#### Week 3 (2010-06-07..13) - +* busybox: fix `mkdir -p` on Hurd +* 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. -* mach ramdisks: implement more device ops, - fix the remaining problems -* grub2: modulenounzip or something -* libc0.3-udeb: investigate it not having `/lib/ld.so -> ld.so.1` -* netcfg: make it work on Hurd somehow (port `busybox ip`?) -* see what breaks in the installer and fix the problems one by one - (install-time netcfg, cdrom detection, whatever) + +*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, @@ -58,41 +47,34 @@ I will be keeping track of my progress on this page. or some special code would be needed in the installer to enable say, /servers/socket/local before anything is attempted in the chroot] -* roadmap: redistribute all that stuff in the following weeks - (or maybe, reorganize the roadmap around milestones instead of weeks, - with expected completion dates, as suggested by antrik) - -#### Week 4 (2010-06-14..20) - +* 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 -#### Week 5-6 (2010-06-21..07-04) - -* unexpected stuff -* cleanup -* call for testing -* fix bugs - -At this point we would have a basic but working installer. -Hopefully the summer would not be over yet... - -#### Week 7-8 (2010-07-05..18) - -* hurd console +*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 -* support more types of installation images -#### Week 9-10 (2010-07-19..08-01) - -* give a shot at the graphical installer ? - -#### Week 11-12 (2010-08-02..15) +*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 -- cgit v1.2.3 From 7e29e23625bb1d4e1539abfe48b6b3a396625b02 Mon Sep 17 00:00:00 2001 From: jd823592 Date: Fri, 11 Jun 2010 17:29:31 +0000 Subject: deleted completely dde-unrelated steps --- hurd/running/dde_guide.mdwn | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/hurd/running/dde_guide.mdwn b/hurd/running/dde_guide.mdwn index 03a09703..6518e0e4 100644 --- a/hurd/running/dde_guide.mdwn +++ b/hurd/running/dde_guide.mdwn @@ -8,9 +8,7 @@ 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]]."]]"""]] -I am in hurry right now, so just like this. - -install hurd to partition +If you haven't: install hurd to partition get grub image boot hurd in single user (change grub entry accordingly to the installed partition) @@ -66,24 +64,6 @@ Download http://pastebin.com/RJAJT2MR the same way and rename it to 0001-Fix-up- reboot back to hurd (multiuser) -login as root - -> $ passwd - -change your password - -> $ nano /etc/default/hurd-console - -change ENABLE='false' to ENABLE='true', uncomment KBD_REPEAT, MOUSE, MOUSE_REPEAT, SPEAKER - -> $ nano /etc/hostname - -change the hostname for example to hurd - -> $ nano /etc/hosts - -change the 127.0.0.1 line to: 127.0.0.1 hurd localhost - > $ apt-get update > $ apt-get upgrade -- cgit v1.2.3