-
-
Save fr34k8/597a5a1fee932373d2b9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
FETCHCOMMAND='wget -t 3 -T 5 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"' | |
RESUMECOMMAND='wget -c -t 3 -T 5 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"' | |
export FETCHCOMMAND RESUMECOMMAND | |
emerge --usepkg --buildpkg --update \ | |
app-emulation/qemu \ | |
net-misc/curl \ | |
sys-block/parted \ | |
sys-fs/multipath-tools | |
qemu-img create -f raw gentoo.img 10G | |
LOOPDEV=$(losetup --find --show gentoo.img) | |
PART1=$(echo $LOOPDEV|sed 's=v/l=v/mapper/l=')p1 | |
parted -s gentoo.img -- mklabel msdos | |
parted -s gentoo.img -- mkpart primary 1049k -1 | |
parted -s gentoo.img -- set 1 boot on | |
kpartx -a $LOOPDEV | |
mkfs.ext4 $PART1 | |
mkdir -p /mnt/gentoo | |
mount -o loop $PART1 /mnt/gentoo | |
cd /mnt/gentoo | |
curl http://redacted_host/stage3-amd64-latest.tar.bz2 | tar xjpf - | |
curl http://redacted_host/portage-latest.tar.bz2 | tar xjf - -C usr | |
curl http://redacted_host/vmlinuz-latest.tar.bz2 | tar xjf - | |
curl http://redacted_host/vmoverride-latest.tar.bz2 | tar xjf - | |
mount --bind {/,}dev | |
mount --bind {/,}proc | |
mount --bind {/,}sys | |
ROOT=/mnt/gentoo emerge --usepkg --buildpkg --update syslinux vim | |
dd if=/mnt/gentoo/usr/share/syslinux/mbr.bin of=$LOOPDEV | |
cat << EOF > chroot-script.sh | |
useradd -m -G wheel,users ec2-user | |
extlinux --install /boot | |
EOF | |
chmod +x chroot-script.sh | |
chroot /mnt/gentoo /chroot-script.sh | |
rm -f chroot-script.sh | |
sync | |
umount -l dev proc sys . | |
cd - | |
kpartx -d $LOOPDEV | |
losetup -d $LOOPDEV | |
qemu-img convert -p -f raw -O qcow2 gentoo.img gentoo-$(date +%Y%m%d)-amd64.qcow2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment