1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ほぼメモ】PineTab 2にArch Linux ARMをフルディスク暗号化でインストールし、キーボード無しでも操作できるようにする。

Last updated at Posted at 2024-10-29

PineTab 2にArch Linux ARMをインストールしたので誰かの参考になればとメモを残します。
PineTab 2を買うような人なら誰でもできることかもしれませんが。

2025/2/10 追記

OSK-SDLは動作するようになっていました。
画面回転がおかしくなった場合、ここを参考に直します。

用意すべきもの

  • PineTab 2
  • 256GB以上のSDカード(512GBくらいが推奨)
  • USBのWi-Fiドングル

どのようなゴール?

  • フルディスク暗号化されたArch Linux ARM
  • UIはGNOME
  • キーボードなしでディスク復号、ログイン、日本語入力ができるようにする

手順

作業用のSDカードにArch Linux ARM(KDE)をインストール

SDカードからeMMCを操作します。起動できたらsudo pacman -Syu --overwrite=*でアップグレードしておきましょう。このときバージョンによってはUSBのWi-Fiドングルが必要になります。アップグレードが終わったら必要なくなります。

eMMCにArch Linux ARM(barebone)をインストール

eMMCに基となるArch Linux ARMをフラッシュします。
終わったら電源を切りSDカードを抜いて電源を入れると、eMMCからArch Linux ARMが起動し、パーティションが拡張されます。
またsudo pacman -Syuを実行しておきましょう。nmtuiを使えばコマンド不要でWi-Fiに接続できます。

eMMCデータの退避

またSDから起動します。
mmcblk0p1とmmcblk0p2をマウント。SDカードに適当なディレクトリを2つ作成し、sudo rsync -aAXvでコピーしておきます。

パーティションの調整

今のままのパーティション構成だと/bootが小さすぎてmkinitcpioに失敗します。
partedを使用してmmcblk0p1を512MB程度に拡張します。私はFAT32でフォーマットしました。このとき、mmcblk0の最初の32MBには触らずフリースペースとして残しておきます。ここにはU-bootのブートローダが入っているので触ると起動しなくなります。 もし触ってしまったらddで32MBだけコピーしましょう。
残りのスペースはLUKS2で暗号化し、ext4でフォーマットします。ここが/となります。

eMMCにリストア

先ほどsudo rsync -aAXvでコピーしたファイルを再度rsyncを使って2つのパーティションに戻します。終わったらmmcblk0p1はアンマウントします。

初期RAMディスクの変更

mmcblk0p2をマウントしたディレクトリに対してarch-chrootします。そして/bootにmmcblk0p1をマウントします。
chrootできたら、/etc/mkinitcpio.confを編集します。HOOKSのfilesystemsの前にencryptを挿入します。終わったらmkinitcpio -Pで初期RAMディスクを作り直しておきます。

カーネルパラメータの変更

/bootにcdします。
boot.txtを編集し、setenv bootargsconsole=tty0 console=ttyS0,115200 cryptdevice=/dev/mmcblk0p2:root root=/dev/mapper/root を追記または変更します。
保存したらsh ./mkscrを実行します。

fstabのUUID修正

/etc/fstabを修正します。/と/bootの設定が記述されているので、実際のUUIDに変更する必要があります。blkidコマンドで確認します。
/は/dev/mapper/から始まるデバイスのUUIDです。mmcblk0p2のUUIDではありません。

起動できるか確認する

これでCLI環境でのフルディスク暗号化が整いました。SDカードから起動しているOSをシャットダウンし、eMMCから起動してみます。

タッチ操作だけで復号できるようにする

このままだとキーボードがないと起動できないゴミなので、OSK-SDLを初期RAMディスクに含めます。/bootの容量が128MBのままだとここで詰みます。
eMMCから起動するとCLIで起動するハズなので、sudo pacman -S osk-sdlでOSK-SDLを入れます。
入ったら、/etc/mkinitcpio.confを編集し、HOOKSのencryptの直前にosk-sdlと入れます。
保存したらsudo mkinitcpio -Pを実行します。「limaが無い」とエラーが出ますが無視でいいです。けっこう時間がかかるので待ちます。

デスクトップ環境をインストールする

私が試した限りでは、タッチのみで日本語入力ができるのはPhoshとGNOMEだけです。PhoshはPCっぽくなさすぎるのでGNOMEを入れましょう。
いきなりGNOMEを入れると派手に中華フォントになるので、先にsudo pacman -S noto-fonts-cjkでフォントを入れておきます。
できたら、sudo pacman -S gnomeでGNOMEをインストールします。
インストールが終了したら、sudo systemctl enable gdmします。
また、これは私が悪いだけかもしれませんが、/etc/profile.d/gsk-renderer-shを編集し、nglglに変えておきます。これをしないと私の環境ではウィンドウが化けます。パッケージ入れ忘れたのかな?
これで再起動してみましょう。

タッチ操作で日本語入力できるようにする

sudo pacman -S fcitx5-mozc fcitx5-configtoolでとりあえず日本語入力ツールを揃えます。
そして、GNOMEの拡張機能KimpanelGJS OSKをインストールします。これはブラウザで検索したら出てくるのでかんたんです。
この記事を書いた時点ではGJS OSKはそのままで有効化できません。./.local/share/gnome-shell/extensions/のしたにあるGJS OSKのmetadata.jsonを編集します。バージョンを書いてあるところがあるので、今使っているGNOMEのバージョンを追加しておきます。要は偽装です。
あとはGSJ OSKの設定からレイアウトを大きめにし、Fcitx5の入力メソッドにmozcを追加するなどすれば設定は終わりです。

完了!

再起動すると、GJS OSKが有効になっているはずです。GJS OSKでCtrl+Spaceを押すと、日本語入力ができるはずです。あとは好みに合わせてください。(なげやり)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?