Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #### VPS based on Debian with Hurd VM
- apt update && apt install tmux htop xz-utils qemu-kvm
- export TERM=xterm
- wget https://cdimage.debian.org/cdimage/ports/current-hurd-i386/debian-hurd.img.tar.xz
- tar xJf debian-hurd.img.tar.xz
- kvm -drive file=debian-hurd-20170613.img,cache=writeback -m 1G -curses -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22
- login as root
- # inetutils-ifconfig
- wget https://github.com/z3ntu/archhurd_packages_binary/raw/master/archhurd-install-scripts-18-1-any.pkg.tar.xz
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/pacman.conf
- sed -i 's|^SigLevel|#SigLevel|' pacman.conf
- # LocalSigLevel too!!
- mkdir /etc/pacman.d
- mv pacman.conf /etc/
- mkdir /var/lib/pacman #???
- echo 'Server = https://files.archhurd.org/$repo/os/$arch' > /etc/pacman.d/mirrorlist
- tar xJf archhurd-install-scripts-18-1-any.pkg.tar.xz
- mkdir /chroot
- wget https://sources.archlinux.org/other/pacman/pacman-5.1.0.tar.gz
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0001-Hurd-define-PATH_MAX.patch
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0002-Hurd-define-PIPE_BUF.patch
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0003-Hurd-use-FAKED_MODE-instead-of-FAKEROOTKEY-for-faker.patch
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0004-Hurd-use-V-for-fakeroot-version-output.patch
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch
- wget https://raw.githubusercontent.com/z3ntu/archhurd_packages/master/pacman/0002-makepkg-Don-t-use-parameterless-return.patch
- tar xvzf pacman-5.1.0.tar.gz
- cd pacman-5.1.0
- # Hurd-specific patches
- patch -Np1 -i ../0001-Hurd-define-PATH_MAX.patch
- patch -Np1 -i ../0002-Hurd-define-PIPE_BUF.patch
- patch -Np1 -i ../0003-Hurd-use-FAKED_MODE-instead-of-FAKEROOTKEY-for-faker.patch
- patch -Np1 -i ../0004-Hurd-use-V-for-fakeroot-version-output.patch
- # Fix install_packages failure exit code, required by makechrootpkg
- patch -Np1 -i ../0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch
- patch -Np1 -i ../0002-makepkg-Don-t-use-parameterless-return.patch
- apt install libarchive-dev libssl-dev libcurl4-openssl-dev
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc --with-scriptlet-shell=/bin/bash --with-ldconfig=/sbin/ldconfig
- make
- make DESTDIR=/tmp/install install
- env LD_LIBRARY_PATH=/tmp/install/usr/lib PATH=/tmp/install/usr/bin:$PATH ./usr/bin/pacstrap -C ./pacman.conf /chroot base
- -----------
- #!/bin/bash
- CHROOT=$1
- if [ -z "$CHROOT" ]; then
- echo "Usage: $0 <mountpoint>"
- exit 1
- fi
- settrans -kp $CHROOT/servers /hurd/firmlink /servers
- settrans -kp $CHROOT/dev /hurd/firmlink /dev
- settrans $CHROOT/tmp /hurd/firmlink /tmp
- settrans -c $CHROOT/var/lib/dbus /hurd/firmlink /var/lib/dbus
- settrans -c $CHROOT/run/dbus /hurd/firmlink /run/dbus
- settrans -kp $CHROOT/proc /hurd/firmlink /proc
- settrans -c $CHROOT/$HOME/.dbus /hurd/firmlink /$HOME/.dbus
- -----------
- echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
- update-ca-trust
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement