#!/usr/bin/env bash create_sysroot() { if [ ! -d "$SYSROOT" ]; then mkdir -p "$SYSROOT"/{etc,cross,sources,usr,dev,proc,sys,run} mkdir -p "$SYSROOT"/usr/{bin,sbin,lib,include} mkdir -p "$SYSROOT"/var/{cache,lib,run} for directory in bin sbin lib; do ln -fs usr/$directory "$SYSROOT"/$directory done ln -fs usr/lib "$SYSROOT"/lib64 fi } change_owner() { sudo chown -R root:root "$SYSROOT"/{bin,cross,dev,etc,lib,lib64,proc,sys,run,sbin,sys,usr,var} } do_mount() { if ! mountpoint -q "$SYSROOT/dev"; then sudo mount --bind /dev "$SYSROOT"/dev sudo mount -t devpts devpts -o gid=1,mode=0620 "$SYSROOT"/dev/pts sudo mount -t proc proc "$SYSROOT"/proc sudo mount -t sysfs sysfs "$SYSROOT"/sys sudo mount -t tmpfs tmpfs "$SYSROOT"/run if [ -h "$SYSROOT"/dev/shm ]; then sudo install -d -m 1777 "$SYSROOT"$(realpath /dev/shm) else sudo mount -t tmpfs -o nosuid,nodev tmpfs "$SYSROOT"/dev/shm fi fi } do_unmount() { sudo mountpoint -q "$SYSROOT"/dev/shm sudo umount "$SYSROOT"/dev/shm sudo umount "$SYSROOT"/dev/pts sudo umount "$SYSROOT"/{sys,proc,run,dev} } fetch() { wget -N -c --show-progress -q -P "$SOURCES" $1 }