X



トップページLinux
137コメント52KB

【BusyBox】BuildRoot【µClibc】

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

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

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

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

関連スレ
▼2chでディストリビューションを作ろう!Part3
http://engawa.2ch.net/test/read.cgi/linux/1088167086/
LFS(Linux From Scratch) 統合スレ 2
http://engawa.2ch.net/test/read.cgi/linux/1155412397/
キツいスペックのPCで頑張ってる人の為のスレ 13
http://engawa.2ch.net/test/read.cgi/linux/1295530575/
0002login:Penguin
垢版 |
2011/12/19(月) 17:49:43.69ID:EUu6BwLk
スレタイが……。
uClibcにしとけば良かった orz

興味のある方、もうやったぜという方、書き込み待ってます。
0003login:Penguin
垢版 |
2011/12/19(月) 18:11:34.24ID:EUu6BwLk
buildrootのコンフィグレーションは至って簡単です
カーネル再構築の時の make menuconfig と同じです
また make help でヘルプの出力が出来ます。

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

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

make するとGentoo の emerge -e world のように自動ダウンロード、ビルド、インストールを行い
rootfsのイメージ作成までやってくれます。
0005login:Penguin
垢版 |
2011/12/19(月) 18:29:28.38ID:QVRzm15/
極小だとXなし、日本語なしでOk?
0006login:Penguin
垢版 |
2011/12/19(月) 18:36:16.65ID:EUu6BwLk
なんでもおkだけど出来るだけデスクトップを目標としたいのでXあり日本語ありのほうが。
とりあえず最初はX無し日本語無しで動作させて追加していくのがいいかと。
どうせallyesにするとコケまくりで頭爆発するのが落ちなので。
0007login:Penguin
垢版 |
2011/12/19(月) 18:38:42.49ID:QVRzm15/
Xありでもvesaだとドライバ選択不要だから楽かもね
0008login:Penguin
垢版 |
2011/12/19(月) 18:41:39.28ID:QVRzm15/
極端な話CUIなしにすればコマンドライン系は全部不要になるから
速度は上がるよ
カーネルとローダとライブラリとXだけだし
後は起動時のシェル
0010login:Penguin
垢版 |
2011/12/19(月) 18:49:44.82ID:EUu6BwLk
実を言うとX入れて起動させるところまで行ってない。
buildrootの中からXの有無出来るのでお気楽に出来ると思うけど
一発でスムーズに最後まで行けないと思う。
で、CUIの部分は全部BusyBoxで済ませられる。
シェルもBusyBox ashで。
ブートローダが一番ネックかも。
インスコは簡単に出来ても実機に移してブートローダーがちゃんと機能するかどうか。

ひとつひとつ手作業でビルドするんじゃ無いので速度はあまり問題じゃないかも。
問題はこける場所が環境により人それぞれなので、そのための情報交換場所があればいいなと思い。
くだスレだと特殊な環境なので相手にされない可能性が大だと思って。
0011login:Penguin
垢版 |
2011/12/19(月) 18:57:46.73ID:QVRzm15/
通常のディストリで一番面倒なのは
パッケージ管理とかインストーラとかハード認識
だったりすると思うんだけど

ライブCDを作るイメージ?
0012login:Penguin
垢版 |
2011/12/19(月) 19:01:39.76ID:QVRzm15/
tiny core のisoイメージ50MB弱だけど
それよりもBuildRootの生成バイナリは小さいの?
0013login:Penguin
垢版 |
2011/12/19(月) 19:18:19.51ID: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など不必要な物を削除してビルドオプションもサイズ優先にするなど。
0014login:Penguin
垢版 |
2011/12/19(月) 19:25:22.67ID:EUu6BwLk
ハード認識は最低限自分の使ってるハードのドライバがあれば良いので
そのようにカーネル構築して、必要なXドライバだけ入れたらおk。
この辺りはGentoo, LFSでのカーネルビルド、BLFSでのXの構築と同じ。
0015login:Penguin
垢版 |
2011/12/19(月) 19:33:18.48ID:EUu6BwLk
uClibc使うだけならGentooでもemerge使って楽にクロスコンパイルできるんだけどね
所詮遊びなので固いことは抜きにしたほうが面白い。
0016login:Penguin
垢版 |
2011/12/19(月) 19:36:00.70ID:QVRzm15/
常用ではない?
開発環境は必要?

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

0017login:Penguin
垢版 |
2011/12/19(月) 19:43:42.32ID:EUu6BwLk
読み込み専用のLiveCD作ってしまったら常用するシステムでは無くなってしまうから。
開発環境は必要
釣りじゃなければ、とりあえずやってみた方が早いよ
落とすのはbuildroot1つだから
0018login:Penguin
垢版 |
2011/12/19(月) 19:45:48.29ID:QVRzm15/
puppyって常用可能だよ
ループバックファイルシステムに追加のアプリ追加する感じだし
そうじゃなくてbuildrootじゃなくてもいいだろって話
0019login:Penguin
垢版 |
2011/12/19(月) 19:48:40.18ID:EUu6BwLk
完成品をお求めならTCやPuppyをどうぞって事よ
BuildRootってのはディストリビューションではなく自動化するスクリプトだからね。
勘違いしないように。
0020login:Penguin
垢版 |
2011/12/19(月) 19:50:59.79ID:QVRzm15/
tinycoreを日本語化している連中は何だよという話になるぞ
tinycoreの類似ディストロじゃまずいの?
tinycoreライクなという話
0021login:Penguin
垢版 |
2011/12/19(月) 20:31:54.60ID:EUu6BwLk
>>19に書いたようにBuildRootはディストリビューションじゃないので実際の運用はLFSよりハードル高いです。
LFS,CLFSは手作業でビルドして行きますが、ブートスクリプト群も用意されている親切な
ディストリビューションの1つなのでその辺りは困りません。
BuildRootで構築するシステムは全て自分で書き上げて行きます。
もちろん>>20のような日本語化してくれる有志もいません。全部自分でやります。
まぁ日本語化と言っても1から作り上げるので完成された英語版ディストリビューションに
改めて日本語環境を追加する作業とは少し違います。

この説明がチンプンカンプンの人は手を出さないほうがいいでしょう。
あくまでも組み込みで利用されてるツール類を使って自分だけのLinuxシステムに仕上げるのが趣旨です。
0022login:Penguin
垢版 |
2011/12/19(月) 20:45:09.18ID:EUu6BwLk
http://usamimi.info/~linux/d/up/up0801.png

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

正直マゾしか使えません。
0025login:Penguin
垢版 |
2011/12/20(火) 00:54:43.67ID:+Jd0w+7M
>>24
参加者には
glibcとuclibcの違いをきちんと説明した方が良いよ
制御系だと思わぬ所に流れるからね
じゃ落ちます
0026login:Penguin
垢版 |
2011/12/20(火) 19:26:31.00ID:Ezuo3GvF
Wikipedia見るくらいでいいんじゃないかな。
すげぇ他力本願だが、詳しいことは現役で組み込み開発やってる人に助言してもらおう
uclibcのmenuconfigでAll Locale選んどけばツールチェインはロケール要らないよな。
0027login:Penguin
垢版 |
2011/12/20(火) 19:55:10.89ID:+Jd0w+7M
でもこれやって工作員用PCになったりしない?
0028login:Penguin
垢版 |
2011/12/20(火) 20:20:08.61ID:Ezuo3GvF
そもそも実用的になるのかどうか?
NASとかに入れる事を考えると結構使えるかも知れない。
busyboxにhttpd,ftpd,sendmailが入ってるから案外。
でも全て簡易版なのでデーモンのログ取ったりできないからそこは工夫しなきゃダメだろうね。
別にbusyboxの内部コマンド全部使わなくてもいい。
X入れてKDEとかGNOME起動したら面白いだろうなぁ。
0029login:Penguin
垢版 |
2011/12/20(火) 21:13:13.62ID: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 じゃ無理ですた
0030login:Penguin
垢版 |
2011/12/20(火) 21:19:29.65ID:+Jd0w+7M
>>29
tiny coreを見て勉強しよう
fedoraだとtinycore.gzの中身が見れたよ
ブートローダにroot=の設定は無さそう
0031login:Penguin
垢版 |
2011/12/21(水) 00:22:44.60ID: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使ってるから作法が違うかも
0032login:Penguin
垢版 |
2011/12/21(水) 00:26:46.70ID:RrG7qZMw
>>31
ちゃうわい
tinyは必要なもの全部initrd上に入ってるからroot指定が要らない
0033login:Penguin
垢版 |
2011/12/21(水) 00:40:54.25ID:nGJkyfEQ
ああ、そういう意味か
極小Linuxでもやり方が幾つもあるから勘違いしちゃった
0034login:Penguin
垢版 |
2011/12/21(水) 00:41:08.80ID:y0JXzoj1
isoにするならsyslinuxかなぁと漠然と思ってたんだけど
iso選んだらbuildrootが自動でgrub選択したのでそのまま出力してみた

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

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

>>31
>/dev/sr0はcdドライブでinitrdはメモリ上に展開した起動用極小Linux
>だから目を付けてる所が間違ってる気がする
てことは /dev/ram0 とか?
0035login:Penguin
垢版 |
2011/12/21(水) 00:47:01.24ID:y0JXzoj1
>tinyは必要なもの全部initrd上に入ってるからroot指定が要らない

んあ?initrdに全部入ってる場合は指定しなくてもいいのか。
つぅ事はカーネル設定見直すのが先か……。
0036login:Penguin
垢版 |
2011/12/21(水) 00:53:56.37ID:y0JXzoj1
ははw ソースとオブジェクトが容量取ってるんでdistcleanしたら
output/images/の中も消えてた。もう一度最初から…… orz
0037login:Penguin
垢版 |
2011/12/21(水) 00:55:41.61ID:nGJkyfEQ
ちょうど手元にあったGentooのLiveCDだと
append root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot initrd=gentoo.igz
ってなってるね
image.squashfsの中身を見てないけどこれが多分ルートファイルシステムの実体なのかも
0039login:Penguin
垢版 |
2011/12/21(水) 01:02:35.40ID:nGJkyfEQ
あーでもinitrd上に全部入れるってのはGentooのLiveCDとは作りが違う気がする
だから37みたくroot=/dev/ram0が上手くいくか判らん
0040login:Penguin
垢版 |
2011/12/21(水) 01:04:39.12ID:y0JXzoj1
おk
ぼちぼちやるお
0043login:Penguin
垢版 |
2011/12/21(水) 02:39:48.32ID:y0JXzoj1
>>41-42
情報増えてる
d

bearboxじゃなくてBareboxでした
"The Barebox bootloader, formerly known as U-Boot v2."
http://www.barebox.org

失念してたのはこれ
"Das U-Boot"

U-ブートってU-ボートのもじりかなぁ
0044login:Penguin
垢版 |
2011/12/21(水) 04:37:32.45ID:y0JXzoj1
make menuconfigからやり直したらカーネルパニックはクリアした。
カーネルコンフィグは弄ってない
make uclibc-menuconfigでもういちど確認してみただけなのに。
気づかないとこで何かやってしまったんだろうけど何か解らない
Filesystem images
-*- ext2 root filesystem
   Compression method (lzma) ← ここをnoneからlzmaに変えたくらい
関係無いよなぁ……。原因が解らず気持ち悪い。

あと起動オプション、root=は無し。デフォのまま
kernel /kernel
initrd /initrd

ネットワークの設定なんてしてないので止まるのはいいがタイムアウトしてくれない。
http://usamimi.info/~linux/d/up/up0803.png ← 今日はココまで。

iso出力でgrubブート出来る事が解ったので、次はtarで出力してカスタマイズしてみる。
0046login:Penguin
垢版 |
2011/12/22(木) 01:38:51.87ID:DVzWKgf9
各 .config をdate +%sとか日付でバックアップ取っとかないと
いじくり倒してたら訳わからんようになるな。
こまめにdiffしましょう。
0048login:Penguin
垢版 |
2011/12/22(木) 07:25:04.22ID:DVzWKgf9
これくらいの用途でもメリットあるかな?
正直ソース落とす以外で使ったこと無い。
これを機にgitの使い方も覚えるか。
0050login:Penguin
垢版 |
2011/12/22(木) 08:10:16.97ID:DVzWKgf9

$ git commit
$ git add -f output/build/busybox-1.19.3/.config
$ git diff --cache

なるほど。こりゃ便利だ。
ってこういう使い方であってるのかな……。

スレ違いなのに3発連投してしまった。脱線スマン。
0051login:Penguin
垢版 |
2011/12/22(木) 11:16:33.21ID:l8Jr17io
今手元に32MBのCFと64MBのスマートメディアとセレ900なマシンとEDEN533なマシンがある

さて、始めようか
0052login:Penguin
垢版 |
2011/12/22(木) 17:49:26.02ID:CcDfqTN1
>>50
あってるよ。あとはブランチを覚えたらファイル変更の管理ぐらいには使える。
0055login:Penguin
垢版 |
2011/12/23(金) 12:49:17.19ID:rs9J8Bvg
grub> setup (hd0)
setup (hd0)
Floating point exception

(+д+)マズー
0056login:Penguin
垢版 |
2011/12/24(土) 03:13:31.92ID:IVXpbdA2
>>> binutils 2.21.1 Building
{ 省略 }
./archures.c:24 から include されたファイル中archive.c:130 から include されたファイル中:
:
sysdep.h:173:21:./sysdep.h:173:21: error: error: libintl.h: そのようなファイルやディレクトリはありませんlibintl.h: そのようなファイルやディレクトリはありません

archive.c: In function ‘_bfd_write_archive_contents’:
archive.c:2120: 警告: implicit declaration of function ‘dgettext’
archive.c:2120: 警告: incompatible implicit declaration of built-in function ‘dgettext’
make[5]: *** [archures.lo] エラー 1

---
output/toolchain/uClibc-0.9.32/include/libintl.h
↑これを
output/host/usr/include/
output/target/usr/include/
にシンボリックリンク作ってみたけど、やっぱ No Such になる。

gcc行を見ると -I ./../include しか無かったので直接binutils $(srcdir)のincludeディレクトリに放り込んだ。
コンパイルは進んだがリンク段階でエラーになる

../libiberty/libiberty.a -lintl
libtool: link: warning: library `/usr/local/pub/buildroot/output/host/usr/i686-unknown-linux-uclibc/sysroot/usr/lib/libintl.la' was moved.
{ libtool: link: ... 省略 }
make[1]: *** [all] エラー 2

uClibcのヘッダはどこにもインストールされないのかな?
binutils.mkかBR2_BINUTILS_EXTRA_CONFIG_OPTIONSでパス指定しなきゃダメなのだろうか……
0058login:Penguin
垢版 |
2011/12/25(日) 21:28:08.90ID:AMr+onIH
>>57
すげーなそれ
ウチでは

make[2]: `lib/ld-uClibc.so' is up to date.
  LD libuClibc-0.9.32.so
libc/libc_so.a(sigaction.os): In function `sigaction':
sigaction.c:(.text.__sigaction+0x20): undefined reference to `__emutls_get_address'
libc/libc_so.a(close.oS): In function `__GI___close_nocancel':
(.text+0x55): undefined reference to `__libc_errno'
collect2: ld returned 1 exit status
make[1]: *** [lib/libc.so] エラー 1

って出てどうしても進まない
0059login:Penguin
垢版 |
2011/12/25(日) 23:21:07.10ID:AMr+onIH
なんかmake cleanとかmake linuxとかmake uclibcとか色々やりまくったら通った
0061login:Penguin
垢版 |
2011/12/27(火) 12:41:04.12ID:zsu5+2Wh
*** You must have either have gettext support in your C library, or use the
*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html)

gettext入ってるんだけどこれが出る。
恐らく target には入ってるけど toolchain に入ってないっていう事だと思うんだけどどうすればいいのか解らない。
uclibcのコンフィグやbuildrootのコンフィグで触るとこある?
0063login:Penguin
垢版 |
2011/12/27(火) 14:08:49.61ID:zsu5+2Wh
$ grep -i locale .config
BR2_ENABLE_LOCALE=y
# BR2_ENABLE_LOCALE_PURGE is not set
BR2_NEEDS_GETTEXT_IF_LOCALE=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y

$ grep -i libintl .config
BR2_PACKAGE_LIBINTL=y

$ grep -i gettext .config
BR2_NEEDS_GETTEXT=y
BR2_NEEDS_GETTEXT_IF_LOCALE=y
BR2_PACKAGE_GETTEXT=y

問題無いように見えるんだが、サパーリ解らん。
0064login:Penguin
垢版 |
2011/12/27(火) 19:04:51.71ID:iWf/8CbW
wikiに今までやった事を書いてくれないか?
何をやっていて今どうなっているのかが分からない
0065login:Penguin
垢版 |
2011/12/27(火) 19:33:24.25ID:zsu5+2Wh
>>64
今までやった事

$ tar jxvf buildroot-2011.11.tar.bz2
$ cd buildroot-2011.11
$ make config
$ make busybox-menuconfig
$ make uclibc-menuconfig
$ make
$ make linux-menuconfig
$ make
0067login:Penguin
垢版 |
2011/12/28(水) 06:12:57.27ID:Kljx6HFy
再現させるならconfig もいるんじゃないの?
0068login:Penguin
垢版 |
2011/12/28(水) 10:21:31.77ID:POfFDA02
>>67
そうだけど、対象ハードが自分のという話なんで
configの共有にはハードとの対比が必要かも
0069login:Penguin
垢版 |
2011/12/28(水) 17:04:39.00ID:tJU1yMOK
ハードってカーネルぐらいでしょ。ttyとかあるけどさ。ある程度は共通の設定ができるよ。最初から理解しないままあれもこれも入れるとはまるよ。
0070login:Penguin
垢版 |
2011/12/28(水) 21:50:33.21ID:POfFDA02
ドライバー関係の話
0071login:Penguin
垢版 |
2011/12/29(木) 03:22:50.27ID:JIOrRX5M
gettext-develが入ってないとか?
0072login:Penguin
垢版 |
2011/12/29(木) 11:23:10.15ID:1w9P5X2E
Starting networkでハングしてログイン画面まで行けないんだけど何が原因?
シリアルコンソールなんて使った事無いしttyS0とか全然解らんわ。

話変わるけどBusyBoxはランレベルが無くて仮想コンソール使いたければsysvinit使わないと
ダメらしいが試してみようにも有効、無効にする場所も解らね。

なんか色々ダメすぎる漏れ
0074login:Penguin
垢版 |
2011/12/31(土) 20:15:27.85ID:Qm7AGbqn
つ man 5 inittab
オンラインのmanあるからそっちで見れ
0076login:Penguin
垢版 |
2012/01/02(月) 15:07:59.54ID:52Cxx8ul
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/as: error while loading shared libraries: libc.so.0: cannot open shared object file: No such file or directory
make[3]: *** [sysinfo.o] エラー 1

これ母艦のlibc.so.0がエラーって事ですか?
母艦はglibcなんでlibc.so.6 -> libc-2.13.so なんだけどぉ。

binutils build log
http://usamimi.info/~linux/d/up/up0829.xxx

ぼすkて
0077login:Penguin
垢版 |
2012/01/04(水) 11:34:39.58ID:TxiK97bn
基本的な事を伺います。BuildRootでは

1. 母艦でToolchainをビルド
2. ToolchainでHostをビルド
3. HostでTargetをビルド

この順序で合ってますか?
0078login:Penguin
垢版 |
2012/01/05(木) 17:18:49.64ID:XKmhJjsO
>>76だけど、binutils-2.21.1ではuClibcのLDSO_GNU_HASH_SUPPORTは必須?
0079login:Penguin
垢版 |
2012/01/05(木) 19:42:39.24ID:vMUVT+fu
思うんだけど、BusyBox的なguiアプリってあるのかな?
見た目は流行りのブラウザベースで他はすっからかんのシステムかと思いきや、
そのブラウザをリネームするだけで実はコンソールになったりエディタになったりしたらすごく面白い気がするんだけど。
0080login:Penguin
垢版 |
2012/01/06(金) 01:38:13.31ID:NVzhDOgP
>>79
コンソールはちょっと無理っぽいが、ブラウザさえあればクラウドサービスで大抵何でも出来そう
0081login:Penguin
垢版 |
2012/01/06(金) 01:51:38.93ID:sOOwOD3G
まあjslinuxがあるからブラウザ内でBuildRootのコンソールが飼えるんだけどね。
それが実用的かは置いといて
0082login:Penguin
垢版 |
2012/01/06(金) 02:49:38.81ID:sOOwOD3G
そういえばBusyBox内蔵の言語ってawk位かな?
forthとかlispとかLL言語がもう少しあるかと思ったんだけど意外だな。
0083login:Penguin
垢版 |
2012/01/06(金) 14:08:29.94ID:t4AJ5S69
ash とか sed のことも時には思い出してあげてください。
0085login:Penguin
垢版 |
2012/01/06(金) 15:54:38.70ID:96C2qdU+
package/vi/Config.in と package/vi/vi.mk 書いてから package/Config.in 見たら

if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/vim/Config.in"
endif

Vimがあったのかよ!
Show Othersしなきゃ出てこねぇって盲点だったわ orz

でもまぁex-viのほうが小さいしviコンパチなんでvimよりex-viのほうがいいかもだが、
tiny-vimとex-viならどっちがいいんだろうか?

それとex-vi, vi, exでBR2の命名に少し悩む。
0086login:Penguin
垢版 |
2012/01/06(金) 16:06:46.00ID:t4AJ5S69
busyboxのviはUTF-8にうまく対応してないんだよなぁ。
自分の手元では、ちょっとパッチ充てて日本語が出るようにしている。
でもカーソル移動はめちゃくちゃ。
wchar_width() 見てカーソル移動するようにしたい。
0087login:Penguin
垢版 |
2012/01/12(木) 01:13:25.66ID:aBH0ZQ7q
busyboxのashとhushの違いって何?
0088login:Penguin
垢版 |
2012/01/13(金) 01:14:13.22ID:yFrqhjHk
ターゲット用開発環境が全然入らない orz
0089login:Penguin
垢版 |
2012/01/13(金) 17:47:50.53ID:yFrqhjHk
locale切ったらスムーズに進むな。

パッケージ管理システムのipkgってfakerootに入れてtarに固めるようなもん?
ipkgのHowToサイト無いかな。
0090login:Penguin
垢版 |
2012/01/13(金) 18:26:57.03ID:yFrqhjHk
ipkgの解説ぐぐるとZaurusばかり出てくるな。
Wikipediaにも一応あったけどdpkgに似てるとか。

あと気になってるのがBusyBoxのashなんだが、ヒストリーを上下するとカーソル位置が行頭に来るんだよな。
行末には出来ないのかなと思って諦めてたんだが、uClibcで配布されてるsystem-imageで起動すると行末に来てる。
これ実現するにはどこ弄ればいい?
0092login:Penguin
垢版 |
2012/01/13(金) 23:05:54.00ID:yFrqhjHk
cttyhack面白いな
プロセスID変えずシェルの変更できる

ヘルプ見たらbusyboxのinittabに指定する方法書いてたので貼っとく。

::respawn:exec /bin/cttyhack /bin/sh

端末からテストしてみる方法
$ exec cttyhack sh
$ exec cttyhack ash

母艦のbusyboxでselfexeにしてなくsymlinkとかも無い場合
$ busybox ash
$ ps x | grep ash
$ exec busybox cttyhack bash
$ ps x | grep <先程のプロセスID>

どういう時に有益なのか解らないけど。ヘルプにはダーティーなんちゃらとか書いてたが。
0093login:Penguin
垢版 |
2012/01/13(金) 23:31:05.53ID:yFrqhjHk
Alpine Linux鯖重すぎ
248,913,920 17.5K/s 時間 3h 13m

起動してみたんだがuclibc + busyboxのLinuxでは完成度高いかも知れん
ちゃんとリポジトリもあるし、Gentooではお馴染みのOpenRC使ってる。
apkの使い方覚えてこの鳥参考に仕上げていこうかな。
0094login:Penguin
垢版 |
2012/01/14(土) 01:20:09.37ID:PHfEIANe
binutilsとgccのバージョン落としてlocale/i18n切ってなんとか開発環境入れてみたけど
gcc -vすると--enable-languages=c

何でよ orz
0096login:Penguin
垢版 |
2012/01/14(土) 16:15:50.44ID:PHfEIANe
alpineは.gnu.hash使ってないな。uClibcで構築するときはsysvのほうがトラブル少ないんだろうか?
0097login:Penguin
垢版 |
2012/01/15(日) 03:59:45.08ID:F8n6Mxav
libtool: link: /usr/local/src/buildroot/output/host/usr/lib/gcc/i686-unknown-linux-uclibc/4.6.2/../../../../i686-unknown-linux-uclibc/bin/ranlib .libs/libquadmath.a
libtool: link: ( cd ".libs" && rm -f "libquadmath.la" && ln -s "../libquadmath.la" "libquadmath.la" )
make[4]: ディレクトリ `/usr/local/src/buildroot/output/build/gcc-4.6.2-target/i686-unknown-linux-uclibc/libquadmath' から出ます
make[3]: ディレクトリ `/usr/local/src/buildroot/output/build/gcc-4.6.2-target/i686-unknown-linux-uclibc/libquadmath' から出ます
make[2]: ディレクトリ `/usr/local/src/buildroot/output/build/gcc-4.6.2-target' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/usr/local/src/buildroot/output/build/gcc-4.6.2-target' から出ます
make: *** [/usr/local/src/buildroot/output/build/gcc-4.6.2-target/.compiled] エラー 2

ここでこける
uClibcのXSI mathを有効にしなきゃならんのか?それともranlibだからbinutils-2.20だからなのか?
binutils-2.21.1ではtoolchainでlibc.so.0が見つからんというエラーでこけた。

buildroot用のコンフィグでtargetのgccサポートにfortranとobjective-cをenableしてるっす。
0098login:Penguin
垢版 |
2012/01/15(日) 06:08:24.73ID:F8n6Mxav
gcc-uclibc-4.x.mkの556行目辺りが怪しい気がするんだが解らん
今日はもう止め
0099login:Penguin
垢版 |
2012/01/16(月) 01:16:53.35ID:amA36E2V
Yes! I can!
Yheeeeeeeeeee!

binutils-2.21
gcc-4.3.6

がtargetに入った!
あとは残りの開発環境入れてXに挑戦だ!
binutils-2.21.1は無理
0100login:Penguin
垢版 |
2012/01/16(月) 03:05:58.93ID:amA36E2V
TinyXをチョイスしてビルドしてる最中だがスムーズにビルドが進みすぎて逆に怖い……。
Xのドライバに印付けるの忘れてた

てかもう誰もいないのココ?
0101login:Penguin
垢版 |
2012/01/16(月) 03:18:17.49ID:amA36E2V
と書いてる間にfluxboxのビルドエラーで止まってた orz
--
ImageImlib2.cc:27:20: error: Imlib2.h: そのようなファイルやディレクトリはありません
--
むぅ、imlib2はビルド完了してるのに何故だ

$ ls output/host/usr/include/
確かに無い。ついでに $ ls output/build/ をみたらソースディレクトリが無い!
imlib2のビルドメッセージが流れてるのをこの目で見たのに……畜生!
何か変だ。
レスを投稿する


ニューススポーツなんでも実況