commit 47817f6
chld
·
2025-12-22 23:42:14 +0000 UTC
parent e9b1a09
update
3 files changed,
+24,
-6
+2,
-1
1@@ -1,7 +1,8 @@
2 #!/bin/sh -eu
3 . ./util/lib.sh # source functions
4
5-printf "\033[1mWARNING: $0 assumes you have rootfs mounted @ ${m}!\033[m\n"
6+_war "$0 assumes you have your root parition mounted at ${m}!"
7+_war "$0 will remove all files from ${m}!"
8 set -x
9
10 rm -rf $m/*
+2,
-2
1@@ -16,7 +16,7 @@ run() {
2 }
3
4 clean() {
5- log Unmounting host paths; {
6+ {
7 run umount "$1/dev/shm" 2>/dev/null
8 run umount "$1/dev/pts"
9 run umount "$1/dev"
10@@ -61,7 +61,7 @@ main() {
11 # shellcheck disable=SC2064
12 #trap "clean ${1%"${1##*[!/]}"}" EXIT INT
13
14- log Mounting host paths; {
15+ {
16 mmount "$1/dev" -o bind /dev
17 mmount "$1/dev/pts" -o bind /dev/pts
18 mmount "$1/dev/shm" -t tmpfs shmfs 2>/dev/null
+20,
-3
1@@ -2,19 +2,36 @@
2
3 m=${m:-/mnt}
4
5+__hhc(){
6+ # determine if host has needed command
7+ u=''
8+ if test -e $1; then u='$1'
9+ elif test -e $m/bin/$1; then u="$m/bin/$1" ; fi
10+}
11+
12 _inc(){
13- chroot $m /bin/sh -e -c "$*"
14+ __hhc chroot
15+
16+ $u $m /bin/sh -e -c "$*"
17 # usage: _inc '
18 # touch mwakat
19 # '
20 }
21+
22 _swt(){
23 # idiot proofing: do not link if command doesnt exist
24 # -instead, return (avoiding link, and error)
25 if ! test -e $m/bin/$1; then return 0 ; fi
26 if ! test -e $m/usr/bin/$2; then return 0 ; fi
27
28- $m/bin/ln -sf $m/bin/$1 $m/usr/bin/$2
29- $m/bin/ln -sf $m/bin/$1 $m/sbin/$2 # link both ways
30+ __hhc ln
31+
32+ $u -sf $m/bin/$1 $m/usr/bin/$2
33+ $u -sf $m/bin/$1 $m/sbin/$2 # link both ways
34 # usage: _swt toybox ln
35 }
36+
37+_war(){
38+ printf "\033[m\033[1;31mWARNING:\033[m\033[1m "
39+ printf "$1\033[m\n"
40+}