zoukankan      html  css  js  c++  java
  • LFS6.3安装全过程(三)

    mkdir -pv $LFS/{dev,proc,sys}
    mknod -m 600 $LFS/dev/console c 5 1
    mknod -m 666 $LFS/dev/null c 1 3
    mount -v --bind /dev $LFS/dev
    mount -vt devpts devpts $LFS/dev/pts
    mount -vt tmpfs shm $LFS/dev/shm
    mount -vt proc proc $LFS/proc
    mount -vt sysfs sysfs $LFS/sys

    chroot "$LFS" /tools/bin/env -i \
    HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login +h

    mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}
    mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
    install -dv -m 0750 /root
    install -dv -m 1777 /tmp /var/tmp
    mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
    mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
    mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
    mkdir -pv /usr/{,local/}share/man/man{1..8}
    for dir in /usr /usr/local; do
    ln -sv share/{man,doc,info} $dir
    done
    mkdir -v /var/{lock,log,mail,run,spool}
    mkdir -pv /var/{opt,cache,lib/{misc,locate},local}

    ln -sv /tools/bin/{bash,cat,echo,grep,pwd,stty} /bin
    ln -sv /tools/bin/perl /usr/bin
    ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
    ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
    ln -sv bash /bin/sh

    touch /etc/mtab

    cat > /etc/passwd << "EOF"
    root:x:0:0:root:/root:/bin/bash
    nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
    EOF

    cat > /etc/group << "EOF"
    root:x:0:
    bin:x:1:
    sys:x:2:
    kmem:x:3:
    tty:x:4:
    tape:x:5:
    daemon:x:6:
    floppy:x:7:
    disk:x:8:
    lp:x:9:
    dialout:x:10:
    audio:x:11:
    video:x:12:
    utmp:x:13:
    usb:x:14:
    cdrom:x:15:
    mail:x:34:
    nogroup:x:99:
    EOF

    exec /tools/bin/bash --login +h

    touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
    chgrp -v utmp /var/run/utmp /var/log/lastlog
    chmod -v 664 /var/run/utmp /var/log/lastlog

    cd /sources/

    tar xvf linux-2.6.22.5.tar.bz2
    cd linux-2.6.22.5
    sed -i '/scsi/d' include/Kbuild
    make mrproper
    make headers_check
    make INSTALL_HDR_PATH=dest headers_install
    cp -rv dest/includecrt[1in].*succeeded' dummy.log
    grep -B1 '^ /usr/include' dummy.log
    grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
    grep "/lib/libc.so.6 " dummy.log
    grep found dummy.log
    rm -v dummy.c a.out dummy.log

    tar xvf binutils-2.17.tar.bz2
    cd binutils-2.17
    mkdir -v ../binutils-build
    cd ../binutils-build
    ../binutils-2.17/configure --prefix=/usr \
    --enable-shared
    make tooldir=/usr
    make check
    make tooldir=/usr install
    cp -v ../binutils-2.17/include/libiberty.h /usr/include
    cd ..
    rm -rf binutils-2.17
    rm -rf binutils-build

    tar xvf gcc-4.1.2.tar.bz2
    cd gcc-4.1.2
    sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
    sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in
    sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
    sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in
    mkdir -v ../gcc-build
    cd ../gcc-build
    ../gcc-4.1.2/configure --prefix=/usr \
    --libexecdir=/usr/lib --enable-shared \
    --enable-threads=posix --enable-__cxa_atexit \
    --enable-clocale=gnu --enable-languages=c,c++
    make
    make -k check
    ../gcc-4.1.2/contrib/test_summary
    make install
    ln -sv ../usr/bin/cpp /lib
    ln -sv gcc /usr/bin/cc

    echo 'main(){}' > dummy.c
    cc dummy.c -v -Wl,--verbose &> dummy.log
    readelf -l a.out | grep ': /lib'

    grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
    grep -B3 '^ /usr/include' dummy.log
    grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
    grep "/lib/libc.so.6 " dummy.log
    grep found dummy.log
    rm -v dummy.c a.out dummy.log
    cd ..
    rm -rf gcc-4.1.2
    rm -rf gcc-build

  • 相关阅读:
    LeetCode 326. Power of Three
    LeetCode 324. Wiggle Sort II
    LeetCode 322. Coin Change
    LeetCode 321. Create Maximum Number
    LeetCode 319. Bulb Switcher
    LeetCode 318. Maximum Product of Word Lengths
    LeetCode 310. Minimum Height Trees (DFS)
    个人站点大开发!--起始篇
    LeetCode 313. Super Ugly Number
    LeetCode 309. Best Time to Buy and Sell Stock with Cooldown (DP)
  • 原文地址:https://www.cnblogs.com/snailrun/p/2644833.html
Copyright © 2011-2022 走看看