ubuntuをSDカードにインストール
ubuntuをUSBメモリにインストールして、そこから起動することはできたが、
SDカードにインストールし、SDカードスロットから起動するようにしてみた。これは、USBメモリに三星の貴重な高速読み書き可能なものを使うのがもったいなかったというだけの理由である。
SDカードにインストールし、SDカードスロットから起動するようにしてみた。これは、USBメモリに三星の貴重な高速読み書き可能なものを使うのがもったいなかったというだけの理由である。
ddコマンドで複製を作成
意外と手間取ったのでメモとして残しておく。
USBメモリにインストールしてあるubuntuのクローンをマイクロSDカードに作りたかった。どちらも32GBだが、微妙に容量が違いしかもUSBメモリがやや大きいため苦労した。自分より小さい容量のストレージにクローンコピーは基本的にはできない。大きければはみ出した分が無駄になるだけである。
作業はRaspiOSで起動したRaspberrypi4を用いた。USBメモリが/dev/sda、USB
USBのマイクロSDカードリーダが/dev/sdbとして、まずgpartedを使ってUSBメモリのパーティション(一つしかない)の/dev/sda1の容量を少しだけ小さくし、マイクロSDカードより小さくなるようにした。
USBのマイクロSDカードリーダが/dev/sdbとして、まずgpartedを使ってUSBメモリのパーティション(一つしかない)の/dev/sda1の容量を少しだけ小さくし、マイクロSDカードより小さくなるようにした。
そしてddでコピーした
$ dd if=/dev/sda1 of=/dev/sdb1 bs=4M conv=noerror,sync
あ、前もってSDカードにはパーティションを作成しext4でフォーマットしておいた。これでよい。ddは始まると終わるまで何の反応もないので、別ウインドウを開き、
$ watch -n 60 plill USR1=dd
とかすると60秒おきに様子を教えてくれる。
https://dspckn.blogspot.com/2017/05/ubuntu-dd.html
https://dspckn.blogspot.com/2017/05/ubuntu-dd.html
SDカードから起動
これで本当に大丈夫か、非常に心もとなかったが、結局普通にSDカードスロットから起動した。念のため最初はUSBカードリーダに刺した状態で起動してうまくいくことを勿論確認した。
なんで、こうしたか。例えばラズパイをSDカードから起動するのか、あるいはUSBメモリから起動するのか、などの設定にはRaspiOSのraspi-configというコマンドを使うが、これがubuntuにはないが、どうもやりようがありそうなことが分かったからである。これならubuntuだけあればいいってことになる。
raspi-configのインsトール
どっかのページのまねをしただけだが、間違えるとけっこう面倒なことになるような気もしたので、比較的慎重に作業した。
https://qiita.com/penguinprogrammer/items/a252676a3ce6bd1410da
https://qiita.com/penguinprogrammer/items/a252676a3ce6bd1410da
$ sudo echo "deb http://archive.raspberrypi.org/debian/ buster main" >> /etc/apt/sources.list $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7FA3303E $ sudo apt-get update $ sudo apt-get install raspi-config $ sudo mount /dev/mmcblk0p1 /boot
一行目は実際には文句を言われたのd、直接/etc/apt/sources.listを編集した。/bootのマウントは再起動すると別の場所にリンクを貼っていたが別にいいのか??