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!