blob: 57415f0c88055632da297d92d5d8f2032a6097d0 (
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
|
#!/bin/bash
clear
# LFS build environment settings
source env.sh
# Spinner function (returns an exit value)
source spinner.sh
# Colors defined for text
source colors.sh
# Version check script
#source versioncheck.sh
# Create LFS directory if it doesn't exist
[[ -d /mnt/lfs ]] || sudo mkdir ${LFS}
# Setup partition, filesystem, format and mount if
# LFS filesystem is not previously mounted
if ! grep -q "${LFS}" /proc/mounts; then
source setupdisk.sh "${LFS_DISK}" "${LFS_ROOT}"
sudo mount "${LFS_DISK}${LFS_ROOT}" "${LFS}"
sudo chown -v ${USER} "${LFS}"
fi
# Create limited directory layout
mkdir -pv ${LFS_SRC}
mkdir -pv ${LFS}/tools
mkdir -pv ${LFS}/bin
mkdir -pv ${LFS}/etc
mkdir -pv ${LFS}/lib
mkdir -pv ${LFS}/sbin
mkdir -pv ${LFS}/usr
mkdir -pv ${LFS}/var
case $(uname -m) in
x86_64) mkdir -pv ${LFS}/lib64 ;;
esac
# Will use normal user and not special lfs user
#sudo groupadd lfs
#sudo useradd -s /bin/bash -g lfs -m -k /dev/null lfs
#echo -e "${LFS_PWD}\n${LFS_PWD}\n" | sudo passwd lfs
# Copy scripts and csv files to LFS sources target
cp -rf *.sh chapter* *.csv "${LFS}/sources"
cd "${LFS}/sources"
# Download packages and patches
source download.sh
retval=$?
if [ "$retval" -ne 0 ]; then
exit 1
fi
# Chapter 5
for package in binutils gcc linux-api-headers glibc libstdc++; do
source packageinstall.sh 5 $package
retval=$?
if [ "$retval" -ne 0 ]; then
exit 1
fi
done
# Chapter 6
for package in m4 ncurses bash coreutils diffutils file findutils gawk grep gzip make patch sed tar xz binutils gcc; do
source packageinstall.sh 6 $package
retval=$?
if [ "$retval" -ne 0 ]; then
exit 1
fi
done
#source chapter6/cleanup.sh
#source chapter6/backup.sh
chmod ugo+x preparechroot.sh
chmod ugo+x insidechroot.sh
echo -e "${CYN}PREPARING CHROOT ENVIRONMENT...${RST}"
sudo ./preparechroot.sh ${LFS}
echo -e "${CYN}ENTERING CHROOT ENVIRONMENT...${RST}"
sleep 3
sudo chroot "${LFS}" /usr/bin/env \
HOME=/root \
TERM=${TERM} \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login +h -c "/sources/insidechroot.sh"
|