Bay-Trail M Atomの中華PCにUbuntu 16.04(.2)をインストールしました
使い慣れるのでCentOS入れたかったんですが、そのままではKernelがemmc諸々に対応してくれないとの事なので断念。
Ubuntu LTSを下地に、DockerなりKVMなり(動くのか?)何なり使えばいいかと割り切りつつ、Ubuntu Server入れてみました。
参考にしたページ
準備したもの
インストール手順
インストーラ起動からインストール完了まで
SecureBootを切った状態でUSBメモリ起動。
幾つかの問題点を避けつつ、一通りインストール。
- インストーラは普通に立ち上がる。
- インストーラのガイドから外れないように順に進める(途中で手動の設定挟むと何故かコケた*2)。
- パーティションは、Ubuntu Server が提示してくる状態そのまま設定("/" をLVMで切る)。
一通りインストールが終わった時、GRUBの設定でコケました。この時点ではIA32 EFIに対応しないようです。
GRUBの手動設定か何かを選び、ガイドインストーラを抜け、インストールの完了操作を行いました。
(LVMルートを示すデバイスパスが表示されるので、予め控えておきます。)
USBメモリから対象環境起動
再度インストーラを入れたUSBを起動し、インストール済みの環境を立ち上げます。
- GRUBの起動メニューで「c」キーを押下
- コマンドを叩いて環境起動
ls (hd1,gpt2)
linux (hd1,gpt2)/vmlinuz-4.4.0-62-generic root=【控えておいたデバイスパス(「/dev/mapper/」で始まるやつ)】
initrd (hd1,gpt2)/initrd.img-4.4.0-62-generic
boot
※ hd1, gpt2は、LVMとは別に切られたbootパスを指定するように、適宜に読み替えて下さい。
※ デバイスパーティション「(hd1,gpt2)」等を指定した後は、tab補完が効きます。
これでインストール済みの環境が起動しました。
(番外編)ネットワーク接続(NIC)の追加、設定
今回の中華PCは、小型PCなので有線NICを搭載しておらず、インストール完了後にUSB NICを追加しました。
少し手間取りましたが、以下の手順でNICを確認し、認識させました。
- まずはインタフェース名を確認
# lshw -C network
*-network description: Ethernet interface physical id: 1 bus info: usb@1:2.4 logical name: enx0090******** (控えておく) serial: 00:90:**:**:**:** size: 1Gbit/s capacity: 1Gbit/s capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=ax88179_178a duplex=full ip=**.***.*.*** link=yes multicast=yes port=MII speed=1Gbit/s
- 続けて設定追加
# vim /etc/network/interfaces
auto enx0090******** iface enx0090******** inet dhcp# ifdown enx0090********
# ifup enx0090********
- 無事疎通
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=47 time=37.7 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=47 time=37.7 ms
これで apt-get できるようになりました!
EFI環境へのGRUBインストール
# grub-install --efi-directory=/boot/efi
Installing for i386-efi platform. Installation finished. No error reported.
※ 他のイメージを間違えて削除しないように注意。
- GRUBの設定は、修正が必要でしたので、下記の通り書き換えます。
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX_DEFAULT=""
※ splash オプションが邪魔でした。quiet は、あってもなくても良さそうです。
※ nomodeset の設定が必要というページを散見しましたが、これも設定有無にかかわらず起動しました。
- GRUB の設定内容を反映します。
# update-grub
Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.4.0-62-generic Found initrd image: /boot/initrd.img-4.4.0-62-generic Adding boot menu entry for EFI firmware configuration done
- (蛇足)EFIの設定状況確認
# efibootmgr
BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0000,0003,0001,0002,0004 Boot0000* ubuntu Boot0001* UEFI:CD/DVD Drive Boot0002* UEFI:Removable Device Boot0003 UEFI: Built-in EFI Shell Boot0004* UEFI:Network Device
- 再起動して動作を確認
# shutdown -r now
EFI上で、起動順が正しく設定されているか確認する。
一通りの作業を終えて、とりあえず起動するようになりました。