-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path1-filesystem.sh
executable file
·92 lines (76 loc) · 1.58 KB
/
1-filesystem.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
export STAGE=1
. ./environment.sh
. ./package-versions.sh
export FORCE_UNSAFE_CONFIGURE=1
if [ -f $PROGRESS_DIR/1-filesystem ] ; then
exit 0
fi
echo "preparing filesystem..."
if [ -e /tools ] ; then
rm -rf /tools
fi
if [ -e $MINL/boot ] ; then
umount $MINL/boot
rm -rf $MINL/boot
fi
if [ -e $MINL/sys ] ; then
umount $MINL/sys
rm -rf $MINL/sys
fi
if [ -e $MINL/proc ] ; then
umount $MINL/proc
rm -rf $MINL/proc
fi
if [ -e $MINL/dev/shm ] ; then
umount $MINL/dev/shm
rm -rf $MINL/dev/shm
fi
if [ -e $MINL/dev/pts ] ; then
umount $MINL/dev/pts
rm -rf $MINL/dev/pts
fi
if [ -e $MINL/dev ] ; then
umount $MINL/dev
rm -rf $MINL/dev
fi
if [ -e $MINL ] ; then
umount $MINL
rm -rf $MINL
fi
mkdir -p $MINL
if [ "$ROOT_DEV" != "" ] ; then
umount --recursive $ROOT_DEV
if [ "$FMT_ROOT" == "1" ] ; then
mkfs.ext4 -L root -F $ROOT_DEV
fi
mount $ROOT_DEV $MINL
fi
if [ "$SWAP_DEV" != "" ] ; then
swapoff $SWAP_DEV
if [ "$FMT_BOOT" == "1" ] ; then
mkswap -L swap $SWAP_DEV
fi
swapon $SWAP_DEV
fi
mkdir $MINL/boot
if [ "$BOOT_DEV" != "" ] ; then
if [ "$FMT_BOOT" == "1" ] ; then
mkfs.fat -n boot $BOOT_DEV
fi
mkdir -p $MINL/boot
mount $BOOT_DEV $MINL/boot
fi
mkdir -p $MINL/{etc,var} $MINL/usr/{bin,lib,sbin}
for i in bin lib sbin ; do
ln -s usr/$i $MINL/$i
done
case $(uname -m) in
x86_64) mkdir -p $MINL/lib64 ;;
esac
mkdir -p $PROGRESS_DIR
mkdir -p $MINL/sources
mkdir -p $MINL/tools
ln -s $MINL/tools /tools
cp -R . $MINL/sources
touch $PROGRESS_DIR/1-filesystem