趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • LFSに挑戦1(準備段階)

    投稿日 2013年 8月 12日 コメントはありません

    LFS(Linux From Scratch)に挑戦してみます。目的は、Linuxの起動シーケンスの理解です。
    母艦環境は先にインストールしたDebian7.1(Wheezy)です。
    基本的にLFS Bookに沿って進めて、実際の作業のみメモを残します。
    まずは第4章の準備段階の完了までです。

    <追伸>
    入力するコマンドのコピペをする場合には、HTML版で行う。PDF版では行の終わりにゴミがついてしまうようで、複数行に渡る場合に正しく入力されません。

    1. パーティションの作成(2.2)
      ディスクユーティリティでルートパーティションを作成。後でパーティションまるごと16GBのUSBメモリにいれることを考えて、とりあえず12GB。ファイルタイプはext4。パーティションは /dev/sda3
      スワップはとりあえず作らない。
    2. ファイルシステムの生成(2.3)
      $ sudo mke2fs -jv /dev/sda3
    3. ファイルシステムのマウント(2.4)
      $ export LFS=/mnt/lfs
      $ sudo mkdir -pv $LFS
      $ sudo mount -v -t ext4 /dev/sda3 $LFS
    4. ソースおよびパッチの保存場所を作成(3.1)
      $ sudo mkdir -v $LFS/sources
      $ sudo chmod -v a+wt $LFS/sources
      ブラウザでSOURCEFORGE.JPのLFSブック日本語版のプロジェクトからwget-listを取得する。
      以下の方法で wget-list を書き換えて、理研のサイトから引っ張ってくるよう書き換える。
      $ mv wget-list{,.orig}
      $ cat > wget-list-ja.sed << “EOF”
      s|ftp\.gnu\.org/gnu/|ftp.riken.jp/GNU/gnu/|g
      s|www\.kernel\.org/pub/linux/|ftp.riken.jp/Linux/kernel.org/linux/|g
      s|www\.cpan\.org|ftp.riken.jp/lang/CPAN|g
      s|ftp\.vim\.org|ftp.jp.vim.org|g
      EOF
      $ sed -f wget-list-ja.sed wget-list.orig > wget-list
      $ rm wget-list-ja.sed
    5. パッケージをダウンロードする(3.2)
      $ wget -N -i wget-list -P $LFS/sources
      $ wget -N -i wget-list.orig -P $LFS/sourcesパッケージをチェックする。$LFS/sourcesに以下のファイルを作成。
      pushd $LFS/sources
      md5sum -c md5sums
      popdSOURCEFORGE.JPからmd5sumsファイルを持ってきて、$LFS/sources に置いて上記ファイルをスクリプトとして実行する。
      実行するとzlib-1.2.7.tar.bz2 が存在しないと表示された。
    6. zlibをダウンロード
      最新版のバージョンを調べると1.2.8となっていたので、wget-list、wget-list.orig、md5sums の zlib のファイル名を zlib-1.2.8.tar.xz に書き換えて再度ダウンロード&チェックを実施。
    7. パッチをダウンロード(3.3)
      パッチのリストからwget用のファイルを作って、
      $ wget -N -i wget-patch -P $LFS/sources
      として取得・・・・と思ったら、wget-listには初めから入ってた・・・・orz
    8. $LFS/toolsディレクトリの生成(4.2)
      $ su
      # mkdir -v $LFS/tools
      # ln -sv $LFS/tools /
    9. LFSユーザーの追加(4.3)
      $ sudo groupadd lfs
      $ sudo useradd -s /bin/bash -g lfs -m -k /dev/null lfs
      $ sudo passwd lfs
      $ sudo chown -v lfs $LFS/tools
      $ sudo chown -v lfs $LFS/sources
      $ su – lfs
    10. LFSユーザーの環境設定
      LFSユーザーでログイン
      $ ssh lfs@localhost
      $ cat > ~/.bash_profile << “EOF”
      exec env -i HOME=$HOME TERM=$TERM PS1=’\u:\w\$ ‘ /bin/bash
      EOF
      $ cat > ~/.bashrc << “EOF”
      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
      EOF
      ユーザープロファイルの取り込み
      source ~/.bash_profile

    コメントをどうぞ(日本語のみ/Only in Japanese)

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)