takobozu
takobozu
buildrootを使って色々なボード用のディストリを作ってます。

マイルーム

マイルームは公開されていません

レビュー/コメント

レビュー/コメントはありません

カレンダー

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最新のレス

お気に入り製品

お気に入り製品はありません

お気に入りユーザー

日記

buildrootな日々 サルの独り言日記

このエントリーをはてなブックマークに追加
2017年09月26日

独り言日記 buildrootの中身

サルは、ソフトウエアの技術者でもなく、プログラマでもない。
だが、中身を見るのは楽しい。例えば、linuxのkernelのソースコードとか。
わからなくてもとにかく見る。自動車の運転をするのに、自動車の仕組みを深く
知る必要はないのと同じ。サルは運転ができればいい。もちろん、中身がわかれば楽しみが増すのは確かだが、それを待っていても幸せはやってこない。
だから、知識が現段階であろうがなかろうが中身をみることから始まる。
そうやっているうちに、なんとなく、これはこういうことやってんじゃね?みたいなひらめきがやってくるもんだ。年は食っていても、中身は子供のように好奇心旺盛でなければ、楽しめない。

さて、buildrootをダウンロードして、展開すると初期状態では、こんな感じ。



configsというディレクトリを開いてみると、こんな感じ。



ここにraspberrypi2_defconfigというのがある。これを使ってある呪文を唱えると、rpi2で起動できるイメージをbuildrootで作る設定が一気に済んでしまうという代物だ。そのある呪文というがこれ。

$ cd ~/buildroot(必ず、呪文を唱える場所はここ)
$ make raspberrypi2_defconfig

上記呪文を唱えたあと、

$ ccache make -j8

とかってやると、ビルドがスタートする。ビルド終了後のディレクトリ構成が
こんな感じ。



outputとdlというディレクトリが増えている。outputを開くとこんな感じ。



imagesというディレクトリを開くとこんな感じ。



この中のsdcard.imgをsdカードに適当なソフトウエアで焼くと、起動ディスクの出来上がり。最初にサルはこれをやってrpi2が起動したときは素直に感動したものだ。

以上でできるシステムは、完全にメモリ上で動くシステムではないが、それでもよければこれを基礎にして色々な設定をbuildrootに対して行い、makeすればいい。それにこれでできるルートファイルシステムは、busyboxを核とした非常にわかりやすいlinuxだ。驚きなのはbuildrootは今流行のsystemdを使ったルートファイルシステムも作ることができる。サルはやったことはないが時間があればやってみたい。

次回の日記→

←前回の日記

レス一覧

  1. こんばんは、オーシャンです
    VMwareにUbuntuを入れてやってみました

    ocean@ubuntu:~/buildroot$ ccache make -j8
    /usr/bin/make -j1 O=/home/ocean/buildroot/output HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" silentoldconfig
    make[2]: 警告: 副次 make で -jN を強制指定しました: jobserver モードを無効にします.
    You must install 'git' on your build machine
    support/dependencies/dependencies.mk:22: ターゲット 'core-dependencies' のレシピで失敗しました
    make[1]: *** [core-dependencies] エラー 1
    Makefile:79: ターゲット '_all' のレシピで失敗しました
    make: *** [_all] エラー 2

    変更していないのですが、何が悪いのでしょうか?
    この前にccacheが無いよ!、との事だったのでapt getしてます

    byオーシャン at2017-10-04 22:41

  2. オーシャンさん

    ccacheは、ビルドを速くするおまじないですので、速度を気にされないなら、ただ、make でいいです。

    -j8の 8 は私の場合、intel corei5の4コアですので、その2倍の値にしておくといいらしいのでそのようにしてます。この値を自分の環境にあわせて変えてみるのもいいでしょう。

    オーシャンさんの環境でているエラーメッセージは、未経験ですので
    詳細はわかりません。

    bytakobozu at2017-10-05 08:39

レスを書く

この記事はレスが許可されていません