2014-10-17 15:51:23 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
. ../lib.sh # Include library
|
|
|
|
|
|
|
|
# Image
|
|
|
|
DISTRIB="archlinux"
|
|
|
|
ARCH=${ARCH:-"armhf"}
|
|
|
|
TARGET=${TARGET:-"rootfs-target"}
|
|
|
|
CLEAN_PATHS="/root/.bash_history /root/.history /etc/resolv.conf /etc/hostname /etc/ssh/*_key* /var/log/bootstrap.log"
|
|
|
|
PKGS_INCLUDE=${PKGS_INCLUDE:-"ca-certificates,cron,curl,iptables,iputils-ping,isc-dhcp-client,less,man-db,nano,nbd-client,net-tools,ntp,ntpdate,rsyslog,ssh,sudo,wget,whiptail,xnbd-client"}
|
|
|
|
# MIRROR=${MIRROR:-"http://mirror.cloud.online.net/ubuntu-ports/"}
|
|
|
|
VERSION=${VERSION:-"latest"}
|
|
|
|
|
|
|
|
|
|
|
|
# Required
|
|
|
|
NAME=${NAME:-"rootfs-$ARCH-$DISTRIB-$VERSION"}
|
|
|
|
build_image() {
|
2014-10-17 23:37:33 +02:00
|
|
|
sudo wget -O source.tar.gz \
|
2014-10-17 15:51:23 +02:00
|
|
|
http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-$VERSION.tar.gz
|
2014-10-17 23:37:33 +02:00
|
|
|
sudo tar -C "$TARGET" -xzf source.tar.gz
|
2014-10-17 15:51:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
patch_image() {
|
2014-10-17 23:37:33 +02:00
|
|
|
# prepare chroot
|
|
|
|
sudo umount $TARGET/{sys,dev,proc} || true
|
|
|
|
sudo mount -t proc proc $TARGET/proc
|
|
|
|
sudo mount -t sysfs sys $TARGET/sys
|
|
|
|
sudo mount -o bind /dev $TARGET/dev
|
|
|
|
sudo rm -f $TARGET/etc/mtab
|
|
|
|
do_in_target grep -v rootfs /proc/mounts | sudo tee -a $TARGET/etc/mtab
|
|
|
|
sudo mkdir -p $TARGET/run/systemd/resolve
|
|
|
|
sudo cp /etc/resolv.conf $TARGET/run/systemd/resolve/resolv.conf
|
|
|
|
|
|
|
|
|
2014-10-21 12:42:59 +02:00
|
|
|
# FIXME: patch_target archlinux-latest/patches
|
2014-10-17 15:51:23 +02:00
|
|
|
|
|
|
|
# FIXME: locales
|
|
|
|
# - do_in_target locale-gen en_US.UTF-8
|
2014-10-17 19:52:23 +02:00
|
|
|
|
|
|
|
# ssh server
|
|
|
|
do_in_target pacman -S --noconfirm openssh
|
|
|
|
do_in_target systemctl enable sshd.service
|
2014-10-17 23:37:33 +02:00
|
|
|
|
|
|
|
# clean chroot
|
|
|
|
sudo rm -f $TARGET/etc/mtab $TARGET/run/systemd/resolve/resolv.conf
|
|
|
|
sudo umount $TARGET/proc
|
|
|
|
sudo umount $TARGET/sys
|
|
|
|
sudo umount $TARGET/dev
|
2014-10-17 15:51:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
upgrade_image() {
|
|
|
|
# FIXME: upgrade security packages
|
2014-10-17 17:18:16 +02:00
|
|
|
echo
|
2014-10-17 15:51:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
clean_image() {
|
|
|
|
# FIXME: clean package achives
|
|
|
|
clean_target $CLEAN_PATHS
|
|
|
|
# FIXME: reload package index
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${1}" != "--source-only" ]; then
|
|
|
|
cli $@
|
|
|
|
fi
|