Buildroot
すべて自分でビルドするディストリビュージョンのような存在です。
標準設定ではBusyBox以外何も入っておらず、入れたいものをmenuconfigで選択していきます。
GNU Cライブラリの代わりにuClibcを使うのでとても小さいLinuxシステムが出来上がります。簡単に。
LinuxとU-Bootも一緒にビルドされますが、再ビルドする際に消えちゃうと面倒なので、LinuxとU-Bootはツリー外にもソースコードを用意したほうがいい感じです。
$ git clone git://git.buildroot.net/buildroot --depth=1
$ make orangepi_r1_defconfig
$ make menuconfig
$ make
menuconfigは何もいじらずmakeして出てきたイメージでとりあえず起動するとは思います。
クロスコンパイラもBuildroot自身が作成します。
System configuration ---> Root password は設定の必要があると思います。
SDカードに書き込むイメージは output/images 以下にできます。
output/images/u-boot-sunxi-with-spl.bin: U-Boot
output/images/boot.scr: U-Boot起動スクリプト
output/images/sun8i-h2-plus-orangepi-r1.dtb: デバイスツリー
output/images/zImage: Linux Kernel
output/images/rootfs.ext2: rootfs
SDカードへの焼き方は
U-Bootのページを参照してください。
menuconfigで別途インストールしたいアプリを選択してからmakeすることになりますが、別のページで記載します。
また output/host/bin/ 以下にクロスコンパイラ(arm-linux-gccなど)が作成されるので、
環境変数 PATH に output/host/bin を追加することでターゲットシステム用のクロスコンパイラを利用することもできます。