Raspi4でWordPressを公開

電脳

先日から触り始めたRaspi4にUbuntu server  64bit 20.04.1 LTS を入れてます。

どうせなら、SSDでブートしようと思い入れてみましたが、ログインできません。
何でログイン出来ない? 箱の鍵は箱の中状態です。電源が弱いとかメモリが3072MB以上だと正しくブートしないとか、噂が絶えません。
LEDのあるキーボードを挿してBootすると
電源が消えてます。何かが電源を切っています。
何回がブートを繰り返すと scsi errorの文字がTVに打ち出されています。なる程、ディスクエラーっぽいです。
どうもSSDと言うかディスクロージャーがダメでした。結局大昔から使っていたLogitecのケースに入れて解決しました。
SSH でログインしてと思っていたのですが、SSHのサーバーキーが生成される前にエラってました。何処かで読んだ知識では、Clnud-init がはしって、SSHのサーバーキーを生成したり、ログインアカウントのubuntuの生成とかやるようです。
なので、ちゃんとアカウントが作られないとログイン出来ない状態になります。
インストールは、Raspbian Lite をmicroSDに入れてブートさせて ファームの書き換えを行いました。これは、Boot order を変えるが目的で、0x41になっていればOKです。意味的には、4でUSBブート、ブート出来なければ1でmicroSDからブートする仕組みです。2020年の7月位から対応になったようですが、私のは9月の最新の版にしました。
その後、microSDとSSD両方に同じ Ubuntu Server 20.04.1 LTSを raspberry pi imager で書きます。
イメージの中は2つパーティションが書かれていました。詳しくは知りませんが、VFATなパーティションで、Windows10からも見えます。
ここに、sshの名前の空ファイルを作ってからブートさせます。シリアルコンソールが有れば、Teraterm から 115200 でつなげればOKです。2つ目のパーティションは、Ext4 の Ubuntu 本体です。私は Amazon で販売していた 400 円のやつで、PL2303 で標準ドライバーでは動かず、64bit のPL2303_64bit_installer.exe と言うのをネットで探して入れました。シリアルコンソールかSSHが動けば困らないですね。ファイルの編集にはnanoが紹介されるケースが多いのですが、どうも向いてないようです。vi で困っていません。あ、関係ない話ですが、Ubuntuで動くvi は実際には、vimでしょうかね? 日本語のコメントの入った設定ファイルが、そのまま編集できて感動です。
http://www.ifamilysoftware.com/news37.html
    PL2303_64bit_instller.exe
SSD bootは簡単に出来るようになりました。
  1. 最初のパーティションのcofig.txtの編集
  2. そこにあるカーネル vmlinuzの展開
これが出来ればブートできるようになります。
microSDでブートさせた後に、SSDを挿してマウントします。設定は、root で行うべき領域なので、su を使ってます。
$ sudo passwd root
$ su
su – としません
# mount /dev/sda1 /mnt
# dd if=vmlinuz bs=1 | zcat > vmlinux
[pi4]
max_framebuffers=2
dtoverlay=vc4-fkms-v3d
boot_delay
kernel=vmlinux
initramfs initrd.img followkernel
これで皆さんが書かれているように書き換えて終わりです。
ついでに固定ipにしましょうか。xubuntu-desktop とかを入れる欲しいコマンドがかなり入ります。その中に avahi-daemonがあって、ホスト名かホスト名.local でアクセス出来るようになりますが、今は update したくないので、固定ipにします。普段使う netcofigとかもなくて、最終的には、net-toolsとかを入れることになります。この状態でのip の確認は、ip addr です。
固定ipは、 /etc/netplan 配下のファイルで設定するので、今度は2つ目のパーティションをマウントして書き換えます。
# cd /
# mount /dev/sda2 /mnt
# cd /mnt/etc/netplan
# vi 50-cloud-init.yaml
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: false
addresses: [192.168.0.8/24]
gateway4: 192.168.0.1optional: true

eth1:
dhcp4: false
addresses: [192.168.60.8/24]
optional: true
version: 2

50-cloud-init.yaml名前は変わるかもしれません。
# cd
# umount /mnt
# sync
# halt
あと困りそうな設定が、 /etc/resolv.conf の設定でしょうか?通常はDHCPからとってくるので気にならないと思いますが、自分でやる場合は、/etc/systemd/resolv.conf のDNSとDomainsの書き換えが必要です。
これで、microSD抜いてSSDでブートすれば、再びubuntuのパスワード設定から始まります。
今度の clnud-init は少し時間がかかるとおもいます。バックグランドで、resize2fs -P /dev/sda2が実行されて領域を拡張されるからです。暫くしてからログインすると幸せかも知れません。
因みに最初のパーティションは、2つ目が/でマウントされて、/ete/firmwareに/dev/sda1 がマウントされます。
カーネルがアップデートされるとブートしなくなるので、apt 実行されたら/etc/firmware にあるカーネルを展開するスクリプトを仕込みました。auto_decompress_kernel  このページ参考に組み込むと幸せになります。

コメント

タイトルとURLをコピーしました