46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
#!/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
|
|
} |