21 views
# Chromebook C101PAにArchLinuxをインストールする ###### tags: `Linux` `Install` `Chromebook` 前回:[Fedoraインストールしようとして失敗した](/s/Syfz2I-6z) 実施日:2018年04月29日 ## 実施内容 ChromeOSのShellにまずは入る。そして、以下のコマンドでダウンロードし展開する。 ```shell $ curl -LO http://os.archlinuxarm.org/os/ArchLinuxARM-gru-latest.tar.gz $ mkdir ArchLinuxARM-gru-latest $ tar xvfz ArchLinuxARM-gru-latest.tar.gz -C ArchLinuxARM-gru-latest ``` カーネルをコピー。 ```shell $ cp -Rpvn ArchLinuxARM-gru-latest/boot/vmlinux.kpart . ``` カーネルのオプションをチェックする。 ```shell chronos@localhost /var/tmp $ sudo vbutil_kernel --verbose --verify vmlinux.kpart Key block: Signature: ignored Size: 0x4b8 Flags: 7 !DEV DEV !REC Data key algorithm: 4 RSA2048 SHA256 Data key version: 1 Data key sha1sum: d6170aa480136f1f29cf339a5ab1b960585fa444 Preamble: Size: 0xfb48 Header version: 2.2 Kernel version: 1 Body load address: 0x100000 Body size: 0x13c2000 Bootloader address: 0x14c1000 Bootloader size: 0x1000 Flags : 0x0 Body verification succeeded. Config: console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8 console=tty1 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd loglevel=4 ``` ### 寄り道 FedoraのKernelのオプションをこちらのように合わせてみて、一旦テストしてみることにする。 ```shell $ sudo vim /media/removable/BOOT/kcmdline $ cat media/removable/BOOT/kcmdline console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8 console=tty1 init=/sbin/init root=PARTUUID=683229af-33ce-4e37-9205-e59c45151c48 rootwait rw noinitrd loglevel=4 lsm.module_locking=0 $ sudo vbutil_kernel --oldblob /media/removable/BOOT/chromeos-kernel.img \ --repack /media/removable/BOOT/chromeos-kernel2.img \ --config /media/removable/BOOT/kcmdline \ --keyblock /media/removable/BOOT/fedora.keyblock \ --signprivate /media/removable/BOOT/fedora.vbprivk \ --arch arm --version 1 $ sudo dd if=chromeos-kernel2.img of=/dev/sda1 $ sudo dd if=chromeos-kernel2.img of=/dev/sda2 ``` 上記ではうまく行かなかったので、ArchのKernelで試してみる。 ```shell $ sudo vbutil_kernel --oldblob /var/tmp/vmlinux.kpart \ --repack /var/tmp/vmlinux.kpart2 \ --config /media/removable/BOOT/kcmdline \ --keyblock /media/removable/BOOT/fedora.keyblock \ --signprivate /media/removable/BOOT/fedora.vbprivk \ --arch arm --version 1 $ sudo vbutil_kernel --verbose --verify vmlinux.kpart2 Key block: Signature: ignored Size: 0x2b8 Flags: 15 !DEV DEV !REC REC Data key algorithm: 4 RSA2048 SHA256 Data key version: 1 Data key sha1sum: 3fe17541787ebfb4da52853f48aff85d2f463397 Preamble: Size: 0xfd48 Header version: 2.2 Kernel version: 1 Body load address: 0x100000 Body size: 0x13c2000 Bootloader address: 0x14c1000 Bootloader size: 0x1000 Flags : 0x0 Body verification succeeded. Config: console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8 console=tty1 init=/sbin/init root=PARTUUID=683229af-33ce-4e37-9205-e59c45151c48 rootwait rw noinitrd loglevel=4 lsm.module_locking=0 $ sudo dd if=vmlinux.kpart2 of=/dev/sda1 $ sudo dd if=vmlinux.kpart2 of=/dev/sda2 ``` これも駄目だった。通常通りインストールしたほうが良さそうだ。 ### 閑話休題 参考サイトは、[ASUS Chromebook Flip C101PA - ArchWiki](https://wiki.archlinux.jp/index.php/ASUS_Chromebook_Flip_C101PA)である。 以下のコマンドは、`sudo -i`を実行し`root`となって行うことを前提として書かれている。 はじめに、現在認識しているすべてのパーティションの認識の解除を行う。 ```shell $ umount /dev/sda* $ fdisk /dev/sda ``` その後、`fdisk`のプロンプトにおいて`g`、`w`を入力することにより、GPTを作成する。 さらにパーティションの追加を行う。 ```shell $ cgpt create /dev/sda $ cgpt add -i 1 -t kernel -b 8192 -s 65536 -l Kernel -S 1 -T 5 -P 10 /dev/sda $ cgpt add -i 2 -t data -b 73728 -s `expr 126613471 - 73728` -l Root /dev/sda # 再認識 $ partx -a /dev/sda $ mkfs.ext4 /dev/sda2 ``` その後、ディスクをマウントし、ダウンロード済みのファイルのコピーを行う。 ```shell $ cd /var/tmp/ $ mkdir root $ mount /dev/sda2 root $ cp -Rpvn ArchLinuxARM-gru-latest/* root/ $ sync ``` 次に、Kernelのインストールを行い、アンマウントする。 ```shell $ dd if=root/boot/vmlinux.kpart of=/dev/sda1 $ umount root ``` その後リブートし`Ctrl+U`にて、USBより起動させる。 ちゃんと起動した!インストール完了!