Linux From Scratch(從零開始構建Linux系統,簡稱LFS)- Version 7.7,scratchlfs

來源:互聯網
上載者:User

Linux From Scratch(從零開始構建Linux系統,簡稱LFS)- Version 7.7,scratchlfs

一. 準備工作

  1. 需要一個Linux宿主系統,例如早先版本的 LFS,Ubuntu/Fedora,SuSE 或者是在你的架構上可以啟動並執行其它發行版

 

二. LFS目標架構

    LFS主要支援 AMD/Intel 的 x86(32 位)和 x86_64(64 位元) 的目標架構。另外,做一些更改可以讓LFS 順利地在 Power PC 和

  ARM CPU 上運行。

    假如按照本文的預設構建,那麼你將得到一個“純” 64 位元系統————這意味著你僅能夠執行64 位元的程式。有一些異常老舊的

  包無法在“純” 64位系統上構建,或者是需要專門的編譯指令。通常出現這樣的問題是因為這些包包含有一些與32 位系統緊密相關的

  彙編指令。大多數問題都有解決方案,但可能需要特別的方法或者是補丁。

 

三. 宿主系統需求

    確保宿主系統已經包含了所有合適的軟體版本,具有了編譯器的能力,這對於一個現代的Linux發行版系統不是一個問題。

  你需要運行以下指令:

cat > version-check.sh << "EOF"#!/bin/bash# Simple script to list version numbers of critical development toolsexport LC_ALL=Cbash --version | head -n1 | cut -d" " -f2-4echo "/bin/sh -> `readlink -f /bin/sh`"echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-bison --version | head -n1if [ -h /usr/bin/yacc ]; thenecho "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";elif [ -x /usr/bin/yacc ]; thenecho yacc is `/usr/bin/yacc --version | head -n1`elseecho "yacc not found"fibzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2diff --version | head -n1find --version | head -n1gawk --version | head -n1if [ -h /usr/bin/awk ]; thenecho "/usr/bin/awk -> `readlink -f /usr/bin/awk`";elif [ -x /usr/bin/awk ]; thenecho yacc is `/usr/bin/awk --version | head -n1`elseecho "awk not found"figcc --version | head -n1g++ --version | head -n1ldd --version | head -n1 | cut -d" " -f2- # glibc versiongrep --version | head -n1gzip --version | head -n1cat /proc/versionm4 --version | head -n1make --version | head -n1patch --version | head -n1echo Perl `perl -V:version`sed --version | head -n1tar --version | head -n1makeinfo --version | head -n1xz --version | head -n1echo 'main(){}' > dummy.c && g++ -o dummy dummy.cif [ -x dummy ]then echo "g++ compilation OK";else echo "g++ compilation failed"; firm -f dummy.c dummyEOFbash version-check.shView Code

  同時,還請進行庫檔案的一致性檢查,這些檔案應該要麼都在或者是都缺失,而不應該只有一兩個。

cat > library-check.sh << "EOF"#!/bin/bashfor lib in lib{gmp,mpfr,mpc}.la; doecho $lib: $(if find /usr/lib* -name $lib|grep -q $lib;then :;else echo not;fi) founddoneunset libEOFbash library-check.shView Code

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.