refactor
- extract patch to version file - added silent to bootstrap configure functions & glibc patch section - renamed build.sh to build.bash - moved flags, utilities and version to their own files - extract glibc patch url to version file
This commit is contained in:
84
utilities.bash
Normal file
84
utilities.bash
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
create_directories() {
|
||||
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 -s usr/lib "$SYSROOT"/lib64
|
||||
|
||||
ln -s run "$SYSROOT"/var/run
|
||||
ln -sfv run/lock "$SYSROOT"/var/lock
|
||||
|
||||
install -dv -m 0750 "$SYSROOT"/root
|
||||
install -dv -m 1777 "$SYSROOT"/tmp "$SYSROOT"/var/tmp
|
||||
fi
|
||||
}
|
||||
|
||||
create_files() {
|
||||
if [[ ! -L "$SYSROOT"/etc/mtab ]]; then
|
||||
sudo ln -s proc/self/mounts "$SYSROOT"/etc/mtab
|
||||
|
||||
cat > "$SYSROOT"/etc/hosts <<- "EOF"
|
||||
127.0.0.1 localhost axe
|
||||
::1 localhost
|
||||
EOF
|
||||
|
||||
cat > "$SYSROOT"/etc/passwd <<- "EOF"
|
||||
root:x:0:0:root:/root:/usr/bin/bash
|
||||
uuidd:x:6:6::/dev/null:/usr/bin/nologin
|
||||
messagebus:x:7:7::/run/dbus:/usr/bin/nologin
|
||||
nobody:x:65534:65534::/dev/null:/usr/bin/nologin
|
||||
EOF
|
||||
|
||||
cat > "$SYSROOT"/etc/group <<- "EOF"
|
||||
root:x:0:
|
||||
tty:x:1:
|
||||
audio:x:2:
|
||||
video:x:3:
|
||||
input:x:4:
|
||||
wheel:x:5:
|
||||
uuidd:x:6:
|
||||
messagebus:x:7:
|
||||
users:x:999:
|
||||
nogroup:x:65534:
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
create_sysroot() {
|
||||
create_directories
|
||||
create_files
|
||||
}
|
||||
|
||||
change_owner() {
|
||||
sudo chown -R root:root "$SYSROOT"/{etc,cross,usr,dev,proc,sys,run,var}
|
||||
}
|
||||
|
||||
do_mount() {
|
||||
if ! mountpoint -q "$SYSROOT/dev"; then
|
||||
sudo mount --bind /dev "$SYSROOT"/dev
|
||||
sudo mount -t devpts devpts -o gid=5,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 umount -R "$SYSROOT/"
|
||||
}
|
||||
|
||||
fetch() {
|
||||
wget -N -c --show-progress -q -P "$SOURCES" $1
|
||||
}
|
||||
Reference in New Issue
Block a user