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のビルドメッセージが流れてるのをこの目で見たのに……畜生!
何か変だ。
0102login:Penguin
垢版 |
2012/01/16(月) 03:32:07.50ID:amA36E2V
コンフィグを見直したらimlib2がどこにも無い
俺が見たのは幻か……。
それとTinyXなるものはX11ドライバが無かった。
モジュラー化したXorgよりTinyXというものに興味があったのに。

Xvesaとは違うものなのか? 同じなのか?
多分これだと思うんだが XvesaがTinyなXという意味なのか?
http://www.pps.jussieu.fr/~jch/software/kdrive.html
0103login:Penguin
垢版 |
2012/01/16(月) 04:07:05.41ID:amA36E2V
http://git.buildroot.net/buildroot/commit/?id=5ddcdb4ceb4eba32d4e32b1e2201df2836bbabf2

imlib2は次のstableバージョン 2012.02辺りで来そうだ。
2011.11には入ってなかったのでfluxbox入れる場合はchrootしてソースからmakeするしか無いみたい。
XvesaとTwmにしてみたけど太るな。buildrootのinitramfsは全部入れちゃうようなので手作業で小さいinitramfs作らなきゃならんのだろうか。
0104login:Penguin
垢版 |
2012/01/16(月) 06:34:49.60ID:amA36E2V
Xvesaチェックしても入らないみたいでXorgにした。

で、ここで失敗。xorg-serverだの何だの入れた後にpkg-config入れたせいだと思うんだけど
x11-driver関連が全部こける。

注意
xorg入れる人は先にpkg-config入れときましょう。
0105login:Penguin
垢版 |
2012/01/16(月) 08:10:39.72ID:amA36E2V
>>104のようになった時の対処法メモ
全部ビルドし直さなくても

rm output/build/hogehoge/.stamp_*
もしくは
rm -rf output/build/hogege
としてリビルドすればおkの様子

今回はoutput/build/xserver_xorg-server-1.7.5を消すことで
インストール出来なかったx11-driver関連を追加出来ました。

make rebuild-hogehogeというオプションが欲しい
0106login:Penguin
垢版 |
2012/01/16(月) 21:27:55.21ID:amA36E2V
http://usamimi.info/~linux/d/up/up0839.png

初X11起動記念

この後、xf86-video-fbdev入れたらXが起動しなくなった(笑)
しかし仮想マシンのメモリを128Mにしてswap無しの状態でAlpineと比較したら激しく高速
GNU_HASHが効いてるのかi586とi686で差が開くのか解らんけど。

いろいろ不備があったのでもう一度設定見なおして全部再ビルドしてみる。
これはかなり期待がもてる!
0108login:Penguin
垢版 |
2012/01/16(月) 23:23:57.08ID:amA36E2V
d >>107

distcleanする前に参考メモ残しときまつ。

config (uclibc, busybox, buildroot)
i686-configs.tar.gz http://usamimi.info/~linux/d/up/up0840.xxx
installed package list
external-deps.txt http://usamimi.info/~linux/d/up/up0841.xxx

※ 総容量 6.5Gもあった(dlディレクトリ除いて。fs imageタイプを複数選択しすぎてたので消費しすぎた)
で、主だった所の du -h
3.6G output/build
603M output/host
202M output/target
1.5G output/toolchain

ext2イメージサイズ (/boot/bzImage含む 4.7M)
223M output/images/rootfs.ext2
0110login:Penguin
垢版 |
2012/01/18(水) 02:11:57.49ID:xdtqrjwP
gccを入れた後にlibtoolを入れるとgccをリビルドしやがる
この辺りの挙動がわかんねぇなぁ……。
0111login:Penguin
垢版 |
2012/01/18(水) 07:23:37.16ID:oLvz/DCl
ちゃんと調べずに手探りでてきとうにやっているやつのダメパターン
0113login:Penguin
垢版 |
2012/01/18(水) 21:39:31.48ID:QbGYqkPb
カーネルをビルドする前にlinux-menuconfigする方法無いかなぁ
二度手間になる
0114login:Penguin
垢版 |
2012/02/16(木) 12:45:48.19ID:MVdH3Qoa
Busyboxで日本語が化けないようにする方法てあるの?
初心者ですみません。
答えがあるなら「ある。なし」だけでお願いします。
0115login:Penguin
垢版 |
2012/02/16(木) 13:53:45.91ID:exfv8ONE
ないときは「なし」って言えなくない?
0116login:Penguin
垢版 |
2012/02/17(金) 19:04:53.65ID:rzwyxerq
無いとは言い切れないし、あるという表現も間違いだろう。
つまり114が作り直せば「ある」で、小手先では「ない」
0119login:Penguin
垢版 |
2012/12/15(土) 16:09:14.62ID:HkSG+FjY
busyboxのviって、設定ファイルは読んでくれないの?
0120login:Penguin
垢版 |
2012/12/16(日) 00:21:43.52ID:Q4qfmTUd
busybox viで起動した?
0121login:Penguin
垢版 |
2013/06/14(金) 16:00:26.15ID:Ctl0MeEo
busybox内蔵はおそろしく簡易版でそんな機能も設定変更などの機能も

存在しません

>>119
0122login:Penguin
垢版 |
2013/07/18(木) NY:AN:NY.ANID:AGHQl3Gc
>>1さん。
もうスレ諦めた?
>TinyCore並に軽量化され自分の環境に最適化したシステムを作りませんか?
TinyCoreにビルドインされているそれらをベースで
FLTK1.1やら、uClibやら、busyboxを簡易日本語対応(制限付き)にした
ほうがよくねぇ?
動くのをモドキ(恐ろしく制限付き)で改造するほうが正しく動かすよりは
イケていると思うわ。
日本語だって入力変換はできず、カーソル移動に対応していなくても
表示だけできるなら恐ろしく使い勝手違うと思うんだが。
0123login:Penguin
垢版 |
2013/07/24(水) NY:AN:NY.ANID:LJu3FtRy
>>122
1 では無いけど、思うところがあったのでレス
> FLTK1.1やら、uClibやら、busyboxを簡易日本語対応(制限付き)にしたほうがよくねぇ?
fltk で日本語使うなら utf-8 対応の fltk-1.3 使うべき。
日本語入力は kinput2 みたいに xim にはとりあえず対応している。
ただローカルパッチ充てる必要もあった。

busybox の日本語対応って。日本語使って一番気になるのは vi の日本語対応だった。
ENABLE_FEATURE_VI_8BIT あたりを書き換えて強引に utf-8 出力させても
カーソル移動が全角文字に対応してないので、日本語編集には使えない。
wc_width() で幅拾おうにも、East Asian Ambiguous Width がまだ片付いてなく微妙。
現状だったら nano でも入れた方がマシかも知れん。
0124login:Penguin
垢版 |
2013/07/26(金) NY:AN:NY.ANID:4D0G6Fh1
>>123
vi対応とかならnano使えばいいんじゃね?
Tinycore付属のEditorとか信じがたいほどバイナリーサイズが小さいよ。
fltk-1.1→ fltk-1.3
これバイナリーサイズが数倍に肥大してないか?
0125login:Penguin
垢版 |
2013/07/26(金) NY:AN:NY.ANID:l1XHsah9
nano で utf-8使えるようにするには
ncurses コンパイル時に --enable-widec 入れたり
別にワイド文字対応 ncursesw ライブラリ用意するハメになるんだよなぁ。

tinycore付属の editor。メモ帳代わりにちょうどいいんだけど、
X Window 上でないと使えない。
リモート・コンソールからのログインなんかで使えないんだよね。

やっぱりターミナル上で動く日本語対応エディタってのは欲しい。

それから、おいらの手元のfltk-1.3は
-rwxr-xr-x 1 root root 1102203 Jul 20 21:45 libfltk.so.1.3
-rwxr-xr-x 1 root root 22534 Jul 20 21:45 libfltk_forms.so.1.3
-rwxr-xr-x 1 root root 63360 Jul 20 21:45 libfltk_images.so.1.3
1.1に比べて、2倍ってところかな。
でもdillo入れたりしているし、
とりあえずでも日本語使える環境ってのは助かることが多い。
0126login:Penguin
垢版 |
2014/12/02(火) 00:14:53.98ID:plPRNAuJ
busybox最強伝説
0127login:Penguin
垢版 |
2014/12/04(木) 19:45:18.48ID:gRfMJXpE
なんかスクリプトで書かれた日本語エディタってないの?
0129login:Penguin
垢版 |
2014/12/06(土) 09:35:25.08ID:r0JwZPZe
日本語対応スクリプトで簡易エディタを書くか、日本語処理もスクリプト内で独自にやる。
busyboxのビルトインを駆使すればなんとかなるだろうか?
0130login:Penguin
垢版 |
2014/12/14(日) 20:48:19.57ID:P/ofgKzs
最近はプログラムができないLinux使いがほとんど占めている。
0131login:Penguin
垢版 |
2015/05/26(火) 00:52:18.50ID:9sSrL88L
busyboxのhttpdのcgiでserver sent eventは動作できますか?
0132login:Penguin
垢版 |
2015/06/15(月) 22:18:31.84ID:0p2kz2oy
.mkファイル

いつのまにか
CONF_OPTが、CONF_OPTSと書くように
仕様かわった?

自分で追加したpackageで、configureのオプションがきかなくて戸惑ってしまった
0133login:Penguin
垢版 |
2015/11/06(金) 04:59:39.26ID:ZHGAnwBZ
hello worldぐらい書けるわバカヤロー
0134login:Penguin
垢版 |
2017/12/29(金) 15:41:19.17ID:S/CsVkMC
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

NAA0FGJLEZ
0135login:Penguin
垢版 |
2018/05/22(火) 09:49:31.65ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

QOSGA
0136login:Penguin
垢版 |
2020/05/09(土) 07:46:10.82ID:sCLli00m
>>134
誰だよ、お前。
0137login:Penguin
垢版 |
2022/07/13(水) 18:36:52.89ID:vgTu3WaR
大分低レベルかつスレチですまんがinitramfsのbusyboxはネットワークコマンドが使えるじゃねえか
これならNFS経由でバックアップ&リストアもできるぜ
レスを投稿する


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