カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■e2fsprogs 構築の準備 
 mkfs.ext3 は、e2fsprogs に含まれるので、e2fsprogs をコンパイルします。まず、root で、以下を実行します。
kurobox:/home/kurobox# apt-get build-dep e2fsprogs 
Reading package lists... Done 
Building dependency tree... Done 
The following NEW packages will be installed: 
dc libdevmapper-dev libselinux1-dev libsepol1-dev texi2html texinfo 
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. 
Need to get 1803kB of archives. 
After unpacking 6241kB of additional disk space will be used. 
Do you want to continue [Y/n]?                       ←エンタを押す 
Get:1 http://ftp.jp.debian.org etch/main dc 1.06-20 [58.1kB] 
Get:2 http://ftp.jp.debian.org etch/main texinfo 4.8.dfsg.1-4 [682kB] 
Get:3 http://ftp.jp.debian.org etch/main libdevmapper-dev 2:1.02.08-1 [49.9kB] 
Get:4 http://ftp.jp.debian.org etch/main libsepol1-dev 1.14-2 [523kB] 
Get:5 http://ftp.jp.debian.org etch/main libselinux1-dev 1.32-3 [202kB] 
Get:6 http://ftp.jp.debian.org etch/main texi2html 1.76-4 [289kB] 
Fetched 1803kB in 2s (661kB/s) 
Selecting previously deselected package dc. 
(Reading database ... 12741 files and directories currently installed.) 
Unpacking dc (from .../archives/dc_1.06-20_arm.deb) ... 
Selecting previously deselected package texinfo. 
Unpacking texinfo (from .../texinfo_4.8.dfsg.1-4_arm.deb) ... 
Selecting previously deselected package libdevmapper-dev. 
Unpacking libdevmapper-dev (from .../libdevmapper-dev_2%3a1.02.08-1_arm.deb) ... 
Selecting previously deselected package libsepol1-dev. 
Unpacking libsepol1-dev (from .../libsepol1-dev_1.14-2_arm.deb) ... 
Selecting previously deselected package libselinux1-dev. 
Unpacking libselinux1-dev (from .../libselinux1-dev_1.32-3_arm.deb) ... 
Selecting previously deselected package texi2html. 
Unpacking texi2html (from .../texi2html_1.76-4_all.deb) ... 
Setting up dc (1.06-20) ...Setting up texinfo (4.8.dfsg.1-4) ... 
Setting up libdevmapper-dev (1.02.08-1) ... 
Setting up libsepol1-dev (1.14-2) ... 
Setting up libselinux1-dev (1.32-3) ... 
Setting up texi2html (1.76-4) ... 
kurobox:/home/kurobox#
 もし、fakeroot をインストールしていなければ、インストールします。
apt-get install dpkg-dev fakeroot
■ソースの取得
 まず、作業用ディレクトリを作成し、そのディレクトリでソースを apt-get します(以下は一般ユーザでかまわない)。
mkdir work-e2fsprogs cd work-e2fsprogs apt-get source e2fsprogs
 以下のようになりました。
kurobox@kurobox:~$ mkdir work-e2fsprogs 
kurobox@kurobox:~$ cd work-e2fsprogs/ 
kurobox@kurobox:~/work-e2fsprogs$ apt-get source e2fsprogs 
Reading package lists... Done 
Building dependency tree... Done 
Need to get 4089kB of source archives. 
Get:1 http://ftp.jp.debian.org etch/main e2fsprogs 1.39+1.40-WIP-2006.11.14+dfsg-2 (dsc) [901B] 
Get:2 http://ftp.jp.debian.org etch/main e2fsprogs 1.39+1.40-WIP-2006.11.14+dfsg-2 (tar) [4087kB] 
Get:3 http://ftp.jp.debian.org etch/main e2fsprogs 1.39+1.40-WIP-2006.11.14+dfsg-2 (diff) [1032B] 
Fetched 4089kB in 2s (1571kB/s) 
gpg: Signature made Wed Mar  7 11:21:27 2007 JST using DSA key ID 93674C40 
gpg: Can't check signature: public key not found 
dpkg-source: extracting e2fsprogs in e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg 
dpkg-source: unpacking e2fsprogs_1.39+1.40-WIP-2006.11.14+dfsg.orig.tar.gz 
dpkg-source: applying ./e2fsprogs_1.39+1.40-WIP-2006.11.14+dfsg-2.diff.gz 
kurobox@kurobox:~/work-e2fsprogs$
■e2fsprogs の構築
 ディレクトリを移動し、dpkg-buildpackage を実行します。
cd e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg dpkg-buildpackage -rfakeroot -us -uc
 以下のようになりました。
kurobox@kurobox:~/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg$ dpkg-buildpackage -rfakeroot -us -uc 
dpkg-buildpackage: source package is e2fsprogs 
fakeroot debian/rules clean 
dh_testdir 
rm -rf debian/stampdir 
make -C /home/kurobox/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/BUILD-STD -i distclean 
make: *** /home/kurobox/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/BUILD-STD: No such file or directory.  Stop. 
make: [clean] Error 2 (ignored) 
make -C /home/kurobox/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/BUILD-BF -i distclean 
make: *** /home/kurobox/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/BUILD-BF: No such file or directory.  Stop. 
make: [clean] Error 2 (ignored) 
rm -rf /home/kurobox/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debi
----------------------------(省略)---------------------------
dh_gencontrol   -plibuuid1-udeb -- -fdebian/files~ 
dpkg-distaddfile libuuid1-udeb_1.39+1.40-WIP-2006.11.14+dfsg-1_arm.udeb debian-installer optional 
dh_builddeb -plibuuid1-udeb --filename=libuuid1-udeb_1.39+1.40-WIP-2006.11.14+dfsg-1_arm.udeb 
dpkg-deb: building package `libuuid1-udeb' in `../libuuid1-udeb_1.39+1.40-WIP-2006.11.14+dfsg-1_arm.udeb'. 
dpkg-genchanges 
dpkg-genchanges: including full source code in upload 
dpkg-buildpackage: full upload (original source is included)
■スタティック・リンク版をコンパイルする
  ディレクトリを移動し、スタティック・リンク版をコンパイルします。
cd debian/BUILD-STD/misc make mke2fs.static
 実行すると以下のようになりました。
kurobox@kurobox:~/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg$ cd deb 
ian/BUILD-STD/misc 
kurobox@kurobox:~/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/ 
BUILD-STD/misc$ make mke2fs.static 
LD mke2fs.static 
kurobox@kurobox:~/work-e2fsprogs/e2fsprogs-1.39+1.40-WIP-2006.11.14+dfsg/debian/ 
BUILD-STD/misc$
 mke2fs.static を mkfs.ext3 にコピーします。mke2fs は呼び出される名前によって、違う動作をするようになっています。mke2fs, mkfs.ext2, mkfs.ext3 の名前がつけられます。
cp mke2fs.static mkfs.ext3
 不要なシンボルなどを削除し、ファイル・サイズを小さくします。
strip mkfs.ext3
 これで、スタティック・リンク版の mkfs.ext3 の完成です。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: スタティック・リンクの mkfs.ext3 の作成

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/970

コメントする

おすすめ書籍
Powered by
Movable Type 4.1