Created
March 3, 2013 06:11
-
-
Save jeek/5074860 to your computer and use it in GitHub Desktop.
The goal here is to build an LFS system by booting a blank VirtualBox guest off an Ubuntu live CD and executing: wget -O - http://wherethisscriptis/smith.sh|sudo bash - work in progress
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| echo "o | |
| n | |
| p | |
| 1 | |
| n | |
| w"|sudo fdisk /dev/sda | |
| mke2fs -jv /dev/sda1 | |
| export LFS=/mnt/lfs | |
| mkdir -pv /mnt/lfs | |
| mount -v -t ext3 /dev/sda1 /mnt/lfs | |
| mkdir -v /mnt/lfs/sources | |
| chmod -v a+wt /mnt/lfs/sources | |
| echo "http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz | |
| http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.xz | |
| http://ftp.gnu.org/gnu/bash/bash-4.2.tar.gz | |
| http://ftp.gnu.org/gnu/binutils/binutils-2.23.1.tar.bz2 | |
| http://ftp.gnu.org/gnu/bison/bison-2.7.tar.xz | |
| http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz | |
| http://sourceforge.net/projects/check/files/check/0.9.9/check-0.9.9.tar.gz | |
| http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz | |
| http://ftp.gnu.org/gnu/dejagnu/dejagnu-1.5.tar.gz | |
| http://ftp.gnu.org/gnu/diffutils/diffutils-3.2.tar.gz | |
| http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.42.7.tar.gz | |
| http://prdownloads.sourceforge.net/expect/expect5.45.tar.gz | |
| ftp://ftp.astron.com/pub/file/file-5.13.tar.gz | |
| http://ftp.gnu.org/gnu/findutils/findutils-4.4.2.tar.gz | |
| http://prdownloads.sourceforge.net/flex/flex-2.5.37.tar.bz2 | |
| http://ftp.gnu.org/gnu/gawk/gawk-4.0.2.tar.xz | |
| http://ftp.gnu.org/gnu/gcc/gcc-4.7.2/gcc-4.7.2.tar.bz2 | |
| http://ftp.gnu.org/gnu/gdbm/gdbm-1.10.tar.gz | |
| http://ftp.gnu.org/gnu/gettext/gettext-0.18.2.tar.gz | |
| http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.xz | |
| http://ftp.gnu.org/gnu/grep/grep-2.14.tar.xz | |
| http://ftp.gnu.org/gnu/groff/groff-1.22.2.tar.gz | |
| http://ftp.gnu.org/gnu/grub/grub-2.00.tar.xz | |
| http://ftp.gnu.org/gnu/gzip/gzip-1.5.tar.xz | |
| http://anduin.linuxfromscratch.org/sources/LFS/lfs-packages/conglomeration//iana-etc/iana-etc-2.30.tar.bz2 | |
| http://ftp.gnu.org/gnu/inetutils/inetutils-1.9.1.tar.gz | |
| http://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-3.8.0.tar.xz | |
| http://ftp.altlinux.org/pub/people/legion/kbd/kbd-1.15.5.tar.gz | |
| http://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-12.tar.xz | |
| http://www.greenwoodsoftware.com/less/less-451.tar.gz | |
| http://www.linuxfromscratch.org/lfs/downloads/7.3/lfs-bootscripts-20130123.tar.bz2 | |
| http://download.savannah.gnu.org/releases/libpipeline/libpipeline-1.2.2.tar.gz | |
| http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz | |
| http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.1.tar.xz | |
| http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2 | |
| http://ftp.gnu.org/gnu/make/make-3.82.tar.bz2 | |
| http://download.savannah.gnu.org/releases/man-db/man-db-2.6.3.tar.xz | |
| http://www.kernel.org/pub/linux/docs/man-pages/man-pages-3.47.tar.xz | |
| ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz | |
| http://ftp.gnu.org/gnu/patch/patch-2.7.1.tar.xz | |
| http://www.cpan.org/src/5.0/perl-5.16.2.tar.bz2 | |
| http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz | |
| http://sourceforge.net/projects/procps-ng/files/Production/procps-ng-3.3.6.tar.xz | |
| http://prdownloads.sourceforge.net/psmisc/psmisc-22.20.tar.gz | |
| http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz | |
| http://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.bz2 | |
| http://pkg-shadow.alioth.debian.org/releases/shadow-4.1.5.1.tar.bz2 | |
| http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.tar.gz | |
| http://download.savannah.gnu.org/releases/sysvinit/sysvinit-2.88dsf.tar.bz2 | |
| http://ftp.gnu.org/gnu/tar/tar-1.26.tar.bz2 | |
| http://prdownloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz | |
| http://www.iana.org//time-zones/repository/releases/tzdata2012j.tar.gz | |
| http://ftp.gnu.org/gnu/texinfo/texinfo-5.0.tar.xz | |
| http://www.freedesktop.org/software/systemd/systemd-197.tar.xz | |
| http://anduin.linuxfromscratch.org/sources/other/udev-lfs-197-2.tar.bz2 | |
| http://www.kernel.org/pub/linux/utils/util-linux/v2.22/util-linux-2.22.2.tar.xz | |
| ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 | |
| http://tukaani.org/xz/xz-5.0.4.tar.xz | |
| http://www.zlib.net/zlib-1.2.7.tar.bz2 | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/bash-4.2-fixes-11.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/binutils-2.23.1-testsuite_fix-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/bzip2-1.0.6-install_docs-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/coreutils-8.21-i18n-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/flex-2.5.37-bison-2.6.1-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/kbd-1.15.5-backspace-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/make-3.82-upstream_fixes-3.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/perl-5.16.2-libc-1.patch | |
| http://www.linuxfromscratch.org/patches/lfs/7.3/readline-6.2-fixes-1.patch | |
| "|wget -i - -P /mnt/lfs/sources | |
| apt-get -y install bison gawk m4 texinfo | |
| mkdir -v /mnt/lfs/tools | |
| ln -sv /mnt/lfs/tools / | |
| groupadd lfs | |
| useradd -s /bin/bash -g lfs -m -k /dev/null lfs | |
| #passwd lfs | |
| #su - lfs | |
| echo "exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash | |
| " > ~lfs/.bash_profile | |
| echo "set +h | |
| umask 022 | |
| LFS=/mnt/lfs | |
| LC_ALL=POSIX | |
| LFS_TGT=$(uname -m)-lfs-linux-gnu | |
| PATH=/tools/bin:/bin:/usr/bin | |
| export LFS LC_ALL LFS_TGT PATH | |
| " > ~lfs/.bashrc | |
| source ~lfs/.bash_profile | |
| source ~lfs/.bashrc | |
| chown -v -R lfs.lfs /mnt/lfs/tools | |
| chown -v -R lfs.lfs /mnt/lfs/sources | |
| chown lfs.lfs ~lfs/.bash_profile | |
| chown lfs.lfs ~lfs/.bashrc | |
| su lfs -c "mkdir -v /mnt/lfs/sources/binutils-build" | |
| cd /mnt/lfs/sources | |
| su lfs -c "bunzip2 binutils-2.23.1.tar.bz2" | |
| su lfs -c "tar -xvf binutils-2.23.1.tar" | |
| cd binutils-build | |
| su lfs -c "../binutils-2.23.1/configure --prefix=/tools --with-sysroot=/mnt/lfs --with-lib-path=/tools/lib --target=$LFS_TGT --disable-nls --disable-werror" | |
| su lfs -c "make" | |
| case $(uname -m) in | |
| x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;; | |
| esac | |
| chown lfs.lfs /tools/lib64 | |
| chown lfs.lfs /tools/lib | |
| su lfs -c "make install" | |
| cd .. | |
| su lfs -c "bunzip2 gcc-4.7.2.tar.bz2" | |
| su lfs -c "tar -xvf gcc-4.7.2.tar" | |
| cd gcc-4.7.2 | |
| su lfs -c "./contrib/download_prerequisites" | |
| echo "for file in \ | |
| \$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) | |
| do | |
| cp -uv \$file{,.orig} | |
| sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \ | |
| -e 's@/usr@/tools@g' \$file.orig > \$file | |
| echo ' | |
| #undef STANDARD_STARTFILE_PREFIX_1 | |
| #undef STANDARD_STARTFILE_PREFIX_2 | |
| #define STANDARD_STARTFILE_PREFIX_1 \"/tools/lib/\" | |
| #define STANDARD_STARTFILE_PREFIX_2 \"\"' >> \$file | |
| touch \$file.orig | |
| done | |
| " > smith2.sh | |
| su lfs -c "bash smith2.sh" | |
| sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure | |
| sed -i 's/BUILD_INFO=info/BUILD_INFO=/' gcc/configure | |
| su lfs -c "mkdir -v ../gcc-build" | |
| cd ../gcc-build | |
| su lfs -c "../gcc-4.7.2/configure --target=$LFS_TGT --prefix=/tools --with-sysroot=$LFS --with-newlib --without-headers --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --enable-languages=c --with-mpfr-include=$(pwd)/../gcc-4.7.2mpfr/src --with-mpfr-lib=$(pwd)/mpfr/src/.libs" | |
| su lfs -c "make" | |
| su lfs -c "make install" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment