Conversation
Notices
-
先日入手した #RaspberryPi 3 B で USB メモリ起動の Debian buster aarch64 できた https://gnusocial.matoken.org/attachment/214317 https://gnusocial.matoken.org/attachment/214318
-
イメージは岩松さんの #tokyodebian の資料を真似して作ろうと思っていたのだけど DebianWiki 見たら非公式だけどイメージがあったので今回はそれを利用
"RaspberryPi3 - Debian Wiki"
https://wiki.debian.org/RaspberryPi3
$ wget -c https://gnusocial.matoken.org/url/214320 https://gnusocial.matoken.org/url/214321
$ sha256sum -c ./20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256
20190206-raspberry-pi-3-buster-PREVIEW.img.xz: 完了
$ xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | pv | sudo dd of=/dev/sdb bs=1M
ダウンロードしてUSBメモリに書き込んでこれで起動しようとしたら起動しない
-
恐らく OTP が USB起動に対応していないので以下のページを参考に設定する
"How to boot from a USB mass storage device on a Raspberry Pi - Raspberry Pi Documentation
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
先ず Raspbian 2017-04-10 以降のイメージを書き込んだ microSD を用意して起動してみる
( uart経由で繋ぎたい場合起動前に /boot/config.txt に次のおまじないをしておく $ echo enable_uart=1 | tee -a /media/matoken/boot/config.txt )
OTP を確認するとやはり有効になっていない
pi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:
17:1020000a
以下のように /boot/config.txt に program_usb_boot_mode=1 を追記して再起動すると反映される
$ echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
program_usb_boot_mode=1
pi@raspberrypi:~$ sudo reboot
pi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:
17:3020000a
17 が 3020000a に変わればOK
-
この状態で shutdown し,microSD を取り出して Debian の導入した USB メモリを接続して起動で起動した.
login は root:raspberry
ちゃんと 64bit
root@rpi3:~# uname -a
Linux rpi3 4.19.0-2-arm64 #1 SMP Debian 4.19.16-1 (2019-01-17) aarch64 GNU/Linux
-
細々とした設定をする
パッケージの更新
root@rpi3:~# apt update && apt upgrade
ユーザの追加
root@rpi3:~# useradd -m matoken
root@rpi3:~# passwd matoken
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@rpi3:~# chsh matoken -s /bin/bash
OpenSSH の設定変更 & 再起動
root@rpi3:~# diff -u /etc/ssh/sshd_config.old /etc/ssh/sshd_config
--- /etc/ssh/sshd_config.old 2019-02-06 15:15:46.940904823 +0000
+++ /etc/ssh/sshd_config 2019-02-13 09:00:00.883292758 +0000
@@ -29,7 +29,7 @@
# Authentication:
#LoginGraceTime 2m
-PermitRootLogin yes
+PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
@@ -119,3 +119,5 @@
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
+
+Match User matoken
root@rpi3:~# systemctl restart ssh
ssh でrootパスワードログインできず,ユーザログインが出来るのを確認
root@rpi3:~# ssh root@localhost
root@localhost's password:
Permission denied, please try again.
root@localhost's password:
Permission denied, please try again.
root@localhost's password:
root@localhost: Permission denied (publickey,password).
root@rpi3:~# ssh matoken@localhost
matoken@localhost's password:
sudo を導入して設定
root@rpi3:~# apt install sudo
root@rpi3:~# EDITOR=vi visudo #以下の行を追加した
matoken ALL=(ALL:ALL) ALL
sudo が利用できるのを確認
matoken@rpi3:~$ sudo grep ^root: /etc/shadow
sudo: unable to resolve host rpi3: Name or service not known
root:!..VyaTFxP8kT6:17933:0:99999:7:::
rootユーザをロック
$ sudo passwd -l root
sudo: unable to resolve host rpi3: Name or service not known
passwd: password expiry information changed.
matoken@rpi3:~$ sudo passwd -S root
sudo: unable to resolve host rpi3: Name or service not known
root L 02/06/2019 0 99999 7 -1
sudo時などに「sudo: unable to resolve host rpi3: Name or service not known」と言われるので hosts の localhost に rpi3 を追加
matoken@rpi3:~$ sudo vi /etc/hosts
127.0.0.1 localhost rpi3
-
ここで再起動すると root fs が見つからないと起動しない
(initramfs) Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mmcblk0p2 does not exist. Dropping to a shell!
BusyBox v1.27.2 (Debian 1:1.27.2-3) built-in shell (ash)
Enter 'help' for a list of built-in commands.
cmdline では /dev/mmcblkp2 から起動しようとしているが, /dev/sda2 から起動したい
(initramfs) ls /dev
block tty12 tty47
bsg tty13 tty48
bus tty14 tty49
char tty15 tty5
console tty16 tty50
core tty17 tty51
cpu_dma_latency tty18 tty52
disk tty19 tty53
fb0 tty2 tty54
fd tty20 tty55
full tty21 tty56
gpiochip0 tty22 tty57
gpiochip1 tty23 tty58
input tty24 tty59
kmsg tty25 tty6
kvm tty26 tty60
mem tty27 tty61
memory_bandwidth tty28 tty62
network_latency tty29 tty63
network_throughput tty3 tty7
null tty30 tty8
port tty31 tty9
psaux tty32 ttyAMA0
ptmx tty33 ttyS0
pts tty34 ttyS1
random tty35 ttyS2
sda tty36 ttyS3
sda1 tty37 urandom
sda2 tty38 vcs
snapshot tty39 vcs1
stderr tty4 vcsa
stdin tty40 vcsa1
stdout tty41 vcsu
tty tty42 vcsu1
tty0 tty43 vga_arbiter
tty1 tty44 zero
tty10 tty45
tty11 tty46
(initramfs) cat /proc/cmdline
bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 dma.dmachans=0x7f35 bcm2709.boardrev=0xa02082 bcm2709.serial=0xfaf144 bcm2709.uart_clock=48000000 smsc95xx.macaddr=B8:27:EB:FA:F1:44 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=tty0 console=ttyS1,115200 root=/dev/mmcblk0p2 rw elevator=deadline fsck.repair=yes net.ifnames=0 cma=64M rootwait
一旦電源を切って /boot/cmdline.txt の root=/dev/mmcblk0p2 を root=/dev/sda2 に書き換えて起動するようになった
user@hostpc:~$ vi /media/matoken/RASPIFIRM/cmdline.txt
-
てことでとりあえず動くようになったけど昔もらったノベルティのUSBメモリなのでこのまま運用すると遅いし多分すぐ壊れてしまう
安い SSD とか欲しいですね