-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprepare.sh
executable file
·47 lines (37 loc) · 1 KB
/
prepare.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
echo "Dist Root: ${DIST_ROOT:?}"
echo "LFS: ${LFS:?}"
mkdir -p $LFS/sources
for f in $(cat $DIST_ROOT/build_env/build_env_list)
do
bn=$(basename $f)
if ! test -f $LFS/sources/$bn ; then
wget $f -O $LFS/sources/$bn
fi
done;
mkdir -pv $LFS/{bin,etc,lib,sbin,var,usr,lib64,tools}
if ! test $(id -u bluebuilder) ; then
groupadd bluebuilder
useradd -s /bin/bash -g bluebuilder -m -k /dev/null bluebuilder
passwd bluebuilder
chown -v bluebuilder $LFS/{usr,lib,var,etc,bin,sbin,tools,lib64,sources}
dbhome=$(eval echo "~bluebuilder")
cat > $dbhome/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > $dbhome/.bashrc << EOF
set +h
umask 022
LFS=$LFS
export DIST_ROOT=$DIST_ROOT
EOF
cat >> $dbhome/.bashrc << "EOF"
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/usr/bin
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
CONFIG_SITE=$LFS/usr/share/config.site
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE
export MAKEFLAGS="-j$(nproc)"
EOF
fi