普段は、NetBSD/amd64-currentを使用しているのだが、WindowsかLinuxでしか動かないデバイスを使ってみたり、どういう挙動をしているのか確認する際には、Linuxを一時的に起動させたい。 その際には、printkをいくつも追加してビルドしたLinuxカーネルで起動させたい。
USBメモリーまたはUSB HDDにDebian Linuxをインストールする
NetBSDだと、build.sh live-imageで、そのままgzcatとddコマンドで書き込めるXも含まれた環境のイメージファイルが作れるので、あるマシンで一時的にNetBSDを起動させようと言う場合には、非常に助かっている。 同じようにLinuxでもライブイメージを探してみたのだが、カーネルをISO 9660イメージの中に含めていて置き換えが難しいものしか見つからない。 確かにあっても、ルートディスクデバイスを決め打ちするので、あまり汎用性はないかもしれないが…。
Debian Linux/amd64 9.1を以下のような手順でインストールすれば、1台目のUSBメモリーやUSB HDDでどのマシンでも起動できるので、書いておく。
- Debian Linux/amd64 9.1のライブイメージをダウンロードする(今回はXFCE版を使用した)
- ダウンロードしたイメージファイルをDVD-Rに書き込む
- Debian Linux/amd64 9.1をインストールしたいUSBメモリーやUSB HDDをマシンにつなぐ
- 書き込んだDVD-RからDebian Graphical Installerを起動させる(USB接続のDVD-ROMドライブで良い)
- USBメモリーやUSB HDDにインストールする
- DVD-Rをドライブから抜き、あるいは、DVD-Rドライブを外して、USBメモリーまたはUSB HDDから起動させる
Linuxカーネルをビルドする
Debian Linux 9.1では、linux-packageというパッケージはなくなっているようだが、それを使ったウェブページばかり検索されてくるので、 Debian Linux 9.1での場合を書いておく。 一部冗長な部分があるかもしれない。
# apt-get update
# apt-get install linux-source
# apt-get build-dep linux
$ cd ~/
$ tar Jxvf /usr/src/linux-source-4.9.tar.xz
$ cd ~/linux-source-4.9
$ cp /boot/config-4.9.0-3-amd64 ./.config
$ make -j4 bindeb-pkg
$ cd ../
$ sudo dpkg -i linux-headers-*.deb
$ sudo dpkg -i linux-image-*.deb
# reboot