These are just notes for developers on how to build the debian-hurd.img image. They are *NOT* meant for users, the README file should be read instead. TODO release: check that we use the patched apt-setup - 4GiB disk size (not more, so that it can be unpacked in hurd's ext2fs) - C locale, Europe/United Kingdom (to get UTC+0 timezone) - user demo, password foo - partition disk with swap first and / second (as primary partitions) to make it extensible easily - mirror deb.debian.org (or snapshot for a release) - standard task + ssh - disable tmpfs in /etc/default/tmpfs and in /usr/lib/init/mount-functions.sh mount_run() - /etc/apt/sources.list: - drop CD image, - if snapshot (release): - turn http: into https: on all entries - check [check-valid-until=no trusted=yes] on all entries - fix deb-src snapshot for sid: debian-ports->debian - check deb snapshot for unreleased - if not snapshot: - check deb deb.debian.org/debian-ports sid main - check deb deb.debian.org/debian-ports unreleased main - fix deb-src deb.debian.org/debian sid main - apt update - apt install -o APT::Install-Recommends=false hurd-recommended bf-utf-source build-essential gdb emacs vim nano inetutils-ping xorg icewm sudo inetutils-tools psmisc fortune-mod fortunes - apt remove whatever python3.11 that can be... - apt clean - symlink in /usr/bin inetutils-ifconfig ifconfig - on amd64, symlink crash to crash-kill - adduser demo sudo - Add NOPASSWD: before last ALL in /etc/sudoers for %sudo - drop root & demo passwd - copy content of http://darnassus.sceen.net/~hurd-web/hurd/documentation/translator_primer/ http://www.gnu.org/software/hurd/hurd/documentation/translator_primer in /root/translator_primer and /home/demo/ - set LANG to C.utf8 in /etc/default/locale - cp /etc/motd.UTF8 /etc/motd - in /etc/motd, The Hurd is not Linux. Make sure to read https://www.debian.org/ports/hurd/hurd-install to check out the few things you _need_ to know. Also check out the FAQ https://www.gnu.org/software/hurd/faq.html or its latest version on https://darnassus.sceen.net/~hurd-web/faq/ To read a short intro on some nice features of the Hurd, just have a look at the translator_primer file, for example via 'nano translator_primer' - update-rc.d exim4 disable - enable Hurd console - dpkg-reconfigure xserver-xorg-legacy to allow anybody to run the X server - add basic xorg.conf for c-a-b (see https://www.debian.org/ports/hurd/hurd-install) - possibly need to set a screen section with just an identifier and a display subsection containing virtual 1024 768, otherwise panning may happen - check startx icewm and press ctrl-alt-backspace - touch /ftp: /http: - chown nobody:nogroup /ftp: /http: - settrans /ftp: /hurd/hostmux /hurd/ftpfs / - settrans /http: /hurd/hostmux -H DOMAIN /hurd/httpfs http://DOMAIN/ - touch /home/demo/.fortune - chown demo /home/demo/.fortune - settrans /home/demo/.fortune /hurd/run /usr/games/fortune - rm /var/lib/apt/lists/{snapshot,ftp,http,Debian,deb}* - apt clean - dpkg -P locales wamerican - rm /var/lib/dpkg/*-old - force fsck by touching /forcefsck and rebooting, to fix any pending dtime cleanup - and poke holes with mount image ; dd < /dev/zero > hugefile ; sync ; rm -f hugefile ; umount image ; cp --sparse=always image image2 - create a tarball with the -S option so the sparsity is preserved