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

## 実際は　vnc over ssh で運用してます
![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/bd85b72b-7d90-12c7-4cb7-efe78aa6bec1.jpeg)


![22.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/b83cc8ca-e0b9-e7db-0e03-171681195092.jpeg)

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


## ubuntuは　動画では

https://www.youtube.com/watch?v=msMo7r66eUw&feature=youtu.be

バックアップは

```
$ ./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/
```

![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/9557b72c-9a27-0c6f-a4af-61d51e61f3e3.jpeg)


![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/f7dfa833-5cd2-3d0f-9e0a-b328876c8c6a.png)
と　今はワークスペースが複数あるxfce4に変えてます

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

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

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



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

この　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のラズパイ４です


# ./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　をみました|
|:---|
|ダーウィンが来た　の主題は　動物は　たとえ自分が倒れようとも　自分の**種**を全力で守ります、|
|したがって　いつかヒトという種は 地球を脱出し(太陽は５０億年後には大きく膨らんで地球を飲み込む)　この宇宙のどこかにある別の地球のような遠い遠い惑星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

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

```

------

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

![IMG_20201014_185700646.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/54642f02-df18-b16a-6aa7-ca21c00c88f4.jpeg)

![IMG_20201014_185722793.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/26bb076c-253c-e04d-3916-021fe577f8f3.jpeg)

![IMG_20201014_185736683.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/6ab55f45-cf94-4c7d-fff4-e2b126fa8991.jpeg)

![IMG_20201014_185752360.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/052e8cf5-276f-14a1-95cb-3b947fc4fb16.jpeg)

![IMG_20201014_185809430.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/2d19294c-0615-e228-f963-90c782be146d.jpeg)

![IMG_20201014_185920643.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/fb15e3f4-ab84-a8e4-a33c-3f774d4d245c.jpeg)

![IMG_20201014_185926319.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/1bc7ed08-d8ac-d02c-3cb7-136056165b04.jpeg)

![IMG_20201014_185942319.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/b4bdd93e-5904-45f1-bbda-aa410b13d440.jpeg)

![IMG_20201014_190002870.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/d592edfb-3307-7942-420b-69a61fc1e472.jpeg)



この結果どうかというと


```
# 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


```

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




## この後　したこと


```
１）duplicatorで　８０GBを１６０GBにクローン

２）gparted で膨らます

３）
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



４）apt install xfce4


５）
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 ** にて以下です
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/01b5f73a-0069-45df-c35d-637db8860e88.png)
つまり　manjarlinuxのなかに　**xfce4なラズパイ４**がきてます



##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  \
pi@192.168.31.136:/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 -　にて５〜６日前を自動的にけす
0	23	* * *	/home/pi/date-sort.bat
```