In questo articolo si descrive come procedere alla creazione autonoma di una immagine per il Beaglebone Black/Green con lo strumento Omap Image Builder. Nell’esempio specifico si crea l’immagine per il Beaglebone Black Rev. C.
Le informazioni sulla procedura da seguire sono presenti sul sito
Come prerequisito alla creazione della immagine vi è la necessità di eseguire le operazioni su hardware arm; con altri sistemi si possono avere problemi. Per tale scopo procederemo ad eseguire le operazioni su una scheda Orange PI PC con sistema operativo Armbian. Dopo aver preparato il sistema Armbian per Orange PI PC, come descritto nell’articolo
Collegarsi in ssh sull’Orange PI PC; nel nostro caso abbiamo usato l’utenza sviluppo/password
Ci si può anche connettere abilitando il Desktop Remoto
Abilitazione Desktop Remoto Orange Pi PC
Creare una cartella beaglebone
1 2 |
mkdir beaglebone cd beaglebone |
Clonare il codice per la creazione della immagine
1 |
git clone git://github.com/beagleboard/image-builder.git |
La lista delle cartelle è la seguente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
image-builder ├── configs ├── docs ├── emacs ├── machinekit ├── publish ├── scripts ├── target │ ├── boot │ ├── chroot │ ├── init_scripts │ ├── keyring │ └── other └── tools └── hwpack |
Procediamo alla creazione di una immagine standard Debian 8 per Beaglebone Black
1 2 |
cd image-builder sudo ./beagleboard.org_jessie_image.sh |
Il task dura parecchio tempo e crea altre cartelle fra cui deploy entro la quale troveremo le immagini. Al termine posizionarsi nella cartella deploy/immagine compilata ed eseguire
1 |
sudo ./setup_sdcard.sh --img-4gb BBB-debian-8.6-lxqt-aaaa-mm-dd --dtb beaglebone --enable-systemd --boot_label BEAGLEBONE --bbb-old-bootloader-in-emmc --hostname beaglebone |
Comprimere l’immagine creata con il comando
1 |
sudo xz -z -8 -v BBB-debian-8.6-lxqt-aaaa-mm-dd-4gb.img |
Per creare una immagine con delle personalizzazioni procedere come indicato di seguito:
- Posizionarsi in image-builder/configs e copiare una configurazione da cui partire in custom-debian.conf. Noi abbiamo usato come base la configurazione bb.org-debian-jessie-lxqt-4gb-v4.1.conf. In custom-debian.conf aggiungere le seguenti modifiche nealla sezione deb_include per avere pronto il server vsftpd nella immagine da creare e si cambia il chroot_script
1234567deb_include==" \alsa-utils \.......xserver-xorg-video-modesetting \vsftpd \"
1chroot_script="custom-debian.sh"
Per escludere di pacchetti da installare si utilizza la sezione deb_exclude. Nello script sono commentate le varie sezioni, tra le quali ricordiamo quelle relative alla definizione del nome host, password, utenza da creare, ecc. - Accedere alla cartella image-builder/target/chroot e copiare beagleboard.org-jessie.sh come custom-debian.sh.
- Nel caso si vogliano aggiungere pacchetti python editare il file custom-debian.sh ed aggiungere gli altri pacchetti nella funzione install_pip_pkgs
123456789101112131415161718192021222324252627install_pip_pkgs () {if [ -f /usr/bin/python ] ; thenwget https://bootstrap.pypa.io/get-pip.py || trueif [ -f get-pip.py ] ; thenpython get-pip.pyrm -f get-pip.py || trueif [ -f /usr/local/bin/pip ] ; thenecho "Installing pip packages"#Fixed in git, however not pushed to pip yet...(use git and install)#libpython2.7-dev#pip install Adafruit_BBIOgit_repo="https://github.com/adafruit/adafruit-beaglebone-io-python.git"git_target_dir="/opt/source/adafruit-beaglebone-io-python"git_cloneif [ -f ${git_target_dir}/.git/config ] ; thencd ${git_target_dir}/python setup.py installfipip install --upgrade PyBBIOpip install iw_parse#Add other python packages herefififi}In tale esempio si è aggiunto solo il server ftp. Accedere nella cartella image-builder ed eseguire il comando
1sudo ./RootStock-NG.sh -c custom-debianIl task dura parecchio tempo. Al termine accedere nella cartella deploy/nomeimmagine ed eseguire
1sudo ./setup_sdcard.sh --img-4gb BBB-custom-debian-8.6-aaa-mm-dd --dtb beaglebone --enable-systemd --boot_label BEAGLEBONE --bbb-old-bootloader-in-emmc --hostname beagleboneblackProcedere alla compressione della immagine con il comando
1sudo xz -z -8 -v BBB-custom-debian-8.6-aaa-mm-dd-4gb.imgSi può creare la scheda micro sd con l’immagine personalizzata con il server ftp già presente e l’hostname modificato in beagleboneblack.
L’installazione sulla scheda microsd avviene nel modalità già vista nell’articolo
Preparazione scheda sd per Beaglebone Black
Sul sito Omap image builder sono descritte le altre tipologie di immagine tra le quali segnaliamo quelle per BeagleBone Black, Green, Iot, Machine Kit (immagine per gestire macchine CNC Machinekit), ecc.