Skip to content

Commit fb042fc

Browse files
committed
fixes for 10.1 64bit
1 parent 1f2785b commit fb042fc

9 files changed

Lines changed: 6727 additions & 84 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ wget-list*
1212
LFSBootCD*
1313
root_tree32/
1414
root_tree64/
15+
xtrasanyarch/usr/bin/PkgVersions

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
VERSION=9.0
2+
VERSION=10.1
33
TOPDIR=$(shell pwd)
44
ISODEPS=$(shell find $(TOPDIR)/cdtree -not -name "\.*")
55
BOOTCDNAME=LFSBootCD-$(VERSION).iso

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ You MAY need the git lfs plugin available here:
44
https://git-lfs.github.com/
55

66
All commands marked with * MUST be run as root to preserve permissions ( don't type the *! ).
7+
Remove source archives as well.
78
*make clean
89

910
This doesn't remove source files/archives.

getSources

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
#!/bin/bash
1+
#!/bin/bash -e
22

33
#©keithhedger Wed 14 Jun 19:51:12 BST 2017 kdhedger68713@gmail.com
4+
RED='\e[1;31m'
5+
GREEN='\e[1;32m'
6+
NORMAL='\e[0;0m'
7+
trap 'echo -e "$0 ${RED}FAILED${NORMAL} at line ${GREEN}${LINENO}${NORMAL}"' ERR
48

5-
LFSVERSION="9.0"
9+
LFSVERSION="10.1"
610
LFSGITVERSION="$LFSVERSION"
7-
#LFSGITVERSION="dev"
811

912
SYSTEMSOURCE=cdtree/LFS/LFSSourceArchives/$LFSVERSION/SYSTEM
1013
NETSOURCE=cdtree/LFS/LFSSourceArchives/$LFSVERSION/NET
1114
SYSSOURCE=cdtree/LFS/LFSSourceArchives/$LFSVERSION/SYS
12-
WGET_VERS=1.20.3
15+
WGET_VERS=1.21.1
1316

1417
WGETTAR="https://ftp.gnu.org/gnu/wget/wget-$WGET_VERS.tar.gz"
1518
UNZIPTAR="http://downloads.sourceforge.net/infozip/unzip60.tar.gz"
@@ -26,41 +29,51 @@ LFSPKG="https://github.com/KeithDHedger/LFSPkg/archive/master.zip"
2629
mkdir -vp cdtree/LFS $NETSOURCE $SYSSOURCE $SYSTEMSOURCE||true
2730

2831
if [ ! -e $SYSTEMSOURCE/gotsystemsources ];then
29-
wget http://www.linuxfromscratch.org/lfs/view/$LFSVERSION/wget-list
30-
wget http://www.linuxfromscratch.org/lfs/view/$LFSVERSION/md5sums
32+
wget https://www.linuxfromscratch.org/lfs/view/$LFSVERSION/wget-list||true
33+
. xtrasanyarch/usr/bin/RunSeds
34+
wget https://www.linuxfromscratch.org/lfs/view/$LFSVERSION/md5sums||true
3135
mv md5sums $SYSTEMSOURCE
32-
wget -i wget-list -c -P $SYSTEMSOURCE
36+
wget -nc -i wget-list -c -P $SYSTEMSOURCE||true
37+
rm wget-list
38+
wget https://www.linuxfromscratch.org/lfs/view/systemd/wget-list||true
39+
wget https://www.linuxfromscratch.org/lfs/view/systemd/md5sums||true
40+
wget -nc -i wget-list -c -P $SYSTEMSOURCE||true
41+
mv md5sums ${SYSTEMSOURCE}/md5sumsd
3342

3443
#wget/unzip from the blfs book I prefer to make this as part of the main system
35-
wget -c "$WGETTAR" -P $NETSOURCE
36-
wget -c "$UNZIPTAR" -P $SYSSOURCE
44+
wget -c "$WGETTAR" -P $NETSOURCE||true
45+
wget -c "$UNZIPTAR" -P $SYSSOURCE||true
3746

3847
touch $SYSTEMSOURCE/gotsystemsources
3948
rm wget-list
40-
49+
4150
pushd $SYSTEMSOURCE
4251
if ! md5sum -c md5sums;then
4352
echo "WARNING ... md5 hashes did NOT match, Exiting ..."
4453
exit 1
4554
fi
55+
if ! md5sum -c md5sumsd;then
56+
echo "WARNING ... md5 hashes did NOT match, Exiting ..."
57+
exit 1
58+
fi
59+
rm md5sumsd md5sums
4660
popd
4761

4862
fi
4963

5064
if [ ! -e cdtree/LFS/gottools ];then
51-
wget -c "$TOOLS32TAR" -P cdtree/LFS
52-
wget -c "$TOOLS64TAR" -P cdtree/LFS
53-
wget -c "$TOOLS64SYTEMDTAR" -P cdtree/LFS
65+
# wget -c "$TOOLS32TAR" -P cdtree/LFS
66+
# wget -c "$TOOLS64TAR" -P cdtree/LFS
5467
touch cdtree/LFS/gottools
5568
fi
5669

5770
if [ ! -e cdtree/LFS/gotpkgbuilds ];then
5871
pushd cdtree/LFS
59-
wget -c "$LFSPKGBUILDS"
60-
unzip ${LFSGITVERSION}.zip
61-
mv LFSPkgBuilds-${LFSGITVERSION} LFSPkgBuilds
62-
rm -r LFSPkgBuilds/.gitignore ${LFSGITVERSION}.zip
63-
cp -r ../../LFSScripts/BuildFileSystem LFSPkgBuilds/LFSScripts
72+
#wget -c "$LFSPKGBUILDS"
73+
#unzip ${LFSGITVERSION}.zip
74+
#mv LFSPkgBuilds-${LFSGITVERSION} LFSPkgBuilds
75+
#rm -r LFSPkgBuilds/.gitignore ${LFSGITVERSION}.zip
76+
git clone https://github.com/KeithDHedger/LFSPkgBuilds.git --branch 10.1 --single-branch
6477
pushd LFSPkgBuilds/LFSPkgBuildScripts/admin/LFSPkg
6578
wget -c $LFSPKG
6679
unzip master.zip
@@ -70,5 +83,16 @@ if [ ! -e cdtree/LFS/gotpkgbuilds ];then
7083
popd
7184
fi
7285

86+
(
87+
LFSVERSION=$LFSVERSION xtrasanyarch/usr/bin/getversions
88+
cp ./PkgVersions cdtree/LFS/LFSPkgBuilds/LFSScripts/LFSInitBuild
89+
mv ./PkgVersions cdtree/LFS/LFSPkgBuilds/LFSScripts/SysVBuild
90+
rm wget-list
91+
LFSVERSION="systemd" xtrasanyarch/usr/bin/getversions
92+
mv ./PkgVersions cdtree/LFS/LFSPkgBuilds/LFSScripts/SystemDBuild
93+
rm wget-list||true
94+
rm cdtree/LFS/LFSPkgBuilds/LFSPkgBuildScripts/kernel/PkgVersions||true
95+
rm cdtree/LFS/LFSPkgBuilds/LFSPkgBuildScripts/system/PkgVersions||true
96+
)||true
7397
exit 0
7498

xtrasanyarch/usr/bin/LFSSetUp

Lines changed: 63 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,6 @@ readWithDefault ()
3232
fi
3333
}
3434

35-
case $(uname -m) in
36-
x86_64)
37-
LIBDIRSUFFIX=64
38-
LFSNAME=${LFSNAME:-"LFS9064"}
39-
;;
40-
*)
41-
LIBDIRSUFFIX=""
42-
LFSNAME=${LFSNAME:-"LFS9032"}
43-
;;
44-
esac
45-
4635
PIBUILD=0
4736
USESYSTEMD=0
4837

@@ -58,17 +47,37 @@ LFS=${LFS:-"/mnt/LFS"}
5847
readWithDefault "LFS" "Enter Mountpoint For LFS"
5948

6049
#LFS Version
61-
LFSVERSION=${LFSVERSION:-9.0}
50+
LFSVERSION=${LFSVERSION:-10.1}
6251
readWithDefault "LFSVERSION" "Enter Version"
6352

53+
case $(uname -m) in
54+
x86_64)
55+
LIBDIRSUFFIX=64
56+
LFSNAME=${LFSNAME:-"LFS${LFSVERSION//./}64"}
57+
;;
58+
*)
59+
LIBDIRSUFFIX=""
60+
LFSNAME=${LFSNAME:-"LFS${LFSVERSION//./}32"}
61+
;;
62+
esac
63+
6464
#Computer name
6565
readWithDefault "LFSNAME" "Enter Hostname"
6666

67+
#cp files etc
68+
cp -r ${CDROMMOUNT}/LFS/LFSPkgBuilds ${LFS}
69+
ln -sfv LFSPkgBuilds/LFSPkgBuildScripts .
70+
6771
#LFS init type eithe bbinit or sysvinit
6872
INITTYPE=${INITTYPE:-"sysvinit"}
69-
readWithDefault "INITTYPE" "Enter Init Type (LFSInit|bbinit|systemd|sysvinit))"
73+
readWithDefault "INITTYPE" "Enter Init Type (LFSInit|systemd|sysvinit))"
7074
if [ "$INITTYPE" = "systemd" ];then
7175
USESYSTEMD=1
76+
. ${LFS}/LFSPkgBuilds/LFSScripts/SystemDBuild/PkgVersions
77+
KERNELVERSION=${KERNELVERSION:-$linux_version}
78+
else
79+
. ${LFS}/LFSPkgBuilds/LFSScripts/SysVBuild/PkgVersions
80+
KERNELVERSION=${KERNELVERSION:-$linux_version}
7281
fi
7382

7483
#libdir suffix
@@ -88,7 +97,6 @@ readWithDefault "SOURCEARCHIVES" "Enter Folder For Source Archives"
8897

8998
#kernal version
9099
#if the kernel version you want to use is not the same as the book you will have to manually download the source to $SOURCEARCHIVES
91-
KERNELVERSION=${KERNELVERSION:-"5.2.8"}
92100
readWithDefault "KERNELVERSION" "Enter Kernel Version"
93101

94102
#keyboard
@@ -114,11 +122,11 @@ LANGUAGE=${LANGUAGE:-$LANG}
114122
readWithDefault "LANGUAGE" "Enter Language"
115123

116124
#network
117-
IP="192.168.1.1"$(echo $ROOTDEV|sed 's/^[a-zA-Z\/]*//')
125+
IP=${IP:-"$(ifconfig |grep "inet addr"|head -n1|awk -F: '{print $2}'|awk '{print $1}'|sed 's/\(.*\)\..*$/\1/').$(echo $ROOTDEV|sed 's/^[a-zA-Z\/]*//')"}
118126
readWithDefault "IP" "Enter IP"
119127

120128
#Set up the network
121-
GATEWAY=${GATEWAY:-"192.168.1.254"}
129+
GATEWAY=${GATEWAY:-"$(route |grep default|awk '{print $2}')"}
122130
readWithDefault "GATEWAY" "Enter Gateway IP"
123131

124132
SUBNET=${SUBNET:-"255.255.255.0"}
@@ -161,28 +169,32 @@ if [ $SUMMARY = "n" ];then
161169
exit 1
162170
fi
163171

164-
#cp files etc
165-
cp -r ${CDROMMOUNT}/LFS/LFSPkgBuilds ${LFS}
166-
ln -sfv LFSPkgBuilds/LFSPkgBuildScripts .
167-
ln -sfv LFSPkgBuilds/LFSScripts .
168-
169-
mkdir -p ${LFS}/tools
170-
pushd ${LFS}/tools
172+
pushd ${LFS}
173+
mkdir -vp ${LFS}/${SOURCEARCHIVES}/KERNEL
174+
mkdir -vp "${LFS}/${SOURCEARCHIVES}" "${LFS}/$BUILTPACKAGES"
171175
case $(uname -m) in
172176
*64)
173-
if [ $USESYSTEMD -eq 1 ];then
174-
tar -xvf ${CDROMMOUNT}/LFS/tools-systemd-${LFSVERSION}_64.tar.bz2
175-
else
176-
tar -xvf ${CDROMMOUNT}/LFS/tools-${LFSVERSION}_64.tar.bz2
177-
fi
177+
tar -xvf ${CDROMMOUNT}/LFS/tools-${LFSVERSION}_64.tar.bz2
178178
;;
179179
*)
180180
tar -xvf ${CDROMMOUNT}/LFS/tools-${LFSVERSION}_32.tar.bz2
181181
;;
182182
esac
183+
184+
if [ "$USESYSTEMD" -eq 0 ];then
185+
ln -snvf LFSPkgBuilds/LFSScripts/SysVBuild LFSScripts
186+
ln -snvf ../../../LFSScripts/PkgVersions LFSPkgBuilds/LFSPkgBuildScripts/system/PkgVersions
187+
else
188+
if [ "$INITTYPE" = "LFSInit" ];then
189+
ln -snvf LFSPkgBuilds/LFSScripts/LFSInitBuild LFSScripts
190+
ln -snvf ../../../LFSScripts/PkgVersions LFSPkgBuilds/LFSPkgBuildScripts/kernel/PkgVersions
191+
else
192+
ln -snvf LFSPkgBuilds/LFSScripts/SystemDBuild LFSScripts
193+
ln -snvf ../../../LFSScripts/PkgVersions LFSPkgBuilds/LFSPkgBuildScripts/kernel/PkgVersions
194+
fi
195+
fi
183196
popd
184197

185-
mkdir -vp "${LFS}/$SOURCEARCHIVES" "${LFS}/$BUILTPACKAGES"
186198
cp -rv ${CDROMMOUNT}/LFS/LFSSourceArchives/${LFSVERSION}/* ${LFS}/$SOURCEARCHIVES
187199

188200
#set kernel version in build scripts
@@ -191,6 +203,11 @@ sed -ri 's/^VERSION="[0-9]+.[0-9]+.[0-9]+"/VERSION="'"${KERNELVERSION}"'"/' ${LF
191203

192204
ln -svf system-${INITTYPE}-meta.LFSBuild ${LFS}/${BUILDSCRIPTS}/system/system-meta/system-meta.LFSBuild
193205

206+
pushd ${LFS}/${SOURCEARCHIVES}/KERNEL
207+
ln -sv ../SYSTEM/linux-$KERNELVERSION.tar.xz linux-$KERNELVERSION.tar.xz
208+
ln -svfn ../../../LFSScripts/PkgVersions
209+
popd
210+
194211
cat > $LFS/LFSScripts/SystemData.local << EOF
195212
CDROMMOUNT=$CDROMMOUNT
196213
@@ -235,6 +252,23 @@ PIBUILD=$PIBUILD
235252
LANG=$LANGUAGE
236253
EOF
237254

255+
rm ${LFS}/etc/fstab
256+
cat > ${LFS}/etc/fstab << EOF
257+
# Begin /etc/fstab
258+
259+
#file system mount-point type options dump fsck order
260+
261+
$ROOTDEV / $ROOTFSTYPE defaults 1 1
262+
$SWAP swap swap pri=1 0 0
263+
proc /proc proc nosuid,noexec,nodev 0 0
264+
sysfs /sys sysfs nosuid,noexec,nodev 0 0
265+
devpts /dev/pts devpts gid=5,mode=620 0 0
266+
tmpfs /run tmpfs defaults 0 0
267+
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
268+
269+
# End /etc/fstab
270+
EOF
271+
238272
cat > ${LFS}/${BUILDSCRIPTS}/system/grub/grub.cfg << EOF
239273
# Begin /boot/grub/grub.cfg
240274

xtrasanyarch/usr/bin/RunSeds

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash -e
2+
3+
#©keithhedger Sat 24 Apr 13:33:18 BST 2021 kdhedger68713@gmail.com
4+
5+
sed -i 's|http://www.linuxfromscratch.org/patches/lfs/10.1/\([[:alnum:]][[:alnum:]]*\)\-\(.*\)|https://www.linuxfromscratch.org/patches/downloads/\1/\1-\2|g' wget-list

xtrasanyarch/usr/bin/getversions

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash -e
2+
3+
RED='\e[1;31m'
4+
GREEN='\e[1;32m'
5+
NORMAL='\e[0;0m'
6+
7+
trap 'echo -e "$0 ${RED}FAILED${NORMAL} at line ${GREEN}${LINENO}${NORMAL}"' ERR
8+
9+
LFSVERSION=${LFSVERSION:-"10.1"}
10+
11+
rm wget-list||true
12+
wget "https://www.linuxfromscratch.org/lfs/view/$LFSVERSION/wget-list"
13+
:>"./PkgVersions"
14+
15+
while read
16+
do
17+
case $REPLY in
18+
*html*)
19+
echo "ignoring $REPLY ..."
20+
;;
21+
*.patch)
22+
echo "ignoring $REPLY ..."
23+
;;
24+
*tzdata*)
25+
basename "${REPLY,,}"|sed 's/\([[:alpha:]]*\)\([[:digit:]]*\).*/\1_version=\2/' >> "./PkgVersions"
26+
basename "${REPLY,,}"|sed 's/.*[0-9]\(.\).*/tzdata_minor_rev=\1/' >> "./PkgVersions"
27+
basename "${REPLY,,}"|sed 's/\([[:alpha:]]*\)[[:digit:]]*..\(tar\..*\)*/\1_arctype=\2/' >> "./PkgVersions"
28+
;;
29+
*openssl*)
30+
basename "${REPLY,,}"|sed 's/.\.tar\..*$//'|sed 's/\(.*\)-\(.*\)/\1_version=\2/' >> "./PkgVersions"
31+
echo $REPLY|sed 's|.*\(.\)\.tar.*|openssl_minor_rev=\1|' >> "./PkgVersions"
32+
basename "${REPLY,,}"|sed 's/\(.*\)-.*\(tar\..*\)/\1_arctype=\2/'|tr "-" "_" >> "./PkgVersions"
33+
;;
34+
*expect*)
35+
basename "${REPLY,,}"|sed 's/expect\([0-9.]*\)\.tar\..*/expect_version=\1/' >> "./PkgVersions"
36+
basename "${REPLY,,}"|sed 's/\([[:alpha:]]*\).*\.\(tar\..*\)/\1_arctype=\2/' >> "./PkgVersions"
37+
;;
38+
*tcl*)
39+
basename "${REPLY,,}"|sed 's/tcl\([0-9]*\)/tcl_version=\1/'|sed 's/-src.*//' >> "./PkgVersions"
40+
basename "${REPLY,,}"|sed 's/.*src\.\(tar\..*\)/tcl_arctype=\1/' >> "./PkgVersions"
41+
;;
42+
*)
43+
basename "${REPLY,,}"|sed 's/\.tar\..*$//'|sed 's/\(.*\)-\(.*\)/\1_version=\2/'|tr "-" "_" >> "./PkgVersions"
44+
basename "${REPLY,,}"|sed 's/\(.*\)-.*\(tar\..*\)/\1_arctype=\2/'|tr "-" "_" >> "./PkgVersions"
45+
;;
46+
esac
47+
done < <(cat wget-list)
48+
49+
. $(dirname $0)/RunSeds

0 commit comments

Comments
 (0)