[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 03/27 23:54 / Filesize : 35 KB / Number-of Response : 117
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【BusyBox】BuildRoot【µClibc】



1 名前:login:Penguin mailto:sage [2011/12/19(月) 17:47:04.08 ID:EUu6BwLk]
TinyCore並に軽量化され自分の環境に最適化したシステムを作りませんか?
汎用ディストリビューションを作るのが目的ではありません、あくまでもキツイスペック用に
自分専用のシステムを自分の手で作り上げるのが目的です。一番近いイメージはCLFSです。

情報交換が目的であり、成果物を配布するのが目的ではありません。
ターゲットは主に x86, x86-64 とします。
実機で動かすのを目標としますが、Live CDや仮想環境でも構いません。
また、uClibcを標準としますが、Newlib や dietlibc での動作実績も歓迎します。

* uClibc,Newlib,dietlibc は組み込みLinux向け標準Cライブラリです。
* BuildRoot は組み込み開発を容易にするためのツールです

参考サイト
BuildRoot: www.buildroot.org/
BusyBox: www.busybox.net/
uClibc: www.uclibc.org/
Newlib: sourceware.org/newlib/
diet libc: www.fefe.de/dietlibc/

関連スレ
▼2chでディストリビューションを作ろう!Part3
engawa.2ch.net/test/read.cgi/linux/1088167086/
LFS(Linux From Scratch) 統合スレ 2
engawa.2ch.net/test/read.cgi/linux/1155412397/
キツいスペックのPCで頑張ってる人の為のスレ 13
engawa.2ch.net/test/read.cgi/linux/1295530575/

2 名前:login:Penguin mailto:sage [2011/12/19(月) 17:49:43.69 ID:EUu6BwLk]
スレタイが……。
uClibcにしとけば良かった orz

興味のある方、もうやったぜという方、書き込み待ってます。

3 名前:login:Penguin mailto:sage [2011/12/19(月) 18:11:34.24 ID:EUu6BwLk]
buildrootのコンフィグレーションは至って簡単です
カーネル再構築の時の make menuconfig と同じです
また make help でヘルプの出力が出来ます。

busybox, linux, uclibcのメニューコンフィグも個別に呼び出せます

$ make busybox-menuconfig
$ make linux-menuconfig
$ make uclibc-menuconfig

make するとGentoo の emerge -e world のように自動ダウンロード、ビルド、インストールを行い
rootfsのイメージ作成までやってくれます。


4 名前:login:Penguin mailto:sage [2011/12/19(月) 18:27:22.89 ID:QVRzm15/]
TECH I シリーズ Vol.16 組み込みLinux入門
www.cqpub.co.jp/hanbai/books/33/33271.htm

組み込みLinuxの手引き
www26.atwiki.jp/funa_tk/pages/1.html

amazon組み込みlinuxのホームページ
www.amazon.co.jp/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BFLinux/lm/2B6WV11PWM03J

体験!マイコンボードで組込みLinux
gihyo.jp/dev/serial/01/micom-linux


5 名前:login:Penguin mailto:sage [2011/12/19(月) 18:29:28.38 ID:QVRzm15/]
極小だとXなし、日本語なしでOk?


6 名前:login:Penguin mailto:sage [2011/12/19(月) 18:36:16.65 ID:EUu6BwLk]
なんでもおkだけど出来るだけデスクトップを目標としたいのでXあり日本語ありのほうが。
とりあえず最初はX無し日本語無しで動作させて追加していくのがいいかと。
どうせallyesにするとコケまくりで頭爆発するのが落ちなので。

7 名前:login:Penguin mailto:sage [2011/12/19(月) 18:38:42.49 ID:QVRzm15/]
Xありでもvesaだとドライバ選択不要だから楽かもね


8 名前:login:Penguin mailto:sage [2011/12/19(月) 18:41:39.28 ID:QVRzm15/]
極端な話CUIなしにすればコマンドライン系は全部不要になるから
速度は上がるよ
カーネルとローダとライブラリとXだけだし
後は起動時のシェル


9 名前:login:Penguin mailto:sage [2011/12/19(月) 18:42:11.75 ID:QVRzm15/]
開発の速度ね


10 名前:login:Penguin mailto:sage [2011/12/19(月) 18:49:44.82 ID:EUu6BwLk]
実を言うとX入れて起動させるところまで行ってない。
buildrootの中からXの有無出来るのでお気楽に出来ると思うけど
一発でスムーズに最後まで行けないと思う。
で、CUIの部分は全部BusyBoxで済ませられる。
シェルもBusyBox ashで。
ブートローダが一番ネックかも。
インスコは簡単に出来ても実機に移してブートローダーがちゃんと機能するかどうか。

ひとつひとつ手作業でビルドするんじゃ無いので速度はあまり問題じゃないかも。
問題はこける場所が環境により人それぞれなので、そのための情報交換場所があればいいなと思い。
くだスレだと特殊な環境なので相手にされない可能性が大だと思って。



11 名前:login:Penguin mailto:sage [2011/12/19(月) 18:57:46.73 ID:QVRzm15/]
通常のディストリで一番面倒なのは
パッケージ管理とかインストーラとかハード認識
だったりすると思うんだけど

ライブCDを作るイメージ?


12 名前:login:Penguin mailto:sage [2011/12/19(月) 19:01:39.76 ID:QVRzm15/]
tiny core のisoイメージ50MB弱だけど
それよりもBuildRootの生成バイナリは小さいの?


13 名前:login:Penguin mailto:sage [2011/12/19(月) 19:18:19.51 ID:EUu6BwLk]
あと作成したrootfsの中に開発環境も含めたいんだけど
過去にやったときはuClibcにリンクさせたgccを作る事ができず
結局toolchainのgcc使って試行錯誤しながら放り込んだ。
その時のメモが残ってないので再チャレンジ。
ビルド終わってchrootで一通り弄り倒したので仮想にパーティション作成するところから始めてくる。
grubの壁さえ越えりゃこっちのもん。

>>11
パッケージ管理はお好み
一応ipkgというのがあるけど別途rpmやdebianutils入れたほうがいい。慣れた物で。
インストーラは要りません。>>1に書いてるけど配布目的じゃないので。
インストールはbuildrootで生成されたディスクイメージを目的のデバイスへ転送という形

>>12
そこは何を選択するかによって違ってくるしLiveCDにするなら圧縮FSの差も出てくる。
打倒な所はSquashFSだけで読み込み専用だけど、unionfsも入れて常用LiveCDにするかはお好み。
TinyCoreのようにfltkのアプリも作れば出来るかも知れないけど、そこを目標にするのは趣旨が違う。
あくまでも自分で使う小さいシステムを作るのが目的なので最小を目指すかどうかもお好み。
TCより小さくできるかも知れないし、TCではやってないXorgとGNOME3とかKDE4とかにチャレンジするもヨシ。
X無しのext2イメージだけどカーネルも入れて30MBになった。(-O2 でビルド)
色々入れまくってTCより小さくするのは難しいかも。
.h,.a,.laなど不必要な物を削除してビルドオプションもサイズ優先にするなど。

14 名前:login:Penguin mailto:sage [2011/12/19(月) 19:25:22.67 ID:EUu6BwLk]
ハード認識は最低限自分の使ってるハードのドライバがあれば良いので
そのようにカーネル構築して、必要なXドライバだけ入れたらおk。
この辺りはGentoo, LFSでのカーネルビルド、BLFSでのXの構築と同じ。

15 名前:login:Penguin mailto:sage [2011/12/19(月) 19:33:18.48 ID:EUu6BwLk]
uClibc使うだけならGentooでもemerge使って楽にクロスコンパイルできるんだけどね
所詮遊びなので固いことは抜きにしたほうが面白い。

16 名前:login:Penguin mailto:sage [2011/12/19(月) 19:36:00.70 ID:QVRzm15/]
常用ではない?
開発環境は必要?

tiny core カーネル2.9MB rootfs未圧縮 15MB強 Xvesaあり



17 名前:login:Penguin mailto:sage [2011/12/19(月) 19:43:42.32 ID:EUu6BwLk]
読み込み専用のLiveCD作ってしまったら常用するシステムでは無くなってしまうから。
開発環境は必要
釣りじゃなければ、とりあえずやってみた方が早いよ
落とすのはbuildroot1つだから

18 名前:login:Penguin mailto:sage [2011/12/19(月) 19:45:48.29 ID:QVRzm15/]
puppyって常用可能だよ
ループバックファイルシステムに追加のアプリ追加する感じだし
そうじゃなくてbuildrootじゃなくてもいいだろって話


19 名前:login:Penguin mailto:sage [2011/12/19(月) 19:48:40.18 ID:EUu6BwLk]
完成品をお求めならTCやPuppyをどうぞって事よ
BuildRootってのはディストリビューションではなく自動化するスクリプトだからね。
勘違いしないように。

20 名前:login:Penguin mailto:sage [2011/12/19(月) 19:50:59.79 ID:QVRzm15/]
tinycoreを日本語化している連中は何だよという話になるぞ
tinycoreの類似ディストロじゃまずいの?
tinycoreライクなという話




21 名前:login:Penguin mailto:sage [2011/12/19(月) 20:31:54.60 ID:EUu6BwLk]
>>19に書いたようにBuildRootはディストリビューションじゃないので実際の運用はLFSよりハードル高いです。
LFS,CLFSは手作業でビルドして行きますが、ブートスクリプト群も用意されている親切な
ディストリビューションの1つなのでその辺りは困りません。
BuildRootで構築するシステムは全て自分で書き上げて行きます。
もちろん>>20のような日本語化してくれる有志もいません。全部自分でやります。
まぁ日本語化と言っても1から作り上げるので完成された英語版ディストリビューションに
改めて日本語環境を追加する作業とは少し違います。

この説明がチンプンカンプンの人は手を出さないほうがいいでしょう。
あくまでも組み込みで利用されてるツール類を使って自分だけのLinuxシステムに仕上げるのが趣旨です。

22 名前:login:Penguin mailto:sage [2011/12/19(月) 20:45:09.18 ID:EUu6BwLk]
usamimi.info/~linux/d/up/up0801.png

まず、このSSを見てください。
vboxでchrootしただけの状態ですが、見事に何にもありません。
シェルはBusyBoxのashです。
/etc/profileはありますが、最小限のPS1です。

正直マゾしか使えません。

23 名前:login:Penguin mailto:sage [2011/12/20(火) 00:18:43.77 ID:+Jd0w+7M]
uclibcは小さいけどPC向けではない見たい
制御系の用途で使う物だと
glibcで良くない?
ja.wikipedia.org/wiki/%CE%9CClinux
monoist.atmarkit.co.jp/mn/articles/0809/03/news115.html


24 名前:login:Penguin mailto:sage [2011/12/20(火) 00:50:54.31 ID:Ezuo3GvF]
>>23
glibcでいいならLFSでいいよ

>>1
関連スレ

25 名前:login:Penguin mailto:sage [2011/12/20(火) 00:54:43.67 ID:+Jd0w+7M]
>>24
参加者には
glibcとuclibcの違いをきちんと説明した方が良いよ
制御系だと思わぬ所に流れるからね
じゃ落ちます

26 名前:login:Penguin mailto:sage [2011/12/20(火) 19:26:31.00 ID:Ezuo3GvF]
Wikipedia見るくらいでいいんじゃないかな。
すげぇ他力本願だが、詳しいことは現役で組み込み開発やってる人に助言してもらおう
uclibcのmenuconfigでAll Locale選んどけばツールチェインはロケール要らないよな。

27 名前:login:Penguin mailto:sage [2011/12/20(火) 19:55:10.89 ID:+Jd0w+7M]
でもこれやって工作員用PCになったりしない?


28 名前:login:Penguin mailto:sage [2011/12/20(火) 20:20:08.61 ID:Ezuo3GvF]
そもそも実用的になるのかどうか?
NASとかに入れる事を考えると結構使えるかも知れない。
busyboxにhttpd,ftpd,sendmailが入ってるから案外。
でも全て簡易版なのでデーモンのログ取ったりできないからそこは工夫しなきゃダメだろうね。
別にbusyboxの内部コマンド全部使わなくてもいい。
X入れてKDEとかGNOME起動したら面白いだろうなぁ。

29 名前:login:Penguin mailto:sage [2011/12/20(火) 21:13:13.62 ID:Ezuo3GvF]
isoで出力するとoutput/images/rootfs.iso9660が出来た
vboxが.iso9660では認識しないので.isoにリネーム
仮想マシンを起動するとgrub 0.97が立ち上がって

Hard Drive (first partition)
BuildRoot ISO9660 image

BuildRootでeを押して確認
kernel /kernel
initrd /initrd

とりあえず、BuildRootで起動してみる
カーネルパニック

rootfs.isoの中を見る
/[BOOT]/Bootable_NoEmulation.img
/boot/grub/menu.lst
/boot/grub/stage2_eltolito
/boot.catalog
/kernel
/initrd

root= を指定しろと言うんだけどinitrdの展開先ってどこになるんだろ?
kernel /kernel root=/dev/sr0 じゃ無理ですた

30 名前:login:Penguin mailto:sage [2011/12/20(火) 21:19:29.65 ID:+Jd0w+7M]
>>29
tiny coreを見て勉強しよう
fedoraだとtinycore.gzの中身が見れたよ
ブートローダにroot=の設定は無さそう




31 名前:login:Penguin mailto:sage [2011/12/21(水) 00:22:44.60 ID:nGJkyfEQ]
なんと俺向けリアルタイムなスレなんだ
今Gentooで作ってるがbaselayout-liteが無くなったのがかなり痛い
baselayout-liteが使えれば適当にディレクトリ作って
ROOT=/hoge emerge baselayout-lite uclibc busybox
で/hoge以下にある程度完成しちゃうのに・・・

>>29
/dev/sr0はcdドライブでinitrdはメモリ上に展開した起動用極小Linux
だから目を付けてる所が間違ってる気がする
>>30
tinyはsyslinuxだし29はgrub使ってるから作法が違うかも

32 名前:login:Penguin mailto:sage [2011/12/21(水) 00:26:46.70 ID:RrG7qZMw]
>>31
ちゃうわい
tinyは必要なもの全部initrd上に入ってるからroot指定が要らない


33 名前:login:Penguin mailto:sage [2011/12/21(水) 00:40:54.25 ID:nGJkyfEQ]
ああ、そういう意味か
極小Linuxでもやり方が幾つもあるから勘違いしちゃった

34 名前:login:Penguin mailto:sage [2011/12/21(水) 00:41:08.80 ID:y0JXzoj1]
isoにするならsyslinuxかなぁと漠然と思ってたんだけど
iso選んだらbuildrootが自動でgrub選択したのでそのまま出力してみた

あとbearboxっていうブートローダもあるんだね。
ブートローダは4つほどサポートされてる。

bearbox
grub
syslinux
(ここ名前忘れた。bearboxの前身らしい)

>>31
>/dev/sr0はcdドライブでinitrdはメモリ上に展開した起動用極小Linux
>だから目を付けてる所が間違ってる気がする
てことは /dev/ram0 とか?

35 名前:login:Penguin mailto:sage [2011/12/21(水) 00:47:01.24 ID:y0JXzoj1]
>tinyは必要なもの全部initrd上に入ってるからroot指定が要らない

んあ?initrdに全部入ってる場合は指定しなくてもいいのか。
つぅ事はカーネル設定見直すのが先か……。






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<35KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef