Hello Samuel, On Mon, Dec 30, 2024 at 01:39:16AM +0100, Samuel Thibault wrote: > Notably libc0.3 is apparently not marked as required any > more, and thus not unpacked by crosshurd, so programs are deemed to > fail. There were a few other issues, which I have now fixed in crosshurd > version 1.7.62. I have also added a salsa CI. It now ends up on > "Existing system found, exitting." because /proc is indeed already a > directory, probably we want another test for checking whether > native-install already got executed. There are probably more issues in > the native-install script, but that should be much easier to debug now.
Version 1.7.62 never reached the archive. Perhaps this was intended. I have taken the version in Salsa, was able to boot and run native-install, and with the modification in the attached patch got to the stage of configuring packages. During package configuration some packages fail, which I assumed was related to the state of unstable, or some issue resolving dependencies? Best regards, João
diff -ruN crosshurd-master/README.gnu crosshurd-master_mod/README.gnu --- crosshurd-master/README.gnu 2024-12-30 01:35:20.000000000 +0100 +++ crosshurd-master_mod/README.gnu 2025-04-05 17:42:25.387046580 +0200 @@ -28,10 +28,39 @@ Not all packages downloaded by apt will be installed, only Priority: required ones will be. -5) Setup grub to boot from the new partition. If you don't know how -to do this, go out and grab some of Philip's CDs and start with them. -Explaining grub is out of scope of this README. Make sure not to pass ---readonly to ext2fs.static. +5) Setup grub to boot from the new partition. +For a hurd-i386 installation on the first partition of the hd0 disk, you could +add the following to the file /etc/grub.d/40_custom + + menuentry "Debian GNU/Hurd" { + set root='hd0,msdos1' + echo 'Loading GNU Mach ...' + multiboot /boot/gnumach-1.8-486-up.gz root=part:1:device:hd0 + echo 'Loading the Hurd ...' + module /hurd/pci-arbiter.static pci-arbiter \ + --host-priv-port='${host-port}' --device-master-port='${device-port}' \ + --next-task='${acpi-task}' \ + '$(pci-task=task-create)' '$(task-resume)' + module /hurd/acpi.static acpi \ + --next-task='${disk-task}' \ + '$(acpi-task=task-create)' + module /hurd/rumpdisk.static rumpdisk \ + --next-task='${fs-task}' \ + '$(disk-task=task-create)' + module /hurd/ext2fs.static ext2fs \ + --multiboot-command-line='${kernel-command-line}' \ + --exec-server-task='${exec-task}' -T typed '${root}' \ + '$(fs-task=task-create)' + module /hurd/exec.static exec '$(exec-task=task-create)' + } + +Following this create a grub configuration file: + + grub-mkconfig > /boot/grub/grub.cfg + +And then install to your disk, for example: + + grub-install /dev/sda 6) On the first boot, run : diff -ruN crosshurd-master/makehurddir.sh crosshurd-master_mod/makehurddir.sh --- crosshurd-master/makehurddir.sh 2024-12-30 01:35:20.000000000 +0100 +++ crosshurd-master_mod/makehurddir.sh 2025-04-05 17:15:29.164576029 +0200 @@ -42,7 +42,15 @@ for i in *.deb ; do \ if [ -z "${i##libc0.3_*}" ] || \ [ -z "${i##libcrypt*}" ] || \ + [ -z "${i##libc-bin*}" ] || \ [ -z "${i##libtinfo*}" ] || \ + [ -z "${i##libbsd0*}" ] || \ + [ -z "${i##libmd0*}" ] || \ + [ -z "${i##libacl1*}" ] || \ + [ -z "${i##libattr*}" ] || \ + [ -z "${i##libpcre*}" ] || \ + [ -z "${i##liblzma*}" ] || \ + [ -z "${i##libzstd*}" ] || \ [ -z "${i##debianutils_*}" ] || \ [ -z "${i##gnumach-image-*}" ] || \ dpkg-deb --field $i Priority | grep ^required ; then \ diff -ruN crosshurd-master/native-install/native-install crosshurd-master_mod/native-install/native-install --- crosshurd-master/native-install/native-install 2024-12-30 01:35:20.000000000 +0100 +++ crosshurd-master_mod/native-install/native-install 2025-04-05 16:31:09.120650192 +0200 @@ -37,12 +37,12 @@ if [ "$TERM" = "dumb" ] ; then export TERM=mach fi - if [ -d /proc ] ; then + if showtrans --silent /proc ; then echo Existing system found, exitting. exit 1 fi - if [ ! -e /dev/console ] ; then + if ! showtrans --silent /dev/console ; then # Set up standard passive translators echo @@ -57,7 +57,7 @@ settrans -c /servers/crash-kill /hurd/crash --kill settrans -c /servers/password /hurd/password settrans -c /servers/default-pager /hurd/proxy-defpager - chmod +x /servers/default-pager + #chmod +x /servers/default-pager # Not functional yet: settrans -c /servers/crash-dump-core /hurd/crash --dump-core @@ -87,10 +87,10 @@ fi # Make sure that the runsystem stuff will work - if [ -e /libexec/runsystem.gnu -a -e /libexec/runsystem ] ; then - echo Removing /libexec/runsystem again, so the Hurd package can + if [ -e /usr/libexec/runsystem.gnu -a -e /usr/libexec/runsystem ] ; then + echo Removing /usr/libexec/runsystem again, so the Hurd package can echo take care about it. - rm /libexec/runsystem + rm /usr/libexec/runsystem fi ;; Linux) @@ -123,14 +123,14 @@ cp /usr/share/base-passwd/group.master /etc/group # Make sure /etc/shadow is available -/sbin/shadowconfig on +/usr/sbin/shadowconfig on debs=`for i in /var/cache/apt/archives/*.deb ; do case $i in /var/cache/apt/archives/dpkg_*.deb) ;; *) echo $i ;; esac ; done` -ssd=`which start-stop-daemon || echo /sbin/start-stop-daemon` +ssd=`which start-stop-daemon || echo /usr/sbin/start-stop-daemon` # install dpkg and libc dpkg --force-depends -i /var/cache/apt/archives/gawk_*.deb @@ -175,12 +175,12 @@ case "${system}" in GNU) - echo I just make sure that /libexec/runsystem is properly updated. - if [ ! -e /libexec/runsystem -a -e /libexec/runsystem.gnu ] ; then + echo I just make sure that /usr/libexec/runsystem is properly updated. + if [ ! -e /usr/libexec/runsystem -a -e /usr/libexec/runsystem.gnu ] ; then echo WHOA! We\'re in deep trouble. The Hurd package did not update - echo the link in /libexec/runsystem. For now, I am making a link + echo the link in /usr/libexec/runsystem. For now, I am making a link echo manually, but please report this. - ln -s runsystem.gnu /libexec/runsystem + ln -s runsystem.gnu /usr/libexec/runsystem fi # fstab stuff diff -ruN crosshurd-master/packages/gnu crosshurd-master_mod/packages/gnu --- crosshurd-master/packages/gnu 2024-12-30 01:35:20.000000000 +0100 +++ crosshurd-master_mod/packages/gnu 2025-04-05 16:35:47.174028984 +0200 @@ -3,4 +3,5 @@ libparted2 libuuid1 libc0.3 +libc-bin inetutils-tools