lubuntuを使ってLFS7.1に挑戦する(その1)

ここではVMWareを使っている。x64のことは考えていない。

lubuntuをインストールして、新規にハードディスク(ここでは8G.vmdkという名前にする)を追加する。このディスクがLFS用になる。lubuntuのインストールはキーボード設定以外は英語で行った。

(注意:ハードディスクはIDEを選択すること。SCSIでやってはまった。
VMWareでlubuntuにハードディスクを追加して起動したところから始まる。
もろもろの資料はここにある。

最初にこのディスクをext3でフォーマットする。追加したディスクがどの/dev/になるかはfdisk -lなどで確認する。
ここでは/dev/sdbになっている。

rootでログイン

ext3をsdbに作成
(ここ間違え、/dev/sdbじゃなくて/dev/sdb1にしないといけない。fdisk /dev/sdbしてパーティションを最初につくっていないといけない)

マニュアルではswapや/homeを別のパーティションに分けることを推奨しているがここではスルー。

このファイルにパッケージのURL一覧がある。

たくさんダウンロードする

ないファイルやダウンロード失敗があるかもしれないのがこのmd5チェックが成功するまで頑張る。
ないファイルは他の場所から探す。

ユーザとグループ lfs を作成

-k /dev/nullはスケルトンを参照しない

lfsでログイン

スケルトンを参照しないのでここでbashを起動

set +h はPATHのハッシュを無効にする。

p32 5.4. Binutils-2.22 – Pass 1

Binutilsにはリンカやアセンブラなどオブジェクトファイルを扱うツールが入っている。

lubuntuにgccが入ってないので入れる。一般ユーザに戻ってからインストールしてまたlfsユーザに戻る。

もう一回、今度は成功してMakefileができた。

–target=$LFS_TGTはこのbinutilsがクロスコンパイラ用であることを示す。
–prefix=/tools インストールする場所、実際には/lfs/tools
–disable-nls i18n機能を無効化、このbinutilsは一時的なものなので
–disable-werror 警告を無効

メイクする、が、またmakeが入ってないのでインストール(記述は省略)

インストールする。/toolsに入るためlfsユーザのままでいいはず

p34 5.5. GCC-4.6.2 – Pass 1

なんか知らないがクロスコンパイル用でエラーが出ないためのパッチを当てる、が、またpatchがないのでインストールしてからやる。

ビルドは別のディレクトリでやる

configureする

–disable-shared スタティックリンクする
–enable-languages=c Cコンパイラだけビルドする
そのほかいろいろ無効にする。

メイクする

–disable-sharedでコンフィグしたのでlibgcc_eh.aが作られない。これはGlibcが内部的に使うのでlibgcc.aにシンボリックリンクを張ることで回避する。libgcc.aにはlibgcc_eh.aの内容が入っている、らしい。

p.36 5.6. Linux-3.2.6 API Headers

GlibcのためにカーネルAPIを公開する。

.configとかを削除してきれいにする。

カーネルヘッダをエクスポートする

p37 5.7. Glibc-2.14.1

Glibcをインストールする。Cの基本的な機能を提供する。

パッチを当てる。

コンフィグする。

メイクする。

エラーが出た、gwakをインストールして再トライ(コンフィグから)

インストールする。

長いのでとりあえずここまで。また続く

Leave a Reply

Your email address will not be published. Required fields are marked *

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