Advertisement
z3ntu

archhurd stuff

Jul 8th, 2018
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. #### VPS based on Debian with Hurd VM
  2. apt update && apt install tmux htop xz-utils qemu-kvm
  3. export TERM=xterm
  4. wget https://cdimage.debian.org/cdimage/ports/current-hurd-i386/debian-hurd.img.tar.xz
  5. tar xJf debian-hurd.img.tar.xz
  6. kvm -drive file=debian-hurd-20170613.img,cache=writeback -m 1G -curses -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22
  7.  
  8.  
  9. login as root
  10.  
  11. # inetutils-ifconfig
  12.  
  13. wget https://github.com/z3ntu/archhurd_packages_binary/raw/master/archhurd-install-scripts-18-1-any.pkg.tar.xz
  14. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/pacman.conf
  15. sed -i 's|^SigLevel|#SigLevel|' pacman.conf
  16. # LocalSigLevel too!!
  17. mkdir /etc/pacman.d
  18. mv pacman.conf /etc/
  19. mkdir /var/lib/pacman #???
  20. echo 'Server = https://files.archhurd.org/$repo/os/$arch' > /etc/pacman.d/mirrorlist
  21. tar xJf archhurd-install-scripts-18-1-any.pkg.tar.xz
  22. mkdir /chroot
  23.  
  24. wget https://sources.archlinux.org/other/pacman/pacman-5.1.0.tar.gz
  25. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0001-Hurd-define-PATH_MAX.patch
  26. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0002-Hurd-define-PIPE_BUF.patch
  27. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0003-Hurd-use-FAKED_MODE-instead-of-FAKEROOTKEY-for-faker.patch
  28. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0004-Hurd-use-V-for-fakeroot-version-output.patch
  29. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch
  30. wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0002-makepkg-Don-t-use-parameterless-return.patch
  31.  
  32. tar xvzf pacman-5.1.0.tar.gz
  33. cd pacman-5.1.0
  34.  
  35. # Hurd-specific patches
  36. patch -Np1 -i ../0001-Hurd-define-PATH_MAX.patch
  37. patch -Np1 -i ../0002-Hurd-define-PIPE_BUF.patch
  38. patch -Np1 -i ../0003-Hurd-use-FAKED_MODE-instead-of-FAKEROOTKEY-for-faker.patch
  39. patch -Np1 -i ../0004-Hurd-use-V-for-fakeroot-version-output.patch
  40. # Fix install_packages failure exit code, required by makechrootpkg
  41. patch -Np1 -i ../0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch
  42. patch -Np1 -i ../0002-makepkg-Don-t-use-parameterless-return.patch
  43.  
  44. apt install libarchive-dev libssl-dev libcurl4-openssl-dev
  45.  
  46. ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc --with-scriptlet-shell=/bin/bash --with-ldconfig=/sbin/ldconfig
  47. make
  48. make DESTDIR=/tmp/install install
  49.  
  50. env LD_LIBRARY_PATH=/tmp/install/usr/lib PATH=/tmp/install/usr/bin:$PATH ./usr/bin/pacstrap -C ./pacman.conf /chroot base
  51.  
  52. -----------
  53. #!/bin/bash
  54. CHROOT=$1
  55. if [ -z "$CHROOT" ]; then
  56. echo "Usage: $0 <mountpoint>"
  57. exit 1
  58. fi
  59. settrans -kp $CHROOT/servers /hurd/firmlink /servers
  60. settrans -kp $CHROOT/dev /hurd/firmlink /dev
  61. settrans $CHROOT/tmp /hurd/firmlink /tmp
  62. settrans -c $CHROOT/var/lib/dbus /hurd/firmlink /var/lib/dbus
  63. settrans -c $CHROOT/run/dbus /hurd/firmlink /run/dbus
  64. settrans -kp $CHROOT/proc /hurd/firmlink /proc
  65. settrans -c $CHROOT/$HOME/.dbus /hurd/firmlink /$HOME/.dbus
  66. -----------
  67.  
  68. echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
  69. update-ca-trust
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement