annotate sources/native/src/mklfs.sh @ 812:4e1e6aa7f445

Convince gcc to build/install libgcc_eh.a even for --disable-shared compilers, and tell the wrapper to expect it.
author Rob Landley <rob@landley.net>
date Sat, 22 Aug 2009 04:07:00 -0500
parents 40ef2d448e64
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
459
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
1 #!/bin/bash
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
2
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
3 [ -z "$LFS" ] && LFS=/home/lfs
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
4 [ -z "$CPUS" ] && CPUS=1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
5
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
6 SCRIPTPATH="$(which "$0")"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
7
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
8 echo "LFS chapter 3: Download lfs-packages (grab one big tarball and extract)"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
9
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
10 if [ ! -d "$LFS"/packages/. ]
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
11 then
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
12 if [ ! -f "$LFS"/lfs-packages-6.3.tar ]
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
13 then
477
40ef2d448e64 Minor tweak.
Rob Landley <rob@landley.net>
parents: 459
diff changeset
14 mkdir -p "$LFS" &&
40ef2d448e64 Minor tweak.
Rob Landley <rob@landley.net>
parents: 459
diff changeset
15 cd "$LFS" &&
459
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
16 wget http://ftp.osuosl.org/pub/lfs/lfs-packages/lfs-packages-6.3.tar ||
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
17 exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
18 fi
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
19
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
20 mkdir "$LFS"/packages &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
21 cd "$LFS"/packages &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
22 tar xvf ../lfs-packages-6.3.tar
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
23 fi
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
24
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
25 echo "LFS chapter 4.4: clear environment"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
26
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
27 set +h
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
28 umask 022
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
29 export LC_ALL=POSIX
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
30 export PATH=/tools/bin:/bin:/usr/bin
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
31
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
32 # We can mostly use the FWL /tools tarball as the output of FWL chapter 5,
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
33 # except that glibc needs perl to build. So add perl to /tools.
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
34
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
35 echo "LFS chapter 5.25: add perl to tools dir"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
36
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
37 if [ ! -f /tools/bin/perl ]
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
38 then
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
39 cd "$LFS" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
40 tar xvjf "$LFS"/packages/perl-*.tar.bz2 &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
41 cd perl-5.*/ &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
42 patch -p1 -i "$LFS"/packages/perl-*-libc-2.patch &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
43 sed -i 's/libc\.so\.6/libc.so.0/g' hints/linux.sh &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
44 ./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX' &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
45 make -j $CPUS perl utilities &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
46 PRIVLIB="$(sed -n 's/^privlib[\t ]*=[\t ]*//p' Makefile)" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
47 cp -v perl pod/pod2man /tools/bin &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
48 mkdir -p "$PRIVLIB" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
49 cp -Rv lib/* "$PRIVLIB" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
50 cd .. &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
51 rm -rf perl-5.*/
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
52
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
53 [ $? -ne 0 ] && exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
54 fi
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
55
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
56 echo "LFS chapter 6.2: setup chroot (plus bind mount /tools into new subdir)."
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
57
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
58 if [ "$1" != "--no-chroot" ]
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
59 then
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
60 mkdir -p "$LFS"/{dev,proc,sys,tools,root/work} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
61 ln -s /packages "$LFS"/root/work/packages &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
62 mount --bind /tools "$LFS"/tools &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
63 mount -vt proc proc "$LFS"/proc &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
64 mount -vt sysfs sysfs "$LFS"/sys || exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
65
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
66 # These are allowed to fail (may already exist if script is re-run), but
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
67 # must happen before the /dev bind mount to give udev stuff to use.
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
68
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
69 mknod -m 600 "$LFS"/dev/console c 5 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
70 mknod -m 666 "$LFS"/dev/null c 1 3
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
71
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
72 mount -v --bind /dev "$LFS"/dev || exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
73
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
74 # These may fail if host's /dev doesn't have pts or shm subdirectories.
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
75
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
76 mount -vt devpts devpts "$LFS"/dev/pts
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
77 mount -vt tmpfs shm "$LFS"/dev/shm
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
78
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
79 echo "LFS chapter 6.4: chroot (tweaked quite a bit)."
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
80
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
81 # Perform the chroot, re-running this script with extra argument
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
82 # (--no-chroot) and several more environment variables
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
83
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
84 cp "$SCRIPTPATH" "$LFS"/mklfs.sh &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
85 chroot "$LFS" /tools/bin/env -i \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
86 HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
87 PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
88 UCLIBC_DYNAMIC_LINKER=/tools/lib/ld-uClibc.so.0 \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
89 UCLIBC_RPATH=/tools/lib LFS="/root/work" CPUS=$CPUS \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
90 /tools/bin/bash /mklfs.sh --no-chroot
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
91
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
92 # The chroot exited. Snapshot return code, clean up mounts, return.
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
93
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
94 RETVAL=$?
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
95 umount "$LFS"/{dev/{pts,shm},proc,sys,tools}
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
96 umount "$LFS"/dev
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
97 exit $RETVAL
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
98 fi
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
99
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
100 # At this point, we've either done the chroot already or we're not doing one.
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
101
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
102 echo "LFS chapter 6.5: creating directories"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
103
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
104 mkdir -p /{bin,boot,etc/opt,home,lib,mnt,opt} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
105 mkdir -p /{media/{floppy,cdrom},sbin,srv,var} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
106 install -dv -m 0750 /root &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
107 install -dv -m 1777 /tmp /var/tmp &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
108 mkdir -p /usr/{,local/}{bin,include,lib,sbin,src} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
109 mkdir -p /usr/{,local/}share/{doc,info,locale,man} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
110 mkdir /usr/{,local/}share/{misc,terminfo,zoneinfo} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
111 mkdir -p /usr/{,local/}share/man/man{1..8} || exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
112 for dir in /usr /usr/local; do
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
113 ln -s share/{man,doc,info} $dir || exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
114 done
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
115 mkdir /var/{lock,log,mail,run,spool} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
116 mkdir -p /var/{opt,cache,lib/{misc,locate},local} || exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
117
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
118 echo "LFS chapter 6.6: symlinks pointing into /tools and general bootstrapping"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
119
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
120 # Note: /etc/mtab is dead, so no touch: symlink /etc/mtab to /proc/mounts
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
121
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
122 ln -s /tools/bin/{bash,cat,echo,grep,pwd,stty} /bin &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
123 ln -s /tools/bin/perl /usr/bin &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
124 ln -s /tools/lib/libgcc_s.so{,.1} /usr/lib &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
125 ln -s /tools/lib/libstdc++.so{,.6} /usr/lib &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
126 ln -s bash /bin/sh &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
127 ln -s /proc/mounts /etc/mtab &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
128
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
129 cat > /etc/passwd << "EOF" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
130 root:x:0:0:root:/root:/bin/bash
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
131 nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
132 EOF
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
133
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
134 cat > /etc/group << "EOF" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
135 root:x:0:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
136 bin:x:1:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
137 sys:x:2:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
138 kmem:x:3:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
139 tty:x:4:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
140 tape:x:5:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
141 daemon:x:6:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
142 floppy:x:7:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
143 disk:x:8:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
144 lp:x:9:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
145 dialout:x:10:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
146 audio:x:11:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
147 video:x:12:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
148 utmp:x:13:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
149 usb:x:14:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
150 cdrom:x:15:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
151 mail:x:34:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
152 nogroup:x:99:
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
153 EOF
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
154
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
155 touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
156 chgrp utmp /var/run/utmp /var/log/lastlog &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
157 chmod 664 /var/run/utmp /var/log/lastlog ||
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
158 exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
159
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
160 echo "LFS chapter 6.7: kernel API headers"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
161
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
162 cd "$LFS" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
163 tar xvjf "$LFS"/packages/linux-*.tar.bz2 &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
164 cd linux-* &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
165 sed -i '/scsi/d' include/Kbuild &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
166 make -j $CPUS INSTALL_HDR_PATH=/usr headers_install &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
167 cd .. &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
168 rm -rf linux-* ||
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
169 exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
170
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
171 echo "LFS 6.8: man pages"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
172
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
173 cd "$LFS" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
174 tar xvjf "$LFS"/packages/man-pages-*.tar.bz2 &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
175 cd man-pages-* &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
176 make -j $CPUS install &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
177 cd .. &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
178 rm -rf man-pages-* ||
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
179 exit 1
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
180
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
181 echo "LFS 6.9: glibc"
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
182
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
183 cd "$LFS" &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
184 tar xvjf "$LFS"/packages/glibc-[0-9]*.tar.bz2 &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
185 cd glibc-* &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
186 tar xvzf "$LFS"/packages/glibc-libidn-*.tar.gz &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
187 mv glibc-libidn-* libidn &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
188 sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
189 sed -i \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
190 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
191 scripts/test-installation.pl &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
192 sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
193 mkdir ../glibc-build &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
194 cd ../glibc-build &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
195 ../glibc-2.5.1/configure --prefix=/usr \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
196 --disable-profile --enable-add-ons \
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
197 --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc &&
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
198 make -j $CPUS
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
199
b40ff807a8a8 Embedded Linux From Scratch 6.3 build script (in progress, not finished yet).
Rob Landley <rob@landley.net>
parents:
diff changeset
200 /tools/bin/ash