raspberry pi 4 : Raspberry Pi OS もubuntuもUSBハードディスクだけで起動


実際は vnc over ssh で運用してます

つまりラズパイは キーボードもマウスもつけておらず電源コードしかついてません。wifi接続なので arcolinux母艦から遠く離れていてもOKです

ubuntuは 動画では

バックアップは

$ ./comment-out.bat rpi4-ubuntu-backup.bat
fdisk -l /dev/sdb
read X
echo $X
x=`date +%y%m%d`
echo $x

mkdir -p /home/fujitsu/Rpi4-ubuntu/$x/sdb2---
ls -ltr /home/fujitsu/Rpi4-ubuntu

dd if=/dev/sdb of=/home/fujitsu/Rpi4-ubuntu/$x/sdb-512-600k.img bs=512 count=600000

fdisk -l /dev/sdb > /home/fujitsu/Rpi4-ubuntu/$x/fdisk.txt

umount /mb2
mount /dev/sdb2  /mb2
rsync -avHx --delete /mb2/  /home/fujitsu/Rpi4-ubuntu/$x/sdb2---/

echo '----df-----'
df
echo '----ls-----'
ls -ltr /home/fujitsu/Rpi4-ubuntu/


と 今はワークスペースが複数あるxfce4に変えてます

このxfce4変化は https://qiita.com/tyokai/items/20e3fd2ebf36be6d0f7f

 さてUSB だけの起動風景は以下です

動画の最初で マイクロSDカードが刺さってないことがわかると思います
https://www.youtube.com/watch?v=hN6YwbfSHOw

ラズパイ4は
 ngffをSATAアダプターにつけたものに USB3ポートをとおして ラズパイ4がつながってます。

この USB3.0+ngff 環境では

# hdparm -t /dev/sda2
/dev/sda2:
 Timing buffered disk reads: 972 MB in  3.00 seconds = 323.86 MB/sec
と すごい数値がでます



# fdisk -l /dev/sda
Disk /dev/sda: 59.6 GiB, 64023257088 bytes, 125045424 sectors
Device         Start       End   Sectors  Size Type
/dev/sda1   **2048**    526335    524288  256M Microsoft basic data
/dev/sda2     526336 115869695 115343360   55G Linux filesystem
/dev/sda3  115869696 125045390   9175695  4.4G Linux swap


# free
              total        used        free      shared  buff/cache   available
Mem:        1858340      432344      760548      201936      665448     1129788
Swap:       4587840           0     4587840
とメモリ2Gのラズパイ4です


# ./comment-out.bat /etc/dphys-swapfile
CONF_SWAPSIZE=0
で
# ps ax| grep  dphys-swapfile
 1229 pts/0    S+     0:00 grep dphys-swapfile
なので dphys-swapfileは動かしてません




https://www.youtube.com/watch?v=o5DeLXaYNZM をみました
ダーウィンが来た の主題は 動物は たとえ自分が倒れようとも 自分のを全力で守ります、
したがって いつかヒトという種は 地球を脱出し(太陽は50億年後には大きく膨らんで地球を飲み込む) この宇宙のどこかにある別の地球のような遠い遠い惑星Xに移住しなければなりません(地球を含む天の川銀河は約40億年後に、最も近い銀河であるアンドロメダ銀河と衝突し、融合する)
そのためには 今の科学ではなんともなりません
工学は 物理学の理念を 物質にします   
しかし 人間だけがその惑星Xにいっても それは海の中の 岩の島についたようなものでだめです。 動物も植物も細菌もつれていかねば人間は生きていかれません。地球こそが生命体です https://www.youtube.com/watch?v=I8Np1s86qLA 


以下 本論です. まずはRaspberry Pi OS から始めます



2020-08-20-raspios-buster-armhf.img を マイクロSDカードに焼き付きこれから起動し
その後は

後は ただ単に

https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb
に従うだけで 何も付け加えてないモルトウィスキーです

これにて マイクロSDカードなしで 起動できる準備が整いました

sudo apt update
sudo apt full-upgrade
sudo rpi-update

Reboot

sudo rpi-eeprom-update -d -a

Reboot

sudo raspi-config

このあとは **先の原文**に従ってください


原文だけで心もとない方は 以下も参考にしてください

この結果どうかというと

# df
ファイルシス   1K-ブロック    使用   使用可 使用% マウント位置
/dev/root         76136324 4160332 68065384    6% /
devtmpfs            823384       0   823384    0% /dev
tmpfs               955480       0   955480    0% /dev/shm
tmpfs               955480   16940   938540    2% /run
tmpfs                 5120       4     5116    1% /run/lock
tmpfs               955480       0   955480    0% /sys/fs/cgroup
/dev/sda1           258095   55024   203072   22% /boot
tmpfs               191096       0   191096    0% /run/user/1000



# cat /etc/fstab 
proc            /proc           proc    defaults          0       0
PARTUUID=44bd4930-01  /boot           vfat    defaults          0       2
PARTUUID=44bd4930-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that




root@raspberrypi:/home/pi# blkid /dev/sda1
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="6284-658D" TYPE="vfat" PARTUUID="44bd4930-01"

root@raspberrypi:/home/pi# blkid /dev/sda2
/dev/sda2: LABEL="rootfs" UUID="3a324232-335f-4617-84c3-d4889840dc93" TYPE="ext4" PARTUUID="44bd4930-02"




root@raspberrypi:/home/pi# ls -l /
合計 76
drwxr-xr-x   2 root root  4096  8月 20 19:36 bin
drwxr-xr-x   3 root root  3584  1月  1  1970 boot
drwxr-xr-x   3 root root  4096  1月  1  1970 boot.bak
drwxr-xr-x  18 root root  3880 10月 14 18:57 dev
drwxr-xr-x 109 root root  4096 10月 14 18:51 etc
drwxr-xr-x   3 root root  4096  8月 20 19:31 home
drwxr-xr-x  17 root root  4096 10月 14 18:39 lib
drwx------   2 root root 16384  8月 20 19:53 lost+found
drwxr-xr-x   3 root root  4096 10月 14 18:56 media
drwxr-xr-x   2 root root  4096  8月 20 19:26 mnt
drwxr-xr-x   4 root root  4096  8月 20 19:38 opt
dr-xr-xr-x 172 root root     0  1月  1  1970 proc
drwx------   4 root root  4096 10月 14 18:54 root
drwxr-xr-x  28 root root   840 10月 14 19:11 run
drwxr-xr-x   2 root root  4096  8月 20 19:36 sbin
drwxr-xr-x   2 root root  4096  8月 20 19:26 srv
dr-xr-xr-x  12 root root     0  1月  1  1970 sys
drwxrwxrwt  11 root root  4096 10月 14 19:11 tmp
drwxr-xr-x  11 root root  4096  8月 20 19:38 usr
drwxr-xr-x  11 root root  4096  8月 20 19:54 var




root@raspberrypi:/home/pi# cat /boot/cmdline.txt 
console=serial0,115200 console=tty1 root=PARTUUID=44bd4930-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles


すべてがうなずける結果です

この後 したこと

1)duplicatorで 80GBを160GBにクローン

2)gparted で膨らます

3)
systemctl stop dphys-swapfile
systemctl disable dphys-swapfile


cat /etc/fstab 
proc            /proc           proc    defaults          0       0
PARTUUID=44bd4930-01  /boot           vfat    defaults          0       2
PARTUUID=44bd4930-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
/dev/sda3       swap           swap    defaults,noatime 0 2



4)apt install xfce4


5)
apt install sddm 
sddm --example-config > /etc/sddm.conf 
systemctl enable sddm 


head /etc/sddm.conf
[Autologin]
# Whether sddm should automatically log back into sessions when they exit
Relogin=false
# Name of session file for autologin session (if empty try last logged in)
Session=
# Username for autologin session
User=pi





クローンを作る時 UUIDだと動かないので


# ./comment-out.bat /boot/cmdline.txt 
console=serial0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles



# ./comment-out.bat /etc/fstab 
proc            /proc           proc    defaults          0       0
/dev/sda1   /boot           vfat    defaults          0       2
/dev/sda2   /               ext4    defaults,noatime  0       1
/dev/sda3   swap           swap    defaults,noatime 0 2





わかる人だけが使ってよい 危険な sdbからsdcへのクローンスクリプト


./comment-out.bat ./rpi4-douki.bat-shuusei 
-------------------
umount /mb1
umount /mb2
umount /mc1
umount /mc2

fdisk -l

echo '----------------'
echo '----------------'
echo '----------------'

mkdir -p /mb1
mkdir -p /mb2
mkdir -p /mc1
mkdir -p /mc2

mount /dev/sdb1 /mb1
mount /dev/sdb2 /mb2
mount /dev/sdc1 /mc1
mount /dev/sdc2 /mc2

echo '----------------'
echo '----------------'
echo '----------------'

df

read X
echo $X

rsync -avHx --delete /mb1/  /mc1/
rsync -avHx --delete /mb2/  /mc2/

echo '----------------'
echo '----------------'
echo '----------------'

df

cat /mc1/cmdline.txt
cat /mc2/etc/fstab


 rpi4 は モニターのHDMIにつなぐ余地がありません(すでにmanjarolinuxで占拠されている)

で ** vnc over ssh ** にて以下です

つまり manjarlinuxのなかに xfce4なラズパイ4がきてます

ubuntu (USBハードディスクのみ)

Raspberry Pi OS よりずっといい

インスト方は以下
https://raspberry-akita.blogspot.com/2020/10/raspberry-pi-4-sdusb.html

マイクロSDカード なしで 動いてる様子は
https://youtu.be/DmvVvbR0oAA

motion(raspberry pi OSの場合)

$ diff /etc/motion/motion.conf-ori /etc/motion/motion.conf
79c79
< width 320
---
> width 640
82c82
< height 240
---
> height 480
404c404
< target_dir /var/lib/motion
---
> target_dir /home/pi/motion---





$ ./comment-out.bat /etc/rc.local 
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
motion
exit 0




# crontab -l | ./comment-out.bat -
@reboot     systemctl restart openntpd 
*/30    *   *   *   *   ntpd -s 
10  */12    *   *   *   /home/pi/motion-clear.bat




# ./comment-out.bat /home/pi/motion-clear.bat
x=`date +%Y%m%d`
z7=`date --date '7 day ago' +%Y%m%d`
z6=`date --date '6 day ago' +%Y%m%d`
z5=`date --date '5 day ago' +%Y%m%d`
z4=`date --date '4 day ago' +%Y%m%d`
z3=`date --date '3 day ago' +%Y%m%d`
z2=`date --date '2 day ago' +%Y%m%d`
z1=`date --date '1 day ago' +%Y%m%d`
z0=`date +%Y%m%d`
rm -rf /home/pi/motion---/*$z7*.mkv
rm -rf /home/pi/motion---/*$z6*.mkv
rm -rf /home/pi/motion---/*$z5*.mkv
rm -rf /home/pi/motion---/*$z4*.mkv


thinkpadなPCへ画像を連れてくる
./comment-out.bat rsync-overSSH-rpi3-2-lenovo.bat 
rsync -avHx -e ssh  \
[email protected]:/home/pi/motion---/ /home/think/motion-on-rpi3/

motion(ubuntuの場合)



# diff /etc/motion/motion.conf /etc/motion/motion.conf-ori

31,34c31
< 
< #target_dir /var/lib/motion
< target_dir /home/ubun2/motion---
< 
---
> target_dir /var/lib/motion


-----

# crontab -l | ./comment-out.bat -
@reboot motion
10  */12    *   *   *   /home/ubun2/motion-clear.bat


------

$ ./comment-out.bat motion-clear.bat 
x=`date +%Y%m%d`
z7=`date --date '7 day ago' +%Y%m%d`
z6=`date --date '6 day ago' +%Y%m%d`
z5=`date --date '5 day ago' +%Y%m%d`
z4=`date --date '4 day ago' +%Y%m%d`
z3=`date --date '3 day ago' +%Y%m%d`
z2=`date --date '2 day ago' +%Y%m%d`
z1=`date --date '1 day ago' +%Y%m%d`
z0=`date +%Y%m%d`

rm -rf /home/pi/motion---/*$z7*.mkv
rm -rf /home/pi/motion---/*$z6*.mkv
rm -rf /home/pi/motion---/*$z5*.mkv


あと以下にして日付ごと分類し 
./comment-out.bat date-sort.batを
z7=`date --date '7 day ago' +%Y%m%d`
z6=`date --date '6 day ago' +%Y%m%d`
z5=`date --date '5 day ago' +%Y%m%d`
z4=`date --date '4 day ago' +%Y%m%d`
z3=`date --date '3 day ago' +%Y%m%d`
z2=`date --date '2 day ago' +%Y%m%d`
z1=`date --date '1 day ago' +%Y%m%d`
z0=`date +%Y%m%d`
mkdir -p /home/pi/motion---/$z7
mkdir -p /home/pi/motion---/$z6
mkdir -p /home/pi/motion---/$z5
mkdir -p /home/pi/motion---/$z4
mkdir -p /home/pi/motion---/$z3
mkdir -p /home/pi/motion---/$z2
mkdir -p /home/pi/motion---/$z1
mkdir -p /home/pi/motion---/$z0
mv /home/pi/motion---/*$z7*.mkv   /home/pi/motion---/$z7
mv /home/pi/motion---/*$z6*.mkv   /home/pi/motion---/$z6
mv /home/pi/motion---/*$z5*.mkv   /home/pi/motion---/$z5
mv /home/pi/motion---/*$z4*.mkv   /home/pi/motion---/$z4
mv /home/pi/motion---/*$z3*.mkv   /home/pi/motion---/$z3
mv /home/pi/motion---/*$z2*.mkv   /home/pi/motion---/$z2
mv /home/pi/motion---/*$z1*.mkv   /home/pi/motion---/$z1
mv /home/pi/motion---/*$z0*.mkv   /home/pi/motion---/$z0
rm -rf  /home/pi/motion---/$z5
rm -rf  /home/pi/motion---/$z6
rm -rf  /home/pi/motion---/$z5
ls /home/pi/motion---

として
$ crontab -l | ./comment-out.bat - にて5〜6日前を自動的にけす
0   23  * * *   /home/pi/date-sort.bat