10.10.2017

Při mých pokusech jsem zničil několik SD karet. SD karta v provozu 24/7 vydrží maximálně 3 měsíce, nebo taky jen jeden měsíc, to když běžela prezentace v LibreOffice. S nástupem modelu 3 je možné “přepálit” jeden bit v paměti a Raspberry Pi pak startuje z externího disku.

Následující návod popisuje postup, jak spouštět trvale operační systém z SSD disku bez nutnosti používat SD kartu.

V tomto článku je popis instalace Raspbianu (Debian pro Raspberry Pi) na SSD disk. Díky úpravě firmware Raspberry Pi 3 a vyšší, je instalace triviální a je vpodstatě totožná s instalacé na SD kartu.

Komponenty

  • Raspberry Pi 3 Model B, revize 1.2
  • Raspbian 2017-11-29 (Stretch) 2018-11-13 Stretch lite
  • WD GREEN SSD 240GB
  • na štítku je uvedena spotřeba 0,7 A
  • Napájecí adaptér USB 2,1 A
  • USB to SATA adapter AXAGO EE25-XA
  • MacBook s MacOS X 10.6.8

Poznámka: Výše uvedená sestava funguje více než rok bez jediného výpadku. Napájení utáhne pro kontrolní účely i HDMI monitor a USB dongle pro bezdrátovou myš a klávenici.

Známé potíže

WD v současnosti nevyrábí SSD s větší kapacitou v GREEN variantě. Dostupný disk WD BLUE SSD 1TB má na štítku uvedenou spotřebu 1,6 A. Tato sestava je velmi nestabilní, při rebootu kdy nastává největší odběr elektřiny, se systém kouše a nakonec dojde k poškození souborového systému na disku. Je nutné použít samostatné napájení pro SSD. Některé adaptéry USB SATA mají sice druhou USB zástrčku pro napájení, ale ta je přímo propojená s první datovou USB zástrčkou a po připojení napájecího adaptéru pro SSD se zpětně po datovém kabelu napájí i Raspberry Pi 3 a sestava nejde korektně vypnout a dojde k poškození souborového systému.

1) Povolit bootování z USB na Raspberry Pi 3

Upozornění: Provede se pouze jednou u dalších reistalací se tento krok přeskočí.

Raspberry Pi 3 s funkčním systémem Raspian 2017-4 a novější na SD kartě (viz předcházející článek: Raspberry Pi 3 - Instalace)

Připomenutí: Funkční je pouze na Raspberry Pi 3 a vyšší.

$ vcgencmd otp_dump | grep 17:

pokud napíše jiné číslo než 0x3020000a pak je nutný další krok

$ nano /boot/config.txt

na konec textu doplnit: program_usb_boot_mode=1

restart raspberry pi

$ sudo reboot

kontrola

$ vcgencmd otp_dump | grep 17:
17:3020000a

Teď je jednou pro vždy nastavena možnost bootovat i z externího USB disku (toto nastavení už není možné změnit zpátky). Bootování z SD karty zůstává.
Poznámka: Je vhodné opět smazat z SD karty zapínání USB boot, aby se to nechtíc nenastavilo na jiných počítačích pokud se tam vsune SD karta.

2) Instalace systému na USB SSD

Připojit USB SSD k Macovi Restart macosx

2.1) Download Raspian Stretch a vyšší

2.2) Rozbalit stažený zip soubor na Plochu (Unzip .zip) - .img

2.3) Zobrazit seznam disků

$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS HD500GB 499.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *240.1 GB disk1
1: Windows_FAT_32 BOOT 98.6 MB disk1s1
2: Linux 240.0 GB disk1s2

2.4) Odpojit disk

$ sudo diskutil unmount /dev/disk1s1
Password: 
Volume NO NAME on disk1s1 unmounted
$

2.5) Instalace obrazu disku

$ sudo dd bs=1m if=/Users/user/Desktop/2017-09-07-raspbian-stretch.img of=/dev/rdisk1
Password:
4688+1 records in
4688+1 records out
4916019200 bytes transferred in 191.701890 secs (25644083 bytes/sec)
$ 

2.6) U headless (bez monitoru a klávesnice) instalace přidat prázdný soubor s názvem ssh do oddílu boot

$ cd /Volumes/boot/
$ touch ssh

2.7) vysunout disk - někdy to nefunguje*

$ diskutil eject /dev/rdisk1
Disk /dev/rdisk1 ejected
*(Volume failed to eject) pak vypnout terminal a vysunout disk z Finderu
$

2.8) Odpojit USB disk a pripojit do USB v Raspberry Pi 3
Připomenutí: Pro headless provoz (bez monitoru a klávesnice) je nutné před vyjmutím SSD ještě vytvořit obyčejný soubor v /boot/ s názvem SSH. Po spuštění v Raspberry Pi se povolí SSH a soubor je smazán. Pak je možné se vzdáleně přihlásit přes terminál pi@ip_adresa, heslo “raspberry”. Adresu lze zjistit z routeru, který ji přiděluje přes DHCP server.

2.9) Spustit Raspberry Pi 3 s připojeným USB SSD
Raspberry Pi nastartuje

2.10) Raspberrypi provede “resize disku” na plnou kapacitu

2.11) Změnit heslo z bezpečnostních důvodů hned

$ sudo raspi-config
1 Change User Password
$
TOP