#はじめに
入れなおす度に調べるのも面倒なので記録しました。
一回Raspberry Piに使ったSDの再利用とか、
SSDコントローラの相性が悪かった場合でも乗り越えられる手順です。
windows上のツール類は公式がおすすめしているものを使っています。
SSDに移行すると非常に快適ですね!
今の所、VLCでのHD動画の音飛びとカクカク再生がだめですが。
2020/5/29追記
なんかRaspberry Pi 4もまもなくSSDブートできるようになるみたいですね。
ここに至るまでに、けっこう試行錯誤があったんですけどね。。。
#おおまかな流れ
- Raspberry Pi 4用のサーバー版のイメージをダウンロードし展開
- SDカードの初期化
- SDカードへイメージの書き込み
- Raspberry Pi 4にSD刺して起動
- SSD化
- Lubuntuのdesktopをインストール
- デスクトップ環境の切り替え
- 日本語対応
#1. Raspberry Pi 4用のサーバー版のイメージをダウンロードし展開
※windows10で実施
公式サイトからUbuntu Server on a Raspberry Pi 4用のイメージをダウンロードします
https://ubuntu.com/download/raspberry-pi/thank-you?version=20.04&architecture=arm64+raspi
ダウンロードできたらxz形式なので7-zipなどで展開します
#2.SDカードの初期化
※windows10で実施
一度Raspberry Pi用にしたSDカードはパーティションが切られているので、まずそれをクリアします。
コマンドラインからdiskpart
を起動
DISKPART> list disk
でSDカードを特定
DISKPART> select disk #
※#はさっき特定したディスクの番号
DISKPART> list partition
でパーティションが分かれていることを確認し
DISKPART> clean
でパーティションを削除
※続けてパーティションを作成するのですが、SD Card Formatterを使うなら不要です。
https://www.sdcard.org/jp/downloads/formatter/eula_windows/index.html
SD Card FormatterでSDカードのFAT32でフォーマットします。
※これを使うと32GBより大きなSDカードもFAT32でフォーマットできます。
#3.SDカードへのイメージの書き込み
※windows10で実施
Win32 Disk Imagerを使ってSDカードにイメージを書き込みます。
Image Fileに1で展開したimgファイルを、Deviceに2で初期化したSDカードを選びWriteボタンを押します。
#4. Raspberry Pi 4にSD刺して起動
3で作成したSDカードをRaspberry Pi4に入れディスプレイ・キーボード・LANケーブルをつないで電源を入れます
しばらくすると起動しusernameとpasswordを聞かれるので
ubuntu
と入れます。そのあとで
現在のパスワード(ubuntu)、
変更前のパスワード(ubuntu)、
新しいパスワード
新しいパスワードのリタイプ
と、都合古いパスワードと新しいパスワードを2回ずつ入れさせられます。
#5. SSD化
Raspberry Pi4は起動用にSDカードをなくすことはできませんが、
ブートシーケンスのカーネル読み込みより後をSSD化することで快適になります。
##SSDの初期化
###パーティションの再構築
Raspberry PiにSSDを刺すと勝手に認識しマウントしてしまうので、dfなどでマウントポイントを探しumountします。
dmesgやdf, fdisk -lなどでSSDのデバイス名を突き止めます
※以下、SSDが/dev/sdaだったとします(ていうか、USB3.0ポートの上に指すとsda、下に指すとsdbになります)。
またパーティションは1つで、それは/dev/sda1とします。
partedでパーディション再構築します。
> sudo parted /dev/sda
mklabel gpt
mkpart crucial 0% 100%
※crucialのところは何でもいいです。
###フォーマット
作成したパーティションをext4でフォーマットします。瞬時でした。
> sudo mkfs.ext4 /dev/sda1
##SDカード上の起動パーティションの特定
blkidで/dev/mmcblk0p?というのが2つくらいあるはずで、ext4の方が/配下が入ってます。
※多くの場合/dev/mmcblk0p2
###SDカードをまるまるSSDにコピー
ddコマンドでコピーします。他の方法でも構いません。
sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync
※使うツールによっては、実際のパーティションサイズよりもdfの領域が小さくなってしまう(SDカードのサイスに合わせられてしまう)場合があります。その時は以下コマンドでパーティションサイズいっぱいまで拡張できます。
sudo resize2fs /dev/sda1
##起動ドライブの書き換え
SDカード上の
/boot/firmware/cmdline.txtのrootのところを今回コピーしたパーティションに書き換えます。
ちなみにJMicron製のアダプターだとSSDつないでると起動しません。
それを回避するにはusb-storage.quirks=152d:0578:u
も追記します。
※152d:0578の部分はlsusbでIDを調べてください。
ちなみに1行に収めないとだめです。
net.ifnames=0 dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc
usb-storage.quirks=152d:0578:u net.ifnames=0 dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait fixrtc
###あとは再起動
これでSDカードの速度にかかわらず高速に再起動、動作するはずです。
再起動しなくなったら、windowsにSDカードを差し込めば、cmdline.txtを普通に編集できますので、もとに戻して起動すればOK。
#6. Lubuntuのdesktopをインストール
続けて以下コマンドを入力します。
すごく時間がかかるので、リポジトリの最新化・システムの更新・lubuntuデスクトップのインストールを一気にやります
> sudo apt update; sudo apt -y upgrade; sudo apt -y install lubuntu-desktop
30分ぐらい待つとディスプレイマネージャをgdm3かsddmのどちらにするか聞かれますので、gdm3を選びます。
そのあとさらに1時間ぐらい待ちます。
#7. デスクトップ環境の切り替え
インストールが終わったらコマンドラインに戻るので、rebootします。
> sudo reboot
しばらくするとユーザ選択画面が上がってくるのでログインしたいユーザをクリック
右下にギヤのアイコンが出るので、lubuntuを選択します。
そしてパスワードを入れてログインします。
#8. 日本へのローカライズ
以下4つの対応が必要です。
##日本語表示
メニューからPreference > Language Supportを選択
開いた画面の中の[Install/Remoe Languages...]のボタンを押し、
Japaneseを追加
インストールが終わると同じ画面に
English
日本語
のように日本語が追加されていると思うので、ドラッグアンドドロップで日本語が上にくるようにします。
またキーボード入力に使うIMシステムもIBusを選んでおきます。
また、同じ画面のRegional Format(地域フォーマット)のタブも日本語を選択します。
##日本語入力
メニューから 設定 > 入力メソッド を選択
[OK]→[はい]→ibusを選択し[OK]
##キーボード選択
設定 > LXQT設定 > キーボードとマウス
で日本語キーボードを選びます。
これで[半角/全角]キーが有効になります。
##timezoneの変更
タイムゾーンの設定がされてないので、これも日本にします。
timedatectl list-timezones | grep -i tokyo
Asia/Tokyo
以上で完了!