3
8

More than 3 years have passed since last update.

Raspberry Pi 4にLubnutu 20.04をインストールしてSSD化

Last updated at Posted at 2020-05-03

はじめに

入れなおす度に調べるのも面倒なので記録しました。
一回Raspberry Piに使ったSDの再利用とか、
SSDコントローラの相性が悪かった場合でも乗り越えられる手順です。

windows上のツール類は公式がおすすめしているものを使っています。

SSDに移行すると非常に快適ですね!
今の所、VLCでのHD動画の音飛びとカクカク再生がだめですが。

screen.jpg
※これが以下対応を行ったあとのデスクトップ画面です。

2020/5/29追記
なんかRaspberry Pi 4もまもなくSSDブートできるようになるみたいですね。
ここに至るまでに、けっこう試行錯誤があったんですけどね。。。
ダウンロード.jpg

おおまかな流れ

  1. Raspberry Pi 4用のサーバー版のイメージをダウンロードし展開
  2. SDカードの初期化
  3. SDカードへイメージの書き込み
  4. Raspberry Pi 4にSD刺して起動
  5. SSD化
  6. Lubuntuのdesktopをインストール
  7. デスクトップ環境の切り替え
  8. 日本語対応

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ボタンを押します。

コメント 2020-05-03 145819.png

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

しばらくするとユーザ選択画面が上がってくるのでログインしたいユーザをクリック
InkedIMG_20200505_101508_LI.jpg

右下にギヤのアイコンが出るので、lubuntuを選択します。
InkedIMG_20200505_101518_LI.jpg
そしてパスワードを入れてログインします。

8. 日本へのローカライズ

以下4つの対応が必要です。

日本語表示

メニューからPreference > Language Supportを選択
開いた画面の中の[Install/Remoe Languages...]のボタンを押し、
Japaneseを追加

インストールが終わると同じ画面に
English
日本語
のように日本語が追加されていると思うので、ドラッグアンドドロップで日本語が上にくるようにします。
またキーボード入力に使うIMシステムもIBusを選んでおきます。
screen1.jpg

また、同じ画面のRegional Format(地域フォーマット)のタブも日本語を選択します。

日本語入力

メニューから 設定 > 入力メソッド を選択

[OK]→[はい]→ibusを選択し[OK]

キーボード選択

設定 > LXQT設定 > キーボードとマウス
で日本語キーボードを選びます。
これで[半角/全角]キーが有効になります。

timezoneの変更

タイムゾーンの設定がされてないので、これも日本にします。

timedatectl list-timezones | grep -i tokyo
Asia/Tokyo

以上で完了!

3
8
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
3
8