Mercurial > hg > aboriginal
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 |
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 | 14 mkdir -p "$LFS" && |
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 |