Šis kompiuteriukas man į rankas pateko jau senokai. Palyginus su pirma aviete jis turi spartesni procesorių, daugiau RAM atminties ir gigabitinį LAN (tikroji išmatuota sparta 396 Mbits/sec) ir esminis skirtumas, turi SATA jungį.
Tada buvo suinstaliuotas Archlinux (internete rastas disko atvaizdas), bet pastebėjau, kad po sistemos atnaujinimo jis tiesiog nesikraudavo. Į pacman.conf įdėjau, kad ignoruotu kernelio ir systemd paketus. Kažkuriam laikui padėjo, bet po eilinio update ir nesikrovimo kompiuteriukas buvo užmirštas gan ilgam.
Po ilgo laiko vėl googlinant ir ieškant Archlinux’o atvaizdo teko nusivilti, kažko naujo nėra. Kompiuteriukas jau paseno ir nelabai kas jam atnaujina tuos atvaizdus. Pirminis bandymas buvo vadovaujantis https://wiki.archlinux.org/index.php/Banana_Pi pasigaminti atvaizdą pačiam. Bet po keturių (o gal ir daugiau) nesėkmių nuleidau rankas. Sistema nesikrovė.
Tada užkliuvo (http://wiki.banana-pi.org/Banana_Pi_BPI-M1#Ubuntu_Server), kad yra Ubuntu 16.04. Pagalvojau, kad man to pakaks. Siunčiu atvaizdą, rašau į kortelę. Kraunasi. Valio.
O dabar smagiausia dalis. Kaip priversti užmountinti root particiją iš disko prijungto per SATA jungti. Ir ko aš nebandžiau, SD kortelėje redaguoti armbianEnv.txt, fstab, boot.src ir dar bala žino kas. O jis nieko, užsispyręs, mountina antra SD kortelės particiją kaip root nors tu ką.
Ir vis dėlto atsakimą radau. Kaip dariau aš:
Antra SD kortelės particiją (root) nusikopijavau į SATA 2.5″ diską (mano atveju tai senasis mano SSD diskas OCZ AGILITY3).
Po kopijavimo SATA diske, paredaguojam /etc/fstab
/dev/sda1 / ext4 defaults,noatime 0 1
Prijungiam SATA diską. Įjungiam kompiuteriuką. Prisimountinam pirmą SD kortelės particiją:
mount /dev/mmcblk0p1 /mnt
Redaguojam failą:
vim /mnt/bananapi/bpi-m1/linux/boot.cmd
Ir svarbiausias momentas:
mkimage -C none -A arm -T script -d /mnt/bananapi/bpi-m1/linux/boot.cmd /mnt/bananapi/bpi-m1/linux/boot.scr
Štai jau sistema kraunasi iš SD kortelės ir root particiją naudoja iš disko prijungto per SATA jungtį. Viskas labai puikui, BET pas mane SD kortelė 16GB iš kūrių 8GB užima boot particija ir senoji root. Boot particija tik 256MB. Nesinori dėl tiek naudoti tokios didelės kortelės, tuo labiau, kad ant stalo guli sena 2GB kortelė.
Vėl prasidėjo smagioji užsiėmimo dalis. Kaip iš atvaizdo kuriam yra trys (!) particijos, palikti tik dvi ir jas suklonuoti į SD kortelę. Klonuoti po vieną particija man nepavyko. Pirmoji atvaizdo particija lyg ir tuščia (jos dydis 105MB) bet be jos sistema nesikrauna, panašu, kad ji kažkam naudojama.
Vėl gelbėja google. https://softwarebakery.com/shrinking-images-on-linux. Panaudoju paskutinį aprašyta būdą:
truncate --size=$[(729087+1)*512] 2018-07-26-ubuntu-16.04-server-preview-bpi-m1-m1p-r1-sd-emmc.img
Rezultate gaunu 356MB disko atvaizdą, kuris puikiai klonuojasi į 2GB (mažesnės jau neturiu) kortelę.
Po klonavimo reikėjo persikopijuoti aukščiau generuota bananapi/bpi-m1/linux katalogą, nes šiuo atvėju aš redagavau originalų iš interneto atsiųsta atvaizdą kuris vėl mountino root iš SD antros particijos.
Dabar jau viskas veikia kaip ir turi veikti. Boot particija SD kortelėje, visas root SSD diske.