dinguxのためのbuildrootによるrootfs構築方法
dingux : how to build your own rootfs with buidroot.
buildrootにより環境を構築することで、以下が可能になります。
1.rootfsの構築
2.linux kernelのコンパイル
3.hwinitなどのバイナリの構築
1はこのプロセスで行われ、
2と3は追加作業が必要になります。
(ここでは書きません…)
■必要なファイル
buildroot-2009.05-dingux.patched.tar.bz2
http://buildroot-2009.05-dingux.patched.tar.bz2
linux-2.6.24.3-dingux.tar.bz2
■基本環境
ネット接続環境
ubuntu 11.10を利用
VirtualBoxなどのVM利用をおすすめ
環境用HDDは空き容量20GB程度
ディスクイメージからのインストール&アップデート
■手順
まずは各種ツールのインストールです。
sudo apt-get install g++などとして、以下のツールをインストールします。
g++
bison
flex
gettext
patch
libtinfo-dev(terminfo)
subversion
libncurses5-dev
makeinfo(必要なら?)
次に、buildroot本体をダウンロード、
tar xjvfで解凍します。
buildroot.configを.configに上書きコピーします。
make menuconfigとして、
ESCを二回押し、設定を保存して終了します。
/optディレクトリのアクセス権限を変更します。
sudo chmod a+rwx /opt
linux-2.6.24.3-dingux.tar.bz2をダウンロード、
buildrootのフォルダ直下にdlディレクトリを作成し、コピーします。
そしてmakeを行います。
binariesフォルダにrootfsの生成物が、
/opt以下にコンパイラやライブラリ等の出来上がります。
■このbuildrootで変更されたもの
linux kernel、uClibc用のunidef.cに対するパッチが取り込まれた。
libmikmod.mkのパッチの自動化。
Tremorをsvnからではなくサイトからのダウンロードに変更。(automakeに不具合があったため)
ダウンロードサイトをeasynewsから、sources.buildroot.netに変更。
■tips
これは自動化の作業の際のメモです。
linux kernelのソースコードは、
svn checkout http://dingoo-linux.googlecode.com/svn/trunk/ dingoo-linux-read-only
で入手。
ディレクトリのリネーム
mv linux-2.6.24.3 linux-2.6.24.3-dingux
unidefのパッチを当てます。
cd linux-2.6.24.3-dingux/extra/scripts
patch < unidef.patch
パッチはuClibc-0.9.30.1のextra/scriptsにも、同じものを利用します。
圧縮
tar cjvf linux-2.6.24.3-dingux.tar.bz2 linux-2.6.24.3-dingux
libmikmod.mk
最後の一行をpackageからpackage/multimediaに変更することで自動パッチが可能に。
libvorbis.mk
Tremor最新版ではautoconfに難があった。
■buildrootメモ
make distcleanだけではconfig部分のオブジェクトが削除されないので、
cd package/configで
make distcleanとすることで初期化が可能になります。
buildrootにより環境を構築することで、以下が可能になります。
1.rootfsの構築
2.linux kernelのコンパイル
3.hwinitなどのバイナリの構築
1はこのプロセスで行われ、
2と3は追加作業が必要になります。
(ここでは書きません…)
■必要なファイル
buildroot-2009.05-dingux.patched.tar.bz2
http://buildroot-2009.05-dingux.patched.tar.bz2
linux-2.6.24.3-dingux.tar.bz2
■基本環境
ネット接続環境
ubuntu 11.10を利用
VirtualBoxなどのVM利用をおすすめ
環境用HDDは空き容量20GB程度
ディスクイメージからのインストール&アップデート
■手順
まずは各種ツールのインストールです。
sudo apt-get install g++などとして、以下のツールをインストールします。
g++
bison
flex
gettext
patch
libtinfo-dev(terminfo)
subversion
libncurses5-dev
makeinfo(必要なら?)
次に、buildroot本体をダウンロード、
tar xjvfで解凍します。
buildroot.configを.configに上書きコピーします。
make menuconfigとして、
ESCを二回押し、設定を保存して終了します。
/optディレクトリのアクセス権限を変更します。
sudo chmod a+rwx /opt
linux-2.6.24.3-dingux.tar.bz2をダウンロード、
buildrootのフォルダ直下にdlディレクトリを作成し、コピーします。
そしてmakeを行います。
binariesフォルダにrootfsの生成物が、
/opt以下にコンパイラやライブラリ等の出来上がります。
■このbuildrootで変更されたもの
linux kernel、uClibc用のunidef.cに対するパッチが取り込まれた。
libmikmod.mkのパッチの自動化。
Tremorをsvnからではなくサイトからのダウンロードに変更。(automakeに不具合があったため)
ダウンロードサイトをeasynewsから、sources.buildroot.netに変更。
■tips
これは自動化の作業の際のメモです。
linux kernelのソースコードは、
svn checkout http://dingoo-linux.googlecode.com/svn/trunk/ dingoo-linux-read-only
で入手。
ディレクトリのリネーム
mv linux-2.6.24.3 linux-2.6.24.3-dingux
unidefのパッチを当てます。
cd linux-2.6.24.3-dingux/extra/scripts
patch < unidef.patch
パッチはuClibc-0.9.30.1のextra/scriptsにも、同じものを利用します。
圧縮
tar cjvf linux-2.6.24.3-dingux.tar.bz2 linux-2.6.24.3-dingux
libmikmod.mk
最後の一行をpackageからpackage/multimediaに変更することで自動パッチが可能に。
libvorbis.mk
Tremor最新版ではautoconfに難があった。
■buildrootメモ
make distcleanだけではconfig部分のオブジェクトが削除されないので、
cd package/configで
make distcleanとすることで初期化が可能になります。
コメント
コメントの投稿
トラックバック
http://clogging.blog57.fc2.com/tb.php/166-f8a5acb4
この記事にトラックバックする(FC2ブログユーザー)

