Re: bootstrap after crosshurd failing
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
Reply to: