【BusyBox】BuildRoot【µClibc】
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/ スレタイが……。 uClibcにしとけば良かった orz 興味のある方、もうやったぜという方、書き込み待ってます。 buildrootのコンフィグレーションは至って簡単です カーネル再構築の時の make menuconfig と同じです また make help でヘルプの出力が出来ます。 busybox, linux, uclibcのメニューコンフィグも個別に呼び出せます $ make busybox-menuconfig $ make linux-menuconfig $ make uclibc-menuconfig make するとGentoo の emerge -e world のように自動ダウンロード、ビルド、インストールを行い rootfsのイメージ作成までやってくれます。 なんでもおkだけど出来るだけデスクトップを目標としたいのでXあり日本語ありのほうが。 とりあえず最初はX無し日本語無しで動作させて追加していくのがいいかと。 どうせallyesにするとコケまくりで頭爆発するのが落ちなので。 Xありでもvesaだとドライバ選択不要だから楽かもね 極端な話CUIなしにすればコマンドライン系は全部不要になるから 速度は上がるよ カーネルとローダとライブラリとXだけだし 後は起動時のシェル 実を言うとX入れて起動させるところまで行ってない。 buildrootの中からXの有無出来るのでお気楽に出来ると思うけど 一発でスムーズに最後まで行けないと思う。 で、CUIの部分は全部BusyBoxで済ませられる。 シェルもBusyBox ashで。 ブートローダが一番ネックかも。 インスコは簡単に出来ても実機に移してブートローダーがちゃんと機能するかどうか。 ひとつひとつ手作業でビルドするんじゃ無いので速度はあまり問題じゃないかも。 問題はこける場所が環境により人それぞれなので、そのための情報交換場所があればいいなと思い。 くだスレだと特殊な環境なので相手にされない可能性が大だと思って。 通常のディストリで一番面倒なのは パッケージ管理とかインストーラとかハード認識 だったりすると思うんだけど ライブCDを作るイメージ? tiny core のisoイメージ50MB弱だけど それよりもBuildRootの生成バイナリは小さいの? あと作成した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など不必要な物を削除してビルドオプションもサイズ優先にするなど。 ハード認識は最低限自分の使ってるハードのドライバがあれば良いので そのようにカーネル構築して、必要なXドライバだけ入れたらおk。 この辺りはGentoo, LFSでのカーネルビルド、BLFSでのXの構築と同じ。 uClibc使うだけならGentooでもemerge使って楽にクロスコンパイルできるんだけどね 所詮遊びなので固いことは抜きにしたほうが面白い。 常用ではない? 開発環境は必要? tiny core カーネル2.9MB rootfs未圧縮 15MB強 Xvesaあり 読み込み専用のLiveCD作ってしまったら常用するシステムでは無くなってしまうから。 開発環境は必要 釣りじゃなければ、とりあえずやってみた方が早いよ 落とすのはbuildroot1つだから puppyって常用可能だよ ループバックファイルシステムに追加のアプリ追加する感じだし そうじゃなくてbuildrootじゃなくてもいいだろって話 完成品をお求めならTCやPuppyをどうぞって事よ BuildRootってのはディストリビューションではなく自動化するスクリプトだからね。 勘違いしないように。 tinycoreを日本語化している連中は何だよという話になるぞ tinycoreの類似ディストロじゃまずいの? tinycoreライクなという話 >>19 に書いたようにBuildRootはディストリビューションじゃないので実際の運用はLFSよりハードル高いです。 LFS,CLFSは手作業でビルドして行きますが、ブートスクリプト群も用意されている親切な ディストリビューションの1つなのでその辺りは困りません。 BuildRootで構築するシステムは全て自分で書き上げて行きます。 もちろん>>20 のような日本語化してくれる有志もいません。全部自分でやります。 まぁ日本語化と言っても1から作り上げるので完成された英語版ディストリビューションに 改めて日本語環境を追加する作業とは少し違います。 この説明がチンプンカンプンの人は手を出さないほうがいいでしょう。 あくまでも組み込みで利用されてるツール類を使って自分だけのLinuxシステムに仕上げるのが趣旨です。 http://usamimi.info/ ~linux/d/up/up0801.png まず、このSSを見てください。 vboxでchrootしただけの状態ですが、見事に何にもありません。 シェルはBusyBoxのashです。 /etc/profileはありますが、最小限のPS1です。 正直マゾしか使えません。 >>23 glibcでいいならLFSでいいよ >>1 関連スレ >>24 参加者には glibcとuclibcの違いをきちんと説明した方が良いよ 制御系だと思わぬ所に流れるからね じゃ落ちます Wikipedia見るくらいでいいんじゃないかな。 すげぇ他力本願だが、詳しいことは現役で組み込み開発やってる人に助言してもらおう uclibcのmenuconfigでAll Locale選んどけばツールチェインはロケール要らないよな。 そもそも実用的になるのかどうか? NASとかに入れる事を考えると結構使えるかも知れない。 busyboxにhttpd,ftpd,sendmailが入ってるから案外。 でも全て簡易版なのでデーモンのログ取ったりできないからそこは工夫しなきゃダメだろうね。 別にbusyboxの内部コマンド全部使わなくてもいい。 X入れてKDEとかGNOME起動したら面白いだろうなぁ。 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 じゃ無理ですた >>29 tiny coreを見て勉強しよう fedoraだとtinycore.gzの中身が見れたよ ブートローダにroot=の設定は無さそう なんと俺向けリアルタイムなスレなんだ 今Gentooで作ってるがbaselayout-liteが無くなったのがかなり痛い baselayout-liteが使えれば適当にディレクトリ作って ROOT=/hoge emerge baselayout-lite uclibc busybox で/hoge以下にある程度完成しちゃうのに・・・ >>29 /dev/sr0はcdドライブでinitrdはメモリ上に展開した起動用極小Linux だから目を付けてる所が間違ってる気がする >>30 tinyはsyslinuxだし29はgrub使ってるから作法が違うかも >>31 ちゃうわい tinyは必要なもの全部initrd上に入ってるからroot指定が要らない ああ、そういう意味か 極小Linuxでもやり方が幾つもあるから勘違いしちゃった isoにするならsyslinuxかなぁと漠然と思ってたんだけど iso選んだらbuildrootが自動でgrub選択したのでそのまま出力してみた あとbearboxっていうブートローダもあるんだね。 ブートローダは4つほどサポートされてる。 bearbox grub syslinux (ここ名前忘れた。bearboxの前身らしい) >>31 >/dev/sr0はcdドライブでinitrdはメモリ上に展開した起動用極小Linux >だから目を付けてる所が間違ってる気がする てことは /dev/ram0 とか? >tinyは必要なもの全部initrd上に入ってるからroot指定が要らない んあ?initrdに全部入ってる場合は指定しなくてもいいのか。 つぅ事はカーネル設定見直すのが先か……。 ははw ソースとオブジェクトが容量取ってるんでdistcleanしたら output/images/の中も消えてた。もう一度最初から…… orz ちょうど手元にあったGentooのLiveCDだと append root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot initrd=gentoo.igz ってなってるね image.squashfsの中身を見てないけどこれが多分ルートファイルシステムの実体なのかも あーでもinitrd上に全部入れるってのはGentooのLiveCDとは作りが違う気がする だから37みたくroot=/dev/ram0が上手くいくか判らん OpenBlockS266へのBusyBox & uClibc環境の構築 http://www.asahi-net.or.jp/ ~jg3h-snj/bb_and_uclibc.html >>41-42 情報増えてる d bearboxじゃなくてBareboxでした "The Barebox bootloader, formerly known as U-Boot v2." http://www.barebox.org 失念してたのはこれ "Das U-Boot" U-ブートってU-ボートのもじりかなぁ 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で出力してカスタマイズしてみる。 各 .config をdate +%sとか日付でバックアップ取っとかないと いじくり倒してたら訳わからんようになるな。 こまめにdiffしましょう。 これくらいの用途でもメリットあるかな? 正直ソース落とす以外で使ったこと無い。 これを機にgitの使い方も覚えるか。 $ git commit $ git add -f output/build/busybox-1.19.3/.config $ git diff --cache なるほど。こりゃ便利だ。 ってこういう使い方であってるのかな……。 スレ違いなのに3発連投してしまった。脱線スマン。 今手元に32MBのCFと64MBのスマートメディアとセレ900なマシンとEDEN533なマシンがある さて、始めようか >>50 あってるよ。あとはブランチを覚えたらファイル変更の管理ぐらいには使える。 grub> setup (hd0) setup (hd0) Floating point exception (+д+)マズー >>> 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でパス指定しなきゃダメなのだろうか…… >>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 って出てどうしても進まない なんかmake cleanとかmake linuxとかmake uclibcとか色々やりまくったら通った *** 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のコンフィグで触るとこある? $ 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 問題無いように見えるんだが、サパーリ解らん。 wikiに今までやった事を書いてくれないか? 何をやっていて今どうなっているのかが分からない >>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 >>67 そうだけど、対象ハードが自分のという話なんで configの共有にはハードとの対比が必要かも ハードってカーネルぐらいでしょ。ttyとかあるけどさ。ある程度は共通の設定ができるよ。最初から理解しないままあれもこれも入れるとはまるよ。 Starting networkでハングしてログイン画面まで行けないんだけど何が原因? シリアルコンソールなんて使った事無いしttyS0とか全然解らんわ。 話変わるけどBusyBoxはランレベルが無くて仮想コンソール使いたければsysvinit使わないと ダメらしいが試してみようにも有効、無効にする場所も解らね。 なんか色々ダメすぎる漏れ http://lists.busybox.net/pipermail/buildroot/2010-November/039006.html これで、起動した━(゚∀゚)━! 年内には無理かなと諦めてたけどプロンプトでますた! ::respawn:-/bin/sh エロい人、これの解説おながいします つ man 5 inittab オンラインのmanあるからそっちで見れ /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て 基本的な事を伺います。BuildRootでは 1. 母艦でToolchainをビルド 2. ToolchainでHostをビルド 3. HostでTargetをビルド この順序で合ってますか? >>76 だけど、binutils-2.21.1ではuClibcのLDSO_GNU_HASH_SUPPORTは必須? 思うんだけど、BusyBox的なguiアプリってあるのかな? 見た目は流行りのブラウザベースで他はすっからかんのシステムかと思いきや、 そのブラウザをリネームするだけで実はコンソールになったりエディタになったりしたらすごく面白い気がするんだけど。 >>79 コンソールはちょっと無理っぽいが、ブラウザさえあればクラウドサービスで大抵何でも出来そう まあjslinuxがあるからブラウザ内でBuildRootのコンソールが飼えるんだけどね。 それが実用的かは置いといて そういえばBusyBox内蔵の言語ってawk位かな? forthとかlispとかLL言語がもう少しあるかと思ったんだけど意外だな。 ash とか sed のことも時には思い出してあげてください。 参考 http://www.k4.dion.ne.jp/ ~linux/busybox/ ところでBusyBoxのviって、$HOME/.exrc 見てくれないよな。 BusyBox viの代わりに http://ex-vi.sourceforge.net/ 入れてくれればいいのにな。 package/vi作ってConfig.inとvi.mk書けばいいんだろうけど。 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の命名に少し悩む。 busyboxのviはUTF-8にうまく対応してないんだよなぁ。 自分の手元では、ちょっとパッチ充てて日本語が出るようにしている。 でもカーソル移動はめちゃくちゃ。 wchar_width() 見てカーソル移動するようにしたい。 locale切ったらスムーズに進むな。 パッケージ管理システムのipkgってfakerootに入れてtarに固めるようなもん? ipkgのHowToサイト無いかな。 ipkgの解説ぐぐるとZaurusばかり出てくるな。 Wikipediaにも一応あったけどdpkgに似てるとか。 あと気になってるのがBusyBoxのashなんだが、ヒストリーを上下するとカーソル位置が行頭に来るんだよな。 行末には出来ないのかなと思って諦めてたんだが、uClibcで配布されてるsystem-imageで起動すると行末に来てる。 これ実現するにはどこ弄ればいい? [ buildroot portage ] でぐぐってたらこんなサイト発見 Alpine Linux http://alpinelinux.org/ 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> どういう時に有益なのか解らないけど。ヘルプにはダーティーなんちゃらとか書いてたが。 Alpine Linux鯖重すぎ 248,913,920 17.5K/s 時間 3h 13m 起動してみたんだがuclibc + busyboxのLinuxでは完成度高いかも知れん ちゃんとリポジトリもあるし、Gentooではお馴染みのOpenRC使ってる。 apkの使い方覚えてこの鳥参考に仕上げていこうかな。 binutilsとgccのバージョン落としてlocale/i18n切ってなんとか開発環境入れてみたけど gcc -vすると--enable-languages=c 何でよ orz alpineは.gnu.hash使ってないな。uClibcで構築するときはsysvのほうがトラブル少ないんだろうか? 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してるっす。 gcc-uclibc-4.x.mkの556行目辺りが怪しい気がするんだが解らん 今日はもう止め Yes! I can! Yheeeeeeeeeee! binutils-2.21 gcc-4.3.6 がtargetに入った! あとは残りの開発環境入れてXに挑戦だ! binutils-2.21.1は無理 TinyXをチョイスしてビルドしてる最中だがスムーズにビルドが進みすぎて逆に怖い……。 Xのドライバに印付けるの忘れてた てかもう誰もいないのココ? と書いてる間にfluxboxのビルドエラーで止まってた orz -- ImageImlib2.cc:27:20: error: Imlib2.h: そのようなファイルやディレクトリはありません -- むぅ、imlib2はビルド完了してるのに何故だ $ ls output/host/usr/include/ 確かに無い。ついでに $ ls output/build/ をみたらソースディレクトリが無い! imlib2のビルドメッセージが流れてるのをこの目で見たのに……畜生! 何か変だ。 コンフィグを見直したらimlib2がどこにも無い 俺が見たのは幻か……。 それとTinyXなるものはX11ドライバが無かった。 モジュラー化したXorgよりTinyXというものに興味があったのに。 Xvesaとは違うものなのか? 同じなのか? 多分これだと思うんだが XvesaがTinyなXという意味なのか? http://www.pps.jussieu.fr/ ~jch/software/kdrive.html http://git.buildroot.net/buildroot/commit/?id=5ddcdb4ceb4eba32d4e32b1e2201df2836bbabf2 imlib2は次のstableバージョン 2012.02辺りで来そうだ。 2011.11には入ってなかったのでfluxbox入れる場合はchrootしてソースからmakeするしか無いみたい。 XvesaとTwmにしてみたけど太るな。buildrootのinitramfsは全部入れちゃうようなので手作業で小さいinitramfs作らなきゃならんのだろうか。 Xvesaチェックしても入らないみたいでXorgにした。 で、ここで失敗。xorg-serverだの何だの入れた後にpkg-config入れたせいだと思うんだけど x11-driver関連が全部こける。 注意 xorg入れる人は先にpkg-config入れときましょう。 >>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というオプションが欲しい http://usamimi.info/ ~linux/d/up/up0839.png 初X11起動記念 この後、xf86-video-fbdev入れたらXが起動しなくなった(笑) しかし仮想マシンのメモリを128Mにしてswap無しの状態でAlpineと比較したら激しく高速 GNU_HASHが効いてるのかi586とi686で差が開くのか解らんけど。 いろいろ不備があったのでもう一度設定見なおして全部再ビルドしてみる。 これはかなり期待がもてる! 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 http://usamimi.info/ ~linux/d/up/up0842.png .laファイルがこうなってしまう。 これってバグ? gccを入れた後にlibtoolを入れるとgccをリビルドしやがる この辺りの挙動がわかんねぇなぁ……。 ちゃんと調べずに手探りでてきとうにやっているやつのダメパターン カーネルをビルドする前にlinux-menuconfigする方法無いかなぁ 二度手間になる Busyboxで日本語が化けないようにする方法てあるの? 初心者ですみません。 答えがあるなら「ある。なし」だけでお願いします。 無いとは言い切れないし、あるという表現も間違いだろう。 つまり114が作り直せば「ある」で、小手先では「ない」 http://wiki.openwrt.org/doc/howto/buildroot.exigence OpenWRTのbuildrootが何気に凄い 元々ルータ用だけあってCPU対応もめっちゃ沢山あるし ネットワークドライバの対応も殆ど網羅してる busyboxのviって、設定ファイルは読んでくれないの? busybox内蔵はおそろしく簡易版でそんな機能も設定変更などの機能も 存在しません >>119 >>1 さん。 もうスレ諦めた? >TinyCore並に軽量化され自分の環境に最適化したシステムを作りませんか? TinyCoreにビルドインされているそれらをベースで FLTK1.1やら、uClibやら、busyboxを簡易日本語対応(制限付き)にした ほうがよくねぇ? 動くのをモドキ(恐ろしく制限付き)で改造するほうが正しく動かすよりは イケていると思うわ。 日本語だって入力変換はできず、カーソル移動に対応していなくても 表示だけできるなら恐ろしく使い勝手違うと思うんだが。 >>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 でも入れた方がマシかも知れん。 >>123 vi対応とかならnano使えばいいんじゃね? Tinycore付属のEditorとか信じがたいほどバイナリーサイズが小さいよ。 fltk-1.1→ fltk-1.3 これバイナリーサイズが数倍に肥大してないか? 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入れたりしているし、 とりあえずでも日本語使える環境ってのは助かることが多い。 なんかスクリプトで書かれた日本語エディタってないの? 日本語対応スクリプトで簡易エディタを書くか、日本語処理もスクリプト内で独自にやる。 busyboxのビルトインを駆使すればなんとかなるだろうか? 最近はプログラムができないLinux使いがほとんど占めている。 busyboxのhttpdのcgiでserver sent eventは動作できますか? .mkファイル いつのまにか CONF_OPTが、CONF_OPTSと書くように 仕様かわった? 自分で追加したpackageで、configureのオプションがきかなくて戸惑ってしまった 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 NAA0FGJLEZ 僕の知り合いの知り合いができた副業情報ドットコム 関心がある人だけ見てください。 グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 QOSGA 大分低レベルかつスレチですまんがinitramfsのbusyboxはネットワークコマンドが使えるじゃねえか これならNFS経由でバックアップ&リストアもできるぜ read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる