-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinit-rootfs.sh
executable file
·69 lines (59 loc) · 1.69 KB
/
init-rootfs.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
#!/bin/sh
#
# This script needs to be run before booting the rootfs as an
# NFS root. It also needs to be run as root, and it has to be
# run in the rootfs.
#
if [ ! -d dj ]
then
echo "? you are probably not cd'd to the top of your rootfs"
exit 1
fi
if [ "$(id -u)" != "0" ]
then
echo "? you must run this as root"
exit 1
fi
#-- make all of our needed directories
for ii in dev proc sys tmp var/lock var/log var/tmp
do
[ ! -d $ii ] && mkdir -p $ii
done
for ii in tmp var/lock var/log var/tmp
do
chmod 1777 $ii
done
for ii in usr/bin/mount usr/bin/umount
do
if [ -e $ii ]; then chown root.root $ii ; chmod 4755 $ii ; fi
done
#-- do all the required mknods
cd dev
[ ! -c null ] && mknod null c 1 3
[ ! -c zero ] && mknod zero c 1 5
[ ! -c tty ] && mknod tty c 5 0
[ ! -c console ] && mknod console c 5 1
[ ! -b sda ] && mknod sda b 8 0
[ ! -b sda1 ] && mknod sda1 b 8 1
[ ! -b sda2 ] && mknod sda2 b 8 2
[ ! -b sda3 ] && mknod sda3 b 8 3
[ ! -b sda4 ] && mknod sda4 b 8 4
[ ! -b mmcblk0 ] && mknod mmcblk0 b 179 0
[ ! -b mmcblk0p1 ] && mknod mmcblk0p1 b 179 1
[ ! -b mmcblk0p2 ] && mknod mmcblk0p2 b 179 2
[ ! -b mmcblk0p3 ] && mknod mmcblk0p3 b 179 3
[ ! -b mmcblk0p4 ] && mknod mmcblk0p4 b 179 4
[ ! -c tty00 ] && mknod tty00 c 253 0
[ ! -c tty01 ] && mknod tty01 c 253 1
[ ! -c tty02 ] && mknod tty02 c 253 2
[ ! -c tty03 ] && mknod tty03 c 253 3
[ ! -c tty2 ] && mknod tty2 c 4 2
[ ! -c tty3 ] && mknod tty3 c 4 3
[ ! -c tty4 ] && mknod tty4 c 4 4
[ ! -c ttyS0 ] && mknod ttyS0 c 4 64
[ ! -c ttyS1 ] && mknod ttyS1 c 4 65
[ ! -c ttyS2 ] && mknod ttyS2 c 4 66
[ ! -c ttyS3 ] && mknod ttyS3 c 4 67
chmod a+rw null zero
#-- all done
exit 0