diff options
Diffstat (limited to 'linux/scripts/install-core.sh')
-rw-r--r-- | linux/scripts/install-core.sh | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/linux/scripts/install-core.sh b/linux/scripts/install-core.sh new file mode 100644 index 0000000..078aa3b --- /dev/null +++ b/linux/scripts/install-core.sh @@ -0,0 +1,179 @@ +#!/bin/bash + +CHROOT="/mnt" +PORT_PKG="${CHROOT}/media/crux" +INSTALL_OPT=0 + +#echo "1.1.8. Install Handbook\n" +#cp ${PORT_PKG}/handbook.txt $CHROOT/root/ + +ConfirmOrExit() +{ + while true + do + echo -n "Please confirm (y or n) :" + read CONFIRM + case $CONFIRM in + y|Y|YES|yes|Yes) break ;; + n|N|no|NO|No) + echo "Aborting - you entered $CONFIRM" + exit + ;; + *) echo "Please enter only y or n" + esac + done + echo "You entered $CONFIRM. Continuing ..." +} + + +install_core() { + + mkdir -p ${CHROOT}/var/lib/pkg + touch ${CHROOT}/var/lib/pkg/db + + CORE_LS="${DATA_DIR}/core.pkg" + + if [ ! -f ${CORE_LS} ]; then + CORE_LS=${CHROOT}/core.pkg + echo "1.1.4 Create core.pkg and install pkgadd" + for p in ${PORT_PKG}/core/*; + do + echo $(basename $p) >> ${CORE_LS}; + done + fi + + # it is required a degree in astrophysics in order to figure out how to extract a file to a target folder + bsdtar -C ${CHROOT} -xf "${PORT_PKG}/core/pkgutils#5.40.7-1.pkg.tar.xz" usr/bin/pkgadd + mv ${CHROOT}/usr/bin/pkgadd ${CHROOT} + chmod +x ${CHROOT}/pkgadd + + echo "1.1.4 File core.pkg complete, review list of packages before continue... [PRESS ENTER]" + read PAUSE + vim ${CORE_LS} + + echo "1.1.4 Starting install" + + #cd $CHROOT + while read line; do + pkg=${PORT_PKG}/core/${line} + echo "Installing ${pkg}" + #${CHROOT}/pkgadd -f -r ${CHROOT} ${pkg} + ${CHROOT}/pkgadd -f -r ${CHROOT} ${pkg} + done < ${CORE_LS} + + rm ${CHROOT}/pkgadd + + if [ -f ${CHROOT}/core.pkg ]; then + rm ${CHROOT}/core.pkg; + fi +} + +install_packages() { + echo "Installing ${PORT_PKG}/opt/fakeroot" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/fakeroot#* + echo "Installing ${PORT_PKG}/opt/dbus" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/dbus#* + echo "Installing ${PORT_PKG}/opt/expat" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/expat#* + echo "Installing ${PORT_PKG}/opt/libnl" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libnl#* + echo "Installing ${PORT_PKG}/opt/libpng" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libpng#* + echo "Installing ${PORT_PKG}/opt/freetype" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/freetype#* + echo "Installing ${PORT_PKG}/opt/libffi" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libffi#* + echo "Installing ${PORT_PKG}/opt/sqlite3" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/sqlite3#* + echo "Installing ${PORT_PKG}/opt/python" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/python#* + echo "Installing ${PORT_PKG}/opt/glib" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/glib#* + echo "Installing ${PORT_PKG}/opt/grub2" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/grub2#* + echo "Installing ${PORT_PKG}/opt/grub2-efi" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/grub2-efi#* + echo "Installing ${PORT_PKG}/opt/wireless-tools" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/wireless-tools#* + echo "Installing ${PORT_PKG}/opt/wpa_supplicant" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/wpa_supplicant#* + echo "Installing ${PORT_PKG}/opt/lvm2" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/lvm2#* + echo "Installing ${PORT_PKG}/opt/mdadm" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/mdadm#* + echo "Installing ${PORT_PKG}/opt/efivar" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/efivar#* + echo "Installing ${PORT_PKG}/opt/efibootmgr" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/efibootmgr#* + echo "Installing ${PORT_PKG}/opt/dosfstools" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/dosfstools#* + echo "Installing ${PORT_PKG}/opt/parted" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/parted#* + echo "Installing ${PORT_PKG}/opt/libgcrypt" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libgcrypt#* + echo "Installing ${PORT_PKG}/opt/cryptsetup" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/cryptsetup#* + echo "Installing ${PORT_PKG}/opt/popt" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/popt#* + echo "Installing ${PORT_PKG}/opt/libgpg-error" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libgpg-error#* + echo "Installing ${PORT_PKG}/opt/libevent" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libevent#* + echo "Installing ${PORT_PKG}/opt/libtirpc" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/libtirpc#* + echo "Installing ${PORT_PKG}/opt/git" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/git#* + echo "Installing ${PORT_PKG}/opt/tmux" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/tmux#* + echo "Installing ${PORT_PKG}/opt/prt-utils" + $CHROOT/usr/bin/pkgadd -f -r $CHROOT ${PORT_PKG}/opt/prt-utils#* +} + +print_data() { + echo "1.1.4 Paths to packages and target:" + echo "chroot: ${CHROOT}" + echo "packages dir: ${PORT_PKG}" + echo "install optional: ${INSTALL_OPT}" +} + +print_help() { + echo "usage: install-core [options]" + echo "options:" + echo " -r, --chroot default chroot is /mnt" + echo " -p, --packages packages directory /mnt/media/crux" + echo " -o, --optional install extra packages" + echo " -h, --help print help and exit" +} + +while [ "$1" ]; do + case $1 in + -r|--chroot) + CHROOT=$2 + shift ;; + -p|--packages) + PORT_PKG=$2 + shift ;; + -o|--optional) + INSTALL_OPT=1 + ;; + -h|--help) + print_help + exit 0 ;; + *) + echo "setup-iso: invalid option $1" + print_help + exit 1 ;; + esac + shift +done + +print_data +ConfirmOrExit +install_core +echo "=========[ core installed ]===========" + +if [[ $INSTALL_OPT -eq 1 ]]; +then + install_packages + echo "=========[ extra packages installed ]===========" +fi |