Jak zacząć pracę z mini komputerem Banana PI R1?
Banana Pi R1 to w zasadzie klon popularnego mini komputera Raspberry Pi. Może nie do końca klon a może fork z tego powodu, że Banana Pi rozwija się np. pod takimi względami sprzętowymi jak gigabitowy port ethernet, wbudowany przełącznik, port SATA do którego można podłączyć dysk, lub wbudowane WiFi. Z taką konfiguracją z powodzeniem można zbudować „NAS’a”, router lub Access Pointa. Przy tym wszystkim posiada taki sam rozkład pinów GPIO jak Raspberry Pi oraz system Rasbian.
Niewątpliwie główną zaletą Banana Pi R1 jest możliwość podłączenia dysku. Trzeba jednak pamiętać, że tak czy inaczej zawsze czy to Rasbperry Pi czy Banana uruchamiają potrzebna pliki do uruchomienia systemu z partycji boot która leży na karcie SD. Czyli uruchamiamy banana z boot a reszta systemu może leżeć na dysku zewnętrznym.
Zaraz pokażę jak dodać zewnętrzny dysk do systemu i przesunąć system z karty SD na ten dysk. Ja wykorzystałem zewnętrzny dysk SSD o którym mówiłem na swoim kanale Youtube.
Jeżeli zaczynasz przygodę z Banana Pi i nie wiesz jak zainstalować system to przygotuj kartę SD 8GB i ściągnij obraz systemu Raspbian Lite 3.4 z 2016-07-12 banana-pi.org. Instalacja systemu na karcie to wydanie polecenia dd:
dd if=2016-07-12-raspbian-lite-bpi-m1-m1p-r1.img of=/dev/mmcblk0 bs=4M
Po instalacji wydaj polecenie df -h a zobaczysz, że obecne pliki systemowe leżą na partycji /dev/mmcblk0p2
pi@bpi-iot-ros-ai:~ $ sudo su - root@bpi-iot-ros-ai:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 1.6G 1.4G 201M 87% / udev 435M 0 435M 0% /dev tmpfs 88M 4.5M 83M 6% /run tmpfs 437M 0 437M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 437M 0 437M 0% /sys/fs/cgroup /dev/mmcblk0p1 256M 208M 48M 82% /boot
Podłącz i sprawdź czy twój dysk jest widziany przez system, najlepiej poleceniem fdisk -l
fdisk -l |grep sda
Jeśli dysk jest widoczny trzeba stworzyć na nim partycję i system plików, ale na początek ja czyszczę informacje o partycji
dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc
Tworzę jedną partycję partycję za pomocą fdisk w formie skryptu:
( echo o # Create a new empty DOS partition table echo n # Add a new partition echo p # Primary partition echo 1 # Partition number echo # First sector (Accept default: 1) echo # Last sector (Accept default: varies) echo w # Write changes ) | fisk /dev/sda
Tworzę system plików ext4
mkfs.ext4 /dev/sda1
Instaluje pakiety potrzebne w dalszych krokach:
aptitude update && aptitude install rsync u-boot-tools
Montuje dysk i kopiuje pliki dotychczasowej partycji na nowy dysk, za pomocą rsync:
mkdir /tmp/sata mount /dev/sda1 /tmp/sata rsync -arx --progress / /tmp/sata sync umount /tmp/sata
Zmieniam wpisy w pliku rozruchowym boot.cmd, która partycja to root i kompiluje plik boot.scr, który jest rozumiany przez bootloader U-BOOT
mount /dev/mmcblk0p1 /boot cd /boot/bananapi/bpi-r1/linux mv boot.scr boot.scr.old sed -i -e 's/root=\/dev\/mmcblk0p2/root=\/dev\/sda1/g' boot.cmd mkimage -C none -A arm -T script -d boot.cmd boot.scr
Reboot systemu aby sprawdzić czy dysk zozstanie poprawnie zamontowany
reboot
Po ponownym zalogowaniu do systemu powinno pojawić się taka tablica jak poniżej po wykonaniu df -h. To oznacza, że wszelkie dane zapisują się teraz już na głównej partycji czyli zewnętrznym dysku HDD
pi@bpi-iot-ros-ai:~ $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 1.5G 26G 6% / udev 435M 0 435M 0% /dev tmpfs 88M 8.5M 79M 10% /run tmpfs 437M 0 437M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 437M 0 437M 0% /sys/fs/cgroup /dev/mmcblk0p1 256M 208M 48M 82% /boot
To koniec w temacie podłączenia dysku do Raspberry Pi R1. Dawajcie znać jak wam poszło!