I’m currently preparing a qemu image for the Hurd which allows testing the capabilities of the Hurd with as little effort as possible. **Work in progress. These are my in-development notes.** For that I want to use: * An up to date debian image (no longer online, but I have a copy here). * My [Hurd Intro](http://bitbucket.org/ArneBab/hurd_intro), * Translators from [hurd-extras](http://www.nongnu.org/hurdextras/) and the [incubator](https://git.savannah.gnu.org/cgit/hurd/incubator.git/), and naturally * a lot of apt update; apt upgrade and apt dist-upgrade :) (all worked flawlessly). ## Working ### Generally # ssh with public key ssh-keygen # build tools apt install build-essential ### StoreIO # mount an iso image mount foo.iso bar -t iso9660fs # see myfile as device settrans foo /hurd/storeio myfile # so that means I can pack a complete chroot (300MB) into a file with storeio and ext2fs — giselher # nfs mount anywhere (TODO: check this with antrik) mount server:/home /home -t nfs settrans /home /hurd/nfs server:/home ## In Progress ### Hurdextras hg clone ### httpfs # pkg-config is needed to avoid “PKG_CHECK_MODULES syntax error near unexpected token `HTTPFS,'” # pkg-config must be installed before you run autoreconf. apt install autoconf autoconf-archive libxml2-dev pkg-config autoreconf -i -f ./configure make make install settrans -ac gnu /usr/local/httpfs www.gnu.org/ # (breaks, because libxml2 needs pthreads → work to do.) # (what we need: pthreads in translators. → see the [work of Barry](https://savannah.gnu.org/task/?func=detailitem&item_id=5487)) # check: for i in `objdump -x /usr/local/bin/httpfs |grep NEEDED| sed s/.*NEEDED//`; do echo $i; objdump -x /usr/lib/$i | grep pthread; objdump -x /lib/$i | grep pthread; done ### Tarfs apt install zip libz-dev libbz2-dev git clone git://git.savannah.gnu.org/hurd/incubator.git tarfs cd tarfs/ git checkout tarfs/master cd tarfs make make install # works, though with warnings. settrans -ca new /hurd/tarfs -cz test/intro.tar.gz cp repos/intro/README new/ settrans -g new tar -tf test/intro.tar.gz # works tar -cf test/intro.tar repos/intro settrans -ac t /hurd/tarfs test/intro.tar # (settrans: /hurd/tarfs: Translator died :( ⇒ more work to do ) ### nsmux git clone git://git.savannah.gnu.org/hurd/incubator.git nsmux cd nsmux/ git checkout -b nsmux origin/nsmux apt install autoconf autoconf-archive autoreconf -i -f ./configure make make install cd ../.. mkdir test touch test/hello settrans -ca test2 /usr/local/bin/nsmux test # tar -cvf test/intro.tar repos/hurd_intro cat test2/hello cat test2/hello,,hello # Hello, World! ### clisp git clone git://git.savannah.gnu.org/hurd/incubator.git clisp cd clisp/ git checkout -b clisp origin/clisp apt install texi2html make make install ### debugging Translators rpctrace