X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=arch-pxe;fp=arch-pxe;h=5a5b5464360e214b2e1543639cb149661385da71;hb=a4bf1d090bfbb5603bd6f2aa9f67a2e8a702d476;hp=0000000000000000000000000000000000000000;hpb=ce5290b5a6eee95cc59b5c1651d73a224c3d5bbd;p=automated-distro-installer diff --git a/arch-pxe b/arch-pxe new file mode 100755 index 0000000..5a5b546 --- /dev/null +++ b/arch-pxe @@ -0,0 +1,57 @@ +#!/bin/bash -lx + +# manually download image to /a/opt, and set it's name below. + +set -eE -o pipefail +trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR + +cd /a/opt +#iso="archlinux-2015.11.01-dual" +iso="archlinux-2016.01.01-dual" +sfs=$iso/arch/x86_64/airootfs.sfs +rm -rf $iso +ex $iso.iso +sed -i -f - $iso/arch/boot/syslinux/archiso_pxe64.cfg < /tmp/myarchinit.log +dhcpcd eth0 +systemctl start sshd +EOF +s rm $sfs +s mksquashfs squashfs-root $sfs -comp xz +# file transfer to wrt is slow, so remove some useless files +rm $iso/arch/i686/airootfs.sfs $iso/arch/boot/i686/archiso.img +c $(dirname $sfs); md5sum ${sfs##*/} > airootfs.md5; b + +# seems if you've done a pxe boot, mounted the nfs, +# then shutdown, it's still busy. +ssh wrt "/etc/init.d/nfsd stop; \ +{ ! mount | grep /run/archiso/bootmnt || umount /run/archiso/bootmnt; } && \ +rm -rf /mnt/usb/$iso" +scp -r $iso wrt:/mnt/usb +ssh wrt "cd /mnt/usb && rm -f tftpboot && ln -s $iso tftpboot" + +# The default settings in the installer expect to find the NFS at /run/archiso/bootmnt + +pxe-server arch + +# background: +# great documentation at https://wiki.archlinux.org/index.php/PXE +# background: arch can do netboot like ubuntu etc, but the docs look a little complicated, so fuck it, +# we use nfs cuz it's easy + +rm -rf $iso +s rm -rf squashfs-root