blob: 486c2528c30ccbfddc1d7f5fc369ba73f1f9efcd (
plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
#!/bin/bash
CHAPTER="$1"
source /sources/colors.sh
source /sources/functions.sh
printf "%b" "${CYN}SUCCESSFULLY ENTERED ${RED}CHROOT${RST}!\n"
if [[ "${CHAPTER}" -eq 7 ]]; then
printf "%b" "${GRN}Creating directories${RST}... "
if [[ -f /sources/createdirs ]]; then
printf "%b" "\n ${IGRN}Directories already created${RST}\n"
else
mkdir -p /boot
mkdir -p /home
mkdir -p /mnt
mkdir -p /opt
mkdir -p /srv
mkdir -p /etc/opt
mkdir -p /etc/opt/sysconfig
mkdir -p /lib/firmware
mkdir -p /media/floppy
mkdir -p /media/cdrom
mkdir -p /usr/bin
mkdir -p /usr/include
mkdir -p /usr/lib
mkdir -p /usr/sbin
mkdir -p /usr/src
mkdir -p /usr/local/bin
mkdir -p /usr/local/include
mkdir -p /usr/local/lib
mkdir -p /usr/local/sbin
mkdir -p /usr/local/src
mkdir -p /usr/share/color
mkdir -p /usr/share/dict
mkdir -p /usr/share/doc
mkdir -p /usr/share/info
mkdir -p /usr/share/locale
mkdir -p /usr/share/man
mkdir -p /usr/share/man/man1
mkdir -p /usr/share/man/man2
mkdir -p /usr/share/man/man3
mkdir -p /usr/share/man/man4
mkdir -p /usr/share/man/man5
mkdir -p /usr/share/man/man6
mkdir -p /usr/share/man/man7
mkdir -p /usr/share/man/man8
mkdir -p /usr/share/misc
mkdir -p /usr/share/terminfo
mkdir -p /usr/share/zoneinfo
mkdir -p /usr/local/share/color
mkdir -p /usr/local/share/dict
mkdir -p /usr/local/share/doc
mkdir -p /usr/local/share/info
mkdir -p /usr/local/share/locale
mkdir -p /usr/local/share/man
mkdir -p /usr/local/share/man/man1
mkdir -p /usr/local/share/man/man2
mkdir -p /usr/local/share/man/man3
mkdir -p /usr/local/share/man/man4
mkdir -p /usr/local/share/man/man5
mkdir -p /usr/local/share/man/man6
mkdir -p /usr/local/share/man/man7
mkdir -p /usr/local/share/man/man8
mkdir -p /usr/local/share/misc
mkdir -p /usr/local/share/terminfo
mkdir -p /usr/local/share/zoneinfo
mkdir -p /var/cache
mkdir -p /var/local
mkdir -p /var/log
mkdir -p /var/mail
mkdir -p /var/opt
mkdir -p /var/spool
mkdir -p /var/lib/color
mkdir -p /var/lib/misc
mkdir -p /var/lib/locate
ln -sf /run /var/run
ln -sf /run/lock /var/lock
install -d -m 0750 /root
install -d -m 1777 /tmp /var/tmp
printf "%b" " ${GRN}Directories created${RST}\n"
touch /sources/createdirs
fi
printf "%b" "${GRN}Creating essential files and symbolic links${RST}... "
if [[ -f "/sources/essential" ]]; then
printf "%b" "\n ${IGRN}Essential files and symbolic links already created${RST}\n"
else
ln -sf /proc/self/mounts /etc/mtab
echo "127.0.0.1 localhost $(hostname)" > /etc/hosts
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
daemon:x:6:6:Daemon User:/dev/null:/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/bin/false
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
EOF
cat > /etc/group << "EOF"
root:x:0:
bin:x:1:daemon
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
input:x:24:
mail:x:34:
kvm:x:61:
uuidd:x:80:
wheel:x:97:
nogroup:x:99:
users:x:999:
EOF
echo "tester:x:${TESTERUID}:101::/home/tester:/bin/bash" >> /etc/passwd
echo "tester:x:101:" >> /etc/group
install -o tester -d /home/tester
touch /var/log/btmp
touch /var/log/lastlog
touch /var/log/faillog
touch /var/log/tmp
chgrp utmp /var/log/lastlog
chmod 664 /var/log/lastlog
chmod 600 /var/log/btmp
touch /sources/essential
printf "%b" "${IGRN}OK${RST}\n"
fi
cd /sources || exit 1
# Chapter 7
printf "%b" "\n${IWHT}============ ${IGRN}Building ${IYLW}Chapter 7${IWHT} \
============${RST}\n"
for package in libstdc++ gettext bison perl python texinfo util-linux; do
source packageinstall.sh 7 $package
retval=$?
if [[ "${retval}" -ne 0 ]]; then
exit 1
fi
done
exit 7
else
printf "%b" "Do Chapter 8, 9 and 10 stuff here.\n"
fi
|