セキュリティキャンプ全国大会2017トラックB2

DAY2 8/15(火)トラックB2
組込みLinuxクロス開発スタートアップ
担当講師:海老原祐太郎

課題テキスト

前提事項

$ 記号は一般ユーザで操作することを示す
# 記号はrootユーザで操作することを示す。
一般ユーザからは su コマンドで rootユーザに変わること

debianのバージョンとコードネーム

バージョンコードネームリリース時期
debian 6squeeze2011年2月
debian 7wheezy2013年5月
debian 8jessie2015年4月
debian 9stretch2017年6月

debianアーキテクチャ名

i38632bit PC
amd6464bit PC パソコンに新規にインストールするのであれば64bit版が良いであろう
armARM Old ABI すでに廃止された
armelARM enhanced ABI Little Endian 主にcortex以前のARMバイナリ
armhfARM Hardware Float 浮動小数点命令を含むバイナリ。現在の主流
arm64ARM 64bit 今後はこちら?
sh4Renesas SH4(非公式)

他にも sh3, sparc, sparc64, armeb などがあるが非公式

gnuツールチェイン triplet

gccセルフgcc
arm-linux-gnu-gccOld ABI すでに廃止
arm-linux-gnueabi-gccenhanced ABI主にcortex以前の浮動小数点命令を含まないARMバイナリ
arm-linux-gnueabihf-gccARM Hardware Float 浮動小数点命令を含むバイナリ。現在の主流
sh4-linux-gnu-gccRenesas SH4 / SHではABIの変更は行われていない

VirtualBoxをインストール

公式サイト

2017/8/11時点での最新バージョンは VirtualBox 5.1.26

debian 8.9 jessie 64bit (amd64)をインストール

debian cd archive mirror

予備

debain 8.9 64bit(amd64) netinst.iso を使ってインストールすること

注意

  • VirtualBoxの新規マシン設定
    • RAM 最低1024MB以上 (4096推奨)
    • CPU できれば2コア
    • 仮想HDD容量16Gバイト以上必須(デフォルトの8Gでは不足する)
    • Network 設定はブリッジとすること
  • GUI環境は不要(CUI環境とすること)
  • 最小限のパッケージでインストール
  • 海老原(講師)の設定は以下の通り
    root パスワード root
    一般ユーザ kaihatsu パスワード kaihatsu
    network DHCP

ツールチェインのビルド

  1. binutils-2.25のビルド
  2. gcc-4.9のビルド
  3. glibc_2.19のビルド
  4. bash-4.3のビルド
  5. busybox-1.22.0のビルド
  6. libncurses5_5.9のビルド

minirootを作る

RasPi3用カーネルのビルド

RasPi3でminirootを起動

関連

セキュリティキャンプ全国大会2017