LFS、独自のLinuxシステムをコンパイル-準備

3633 ワード

概要
現在使用されているオペレーティングシステムはWin 8である.1,VMwareで1つの仮想マシンを作成して、3 Gメモリ(物理メモリは6 Gで、半分に分けます)、23 Gハードディスク、その中の3 Gはswapパーティションに用いて、10 Gはhost systemに用いて、10 GはLFSシステムを創立するために用います.
仮想マシンの作成
VMware 7を使用する.1.2仮想マシン、ハードディスク23 G、メモリ3 Gを作成する.
HDDパーティション
3つの区に分けて、sda 1、3 G、swapに使います;sda 2,10 G、ubuntu用;sda 3,10 G、LFS用.ubuntuをインストールするには、パーティションの実行、ファイルシステムの構築、ソースコードのダウンロード、ソースコードのコンパイルなどの作業が必要です.パーティションはubuntuのインストール時に行われます.
utuntuのインストール
インストールされているubuntuバージョンはubuntukylin-13.10-desktop-amd 64です.このバージョンをインストールしたのは、ハードディスクにちょうどこのミラーがあるので、他のミラーをダウンロードするのがおっくうです.ここで注意しなければならないのはhost systemバージョンが低すぎてはいけません.そうしないと、コンパイルのニーズを満たすことができません.
ubuntuをインストールしながら、上記の手順に従ってハードディスクパーティションを行います.
必要なパッケージの検出
LFSには、システムをコンパイルするために必要なパッケージのリストがリストされ、各パッケージのバージョンを検出するスクリプトが表示されます.
  • Bash-3.2 (/bin/sh should be a symbolic or hard link to bash)
  • Binutils-2.17 (Versions greater than 2.24 are not recommended as they have not been tested)
  • Bison-2.3 (/usr/bin/yacc should be a link to bison or small script that executes bison)
  • Bzip2-1.0.4
  • Coreutils-6.9
  • Diffutils-2.8.1
  • Findutils-4.2.31
  • Gawk-4.0.1 (/usr/bin/awk should be a link to gawk)
  • GCC-4.1.2 including the C++ compiler, g++ (Versions greater than 4.8.2 are not recommended as they have not been tested)
  • Glibc-2.5.1 (Versions greater than 2.19 are not recommended as they have not been tested)
  • Grep-2.5.1a
  • Gzip-1.3.12
  • Linux Kernel-2.6.32
  • M4-1.4.10
  • Make-3.81
  • Patch-2.5.4
  • Perl-5.8.8
  • Sed-4.1.5
  • Tar-1.18
  • Xz-5.0.0
  • cat > version-check.sh << "EOF"
    
    #!/bin/bash # Simple script to list version numbers of critical development tools export LC_ALL=C bash --version | head -n1 | cut -d" " -f2-4 echo "/bin/sh -> `readlink -f /bin/sh`" echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- bison --version | head -n1 if [ -e /usr/bin/yacc ]; then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; else echo "yacc not found"; fi bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 if [ -e /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; else echo "awk not found"; fi gcc --version | head -n1 g++ --version | head -n1 ldd --version | head -n1 | cut -d" " -f2- # glibc version grep --version | head -n1 gzip --version | head -n1 cat /proc/version m4 --version | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` sed --version | head -n1 tar --version | head -n1 xz --version | head -n1 echo 'main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ] then echo "g++ compilation OK"; else echo "g++ compilation failed"; fi rm -f dummy.c dummy for lib in lib{gmp,mpfr,mpc}.la; do echo $lib: $(if find /usr/lib* -name $lib| grep -q $lib;then :;else echo not;fi) found done unset lib
    
    EOF
    
    
    
    bash version-check.sh

    欠落したパッケージのインストール
    sudo apt-get install bison
    sudo apt-get install gawk
    sudo apt-get install build-essential

    Changelog
    2014-05-25初リリース