Fedora 20 per ARM
Il team di Fedora ARM ha il piacere di annunciare che Fedora 20 per le architetture ARM è ora disponibile per il download al link:
http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/
Fedora 20 per ARM include due tipi di immagine - il primo per piattaforme che richiedono partizioni VFAT (come i processori basati su AM335x Beaglebone Black della Texas Instruments), altri per l'uso con dispositivi avviati su partizioni EXT3/4 (come quelli basati su Tegra2 TrimSlice della ComputerLab). Per ognuna di questi tipi di immagine, ce ne sono varie a scelta in base al tipo di desktop (includendo MATE, KDE, XFCE, LXDE, SOAS), così come immagini di sistemi minimali che invece non includono il desktop. Qualsiasi immagine di quelle proposte possono essere usate con QEMU su desktop x86_64 per emulare un ARM penamente funzionale.
I processi d'installazione basate su immagine prevede il download del file immagine (a seconda del tipo di destinazione desktop/non-desktop desiderata), l'inserimento di un supporto rimovibile nel sistema "host" (ad esempio un ARM o un PC x86_64, laptop, etc.) e dei semplici comandi per la masterizzazione sul supporto. Quest'ultimo verrà poi usato dal sistema "target" per avviare Fedora 20 Alpha.
BeagleBone Black
Il supporto per BeagleBone Black è stato aggiunto in Fedora 20. Il rilascio GA include il supporto base che verrà esteso per includere HDMI e USB con i rilasci dei kernel 3.12. E' in programma una nuova remix. Nel frattempo, si consiglia l'immagine minimal.
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-$TYPE-VFAT-armhfp-20-1-sda.raw.xz
Copia l'immage nel supporto di destinazione:
xzcat Fedora-$TYPE-VFAT-armhfp-20-1-sda.raw.xz > /dev/<location-of-your-media>
Auto-mount il nuovo supporto e copia i file U-Boot dalla partizione root alla UBOOT (all'auto-montaggio su Fedora, le partizioni verranno visualizzate come segue):
USER= #your username cp /run/media/$USER/__/usr/share/uboot-beaglebone/* /run/media/$USER/uboot/ cp /run/media/$USER/uboot/uEnv.txt.beaglebone /run/media/$USER/uboot/uEnv.txt
Inserirlo nel BeagleBone Black ed avviare. (NOTA - non premere alcun pulsante del Beaglebone Black per permettere l'avvio dell'U-Boot da eMMC. I LED rimarranno accesi e si spegneranno quando il kernel viene avviato)
Modificare una opzione nel seguente file(solo BeagleBone Black):
vi /run/media/$USER/uboot/uEnv.txt abcboard=am335x-bone > abcboard=am335x-boneblack
TrimSlice della ComputerLab
Scaricare l'immagine scelta per TrimSlice:
TYPE= # options included KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-$TYPE-armhfp-20-1-sda.raw.xz
Copiare l'immagine:
xzcat Fedora-$TYPE-armhfp-20-1-sda.raw.xz > /dev/<location-of-your-media>
Inserirla in TrimSlice ed avviare. Fedora partirà con un setup iniziale che permette di creare il proprio utente, di impostare la password di root ed il fuso orario.
Problemi conosciuti in Trimslice
- L'avvio con l'Initrd grafico abilitato da SD card fallisce con l'errore 'mmc_timeout'. E' un bug con la versione di U-Boot fornito da CompuLab. Initrd delle immagini è un disco ram generico che viene sostituito con una versione specifica host dopo il primo aggiornamento kernel. Per ovviare a questo problema su Fedora 20, è disponibile un initrd specifico host qui.
- Una versione aggiornata di U-Boot è fornito anche da Torez Smith, può essere scaricata dalla sua pagina Fedora personale - http://torez.fedorapeople.org/trimslice/mmc_timeout_error. Il 'Readme' contiene le istruzioni di installazione.
Wandboard (Freescale i.MX6)
Il kernel Fedora attualmente non supporta il display su Wandboard, per tale motivo è raccomandato il file immagine Minimal.
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-Minimal-armhfp-20-1-sda.raw.xz xzcat Fedora-Minimal-armhfp-20-1-sda.raw.xz > /dev/<location-of-your-media> sync
Rimuovere e reinserire il supporto nel PC host per montare automaticamente l'immagine.
Wandboard include le configurazioni Solo, Dual e Quad core, determinare l'hardware ed utilizzare il alore appropriato. La configurazione Wandboard Quad è stata testata e ne è stato confermato il funzionamento, ma anche le configurazioni Solo e Dual core dovrebbero funzionare allo stesso modo.
USER= # your username cd /run/media/$USER/__boot sudo ln -sf dtb-3.11.10-301.fc20.armv7hl dtb
Creare il file extlinux.conf manualmente (dalla directory corrente, 'sudo vi extlinux/extlinux.conf:
- NOTA - Può essere necessario modificare il file extlinux.conf aggiungendo l'UUID del filesystem della propria root. Per controllo, usare 'blkid /dev/<location-of-your-media>'. Prendere nota dell'UUID.
# extlinux.conf generated by anaconda #ui menu.c32 menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options. #menu title Fedora Boot Options. #menu hidden timeout 60 #totaltimeout 9000 label Fedora (3.11.10-301.fc20.armv7hl) 20 (Heisenbug) kernel /vmlinuz-3.11.10-301.fc20.armv7hl append console=ttymxc0,115200 root=UUID=7ee85ed8-de4a-4779-8658-2daed0d35e97 ro rhgb quiet LANG=en_US.UTF-8 fdt /dtb/imx6q-wandboard.dtb initrd /initramfs-3.11.10-301.fc20.armv7hl.img
Copiare l'U-boot per l'hardware in uso:
BOARD= # Choose 'solo', 'dl' or 'quad' sudo cp /run/media/$USER/__/usr/share/uboot-imx6$BOARD/u-boot.imx /home/$USER/ sync
Smontare il supporto e copiare il file U-boot:
sudo umount /run/media/$USER/__boot sudo umount /run/media/$USER/__ /home/$USER/ dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1 conv=fsync sync
Rimuovere il supporto ed inserirlo nel Wandboard; avviare.
Network Installation sul Wandboard
Indipendentemente dalla scelta, dovrai installare u-boot sulla scheda microsd prima.
Il metodo preferito è l'impostazione pxe tree; bisogna copiare tutto il contenuto del pxeboot tree inclusa la directory dtb directory che ha dtbs per tutte le schede.
Se per qualche motivo non è possibile utilizzare PXE è possibile caricare manualmente ciascuno dei bit da un server TFTP seguendo i seguenti passaggi.
Testato su Wandboard Quad, usare il 'dtb' appropriato per il proprio board ed aggiustare l'indirizzo IP nella rete. Ciò richiederà anche un server TFTP di lavoro e una MicroSD con U-Boot.
setenv ipaddr $WANDBOARDIP # opure usare 'dhcp get' per l'IP setenv serverip $TFTPBOOTSEVER # Impostarlo per il proprio TFTP boot server setenv bootargs console=ttymxc0,115200 ip=eth0:dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/ rd.shell tftpboot ${ramdisk_addr_r} ${serverip}:initrd.img tftpboot ${kernel_addr_r} ${serverip}:vmlinuz tftpboot ${fdt_addr} ${serverip}:imx6q-wandboard.dtb bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}
Installazione MicroSD
E' disponibile un'immagine MicroSD pronta:
wget http://pwhalen.fedorapeople.org/Fedora/20/Fedora-20-Wandboard-Installer.raw.xz xzcat Fedora-20-Wandboard-Installer.raw.xz > /dev/<location-of-your-media> sync
Rimuovere e reinserire il supporot, smontare la MicroSD e copiare l'U-Boot:
wget http://pwhalen.fedorapeople.org/Fedora/20/u-boot.imx dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1
Se hai riformattato '/ boot' durante l'installazione per la MicroSD, bisognerà di riscrivere l'U-Boot nella scheda MicroSD e creare il link simbolico DTB come indicato in precedenza.
Problemi conosciuti sul Wandboard
- Quando si aggiorna il kernel sarà necessario aggiornare il link simbolico per il DTB in '/ boot'
- USB Root not booting. SATA non testato.
Versatile Express Emulation con QEMU
Nessun hardware ARM ? No problem! Anche senza, è possibile avviare Fedora 20 per immagini ARM usando l'emulatore QEMU. E' possibile usare qualsiasi immagine e scegliere un metodo di script o un metodo manuale in base alle proprie preferenze.
Preparazione manuale
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-$TYPE-armhfp-20-1-sda.raw.xz
Estrarre l'immagine:
unxz Fedora-$TYPE-armhfp-20-1-sda.raw.xz
Installare 'libguestfs-tools' per usare virt-copy
sudo yum install -y libguestfs-tools
Estrarre kernel ed initramfs per l'avvio.
virt-copy-out -a Fedora-$TYPE-armhfp-20-1-sda.raw /boot/vmlinuz-3.11.10-301.fc20.armv7hl . virt-copy-out -a Fedora-$TYPE-armhfp-20-1-sda.raw /boot/initramfs-3.11.10-301.fc20.armv7hl.img .
Per avviare:
sudo qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \ -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \ -kernel vmlinuz-3.11.10-301.fc20.armv7hl \ -initrd initramfs-3.11.10-301.fc20.armv7hl.img \ -sd Fedora-$TYPE-armhfp-20-1-sda.raw \
Per convenienza è possibile scaricare qui uno script per l'avvio del sistema. Per far partire lo script:
chmod 755 boot-vexpress ./boot-vexpress -h Usage: ./boot-vexpress [--gui] --kernel=vmlinuz... --ramfs=initramfs --image=fsimage [--dtb=vexpress.dtb]
Per avviare l'immagine:
sudo ./boot-vexpress --kernel=vmlinuz-3.11.10-301.fc20.armv7hl --ramfs=initramfs-3.11.10-301.fc20.armv7hl.img --image=Fedora-$TYPE-armhfp-20-1-sda.raw
L'avvio con l'albero dei dispositivi è possibile, sebbene passare --gui per la grafica non funziona in questo momento (questo è dovuto alla riformulazione in corso della piattaforma all'interno del codice del kernel Versatile Express). Perciò l'avvio senza l'albero dei dispositivi è raccomandato per F-20, visto che funzionerà sia in modalità seriale che grafica, mentre passando un DTB funzionerà solo col seriale.
Espansione del Disk Image
Si può facilmente espandere la partizione root dell'immagine del disco con qemu-img
.
Ad esempio, per aumentare le dimensioni dell'immagine di 10GB:
qemu-img resize ./file.img +10G
Interactive Network Installation
Fedora 20 offre la possibilità di eseguire una installazione di rete utilizzando 'vexpress-a15' o 'vexpress-a9'. Con il primo vi permetterà di sfruttare più RAM utilizzando il kernel LPAE.
# vexpress-a15 # Crea l'immagine disco qemu-img create Fedora-QEMU-A15-armhfp-20-1-sda.raw $SIZE #add a size EG 8G # recupero DTB wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/images/pxeboot/dtb/vexpress-v2p-ca15-tc1.dtb # Inizio installazione sudo virt-install --name Fedora-QEMU-A15-armhfp-20-1-sda \ --ram 2048 \ --arch armv7l \ --machine vexpress-a15 \ --location=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/ \ --disk Fedora-QEMU-A15-armhfp-20-1-sda.raw \ --extra-args="console=ttyAMA0 rw" \ --os-variant fedora20 \ --graphics none \ --boot dtb=`pwd`/vexpress-v2p-ca15-tc1.dtb # vexpress-a9 # Crea l'immagine disco sudo qemu-img create Fedora-QEMU-A9-armhfp-20-1-sda.raw $SIZE #add a size EG 8G # recupero DTB wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/images/pxeboot/dtb/vexpress-v2p-ca9.dtb # Inizio installazione sudo virt-install \ --name Fedora-QEMU-A9-armhfp-20-1-sda \ --ram 1024 \ --arch armv7l \ --machine vexpress-a9 \ --location=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/ \ --disk Fedora-QEMU-A9-armhfp-20-1-sda.raw \ --extra-args="console=ttyAMA0 rw" \ --os-variant fedora20 \ --graphics none \ --boot dtb=`pwd`/vexpress-v2p-ca9.dtb
Completare l'installazione Text o VNC scegliendo un pacchetto software e uno schema di partionamento (nota che durante la scelta tra LVM o BTRFS sarà necessario modificare gli argomenti del kernel in modo appropriato). Il sistema tenterà di riavviarsi, ma non ci riuscirà finché il prossimo passo non sarà completato.
Estrazione file dall'immagine disco
Una volta completata, bisognerà copiare kernel, initramfs ed DTB dall'immagine disco per usarli con Virt-Manager o linea di comando.
# vexpress-a15 sudo virt-copy-out -a Fedora-QEMU-A15-armhfp-20-1-sda.raw /boot/{vmlinuz-3.11.10-301.fc20.armv7hl+lpae,initramfs-3.11.10-301.fc20.armv7hl+lpae.img} . sudo virt-copy-out -a Fedora-QEMU-A15-armhfp-20-1-sda.raw /boot/dtb-3.11.10-301.fc20.armv7hl+lpae/dtb-3.11.10-301.fc20.armv7hl/vexpress-v2p-ca15-tc1.dtb . # vexpress-a9 sudo virt-copy-out -a Fedora-QEMU-A9-armhfp-20-1-sda.raw /boot/{vmlinuz-3.11.10-301.fc20.armv7hl,initramfs-3.11.10-301.fc20.armv7hl.img} . sudo virt-copy-out -a Fedora-QEMU-A9-armhfp-20-1-sda.raw /boot/dtb-3.11.10-301.fc20.armv7hl/vexpress-v2p-ca9.dtb .
Avviare il nuovo sistema
Una volta che i file sono stati estratti è possibile scegliere di utilizzare il sistema da linea di comando o con Virt-Manager. Virt-Manager offre maggiore flessibilità ed è consigliato per la maggior parte degli utenti.
Virt-Manager
- Aprire Virt-Manager e selezionare l'immagine creata prima. Cliccare su "Edit-> Virtual Machine Details -> View -> Details"
- Da "Boot Options", aggiungere kernel, initramfs e dtb estratti precedentemente (il DTB deve puntare al percorso corretto)
- Come argomenti kernel, aggiungere (nota- se utilizzato un partizionamento personalizzato, servirà una rettifica con 'root='):
# Con il partizionamento standard console=ttyAMA0,115200n8 rw root=/dev/vda3 rootwait # Se selezionato un LVM console=ttyAMA0,115200n8 rw root=/dev/mapper/fedora-root rootwait
- Quando si utilizza il DTB e il kernel LPAE A15 è possibile utilizzare più RAM (12GB testati).
Known Issues when using QEMU
- After updating the kernel you will need to extract the kernel, initramfs and dtb files and update the paths used in Virt-Manager as described above.
Ridimensionare il Filesystem Root
Solitamente, la partizione root dovrebbe essere ridimensionata per caricare il media in uso sul first boot. Per usare questo spazio aggiuntivo, avviare:
resize2fs /dev/sda3
Calxeda EnergyCore (HighBank)
Fedora 20 Alpha per ARM include il supporto a sistemi in grado di eseguire installazioni in rete usando un kickstart, includendo hardware enterprise come l'Highbank. Un kickstart funzionante si trova qui.
Per istruzioni maggiormente dettagliate, visitare questa pagina.
Primo avvio
Initial-setup
- Durante il primo avvio, il sistema lancierà l'utility 'initial-setup'. Per le immagini grafiche questo avverrà sul display, per quelle minimali avverrà nella console. Il mancato completamento della configurazione iniziale, impedirà l'accesso al sistema. Per loggarsi con l'account root anche senza il completamento dell'initial-setup, servirà modificare il file '/etc/passwd' e rimuovere la 'x' dalla linea che inizia con 'root' (questo vi permetterà di accedere all'account di root senza password).
Problemi conosciuti
- Il Beaglebone Black avvierà le immagini di Fedora 20 VFAT, tuttavia non vi è attualmente alcun USB. Si sta lavorando su quest'aspetto; nel frattempo se si desidera contribuire, visitare il canale #fedora-arm su Freenode.
- Le immagini includono dracut-modules-growroot e cloud-utils-growpart ceh dovrebbero ridimensionare automaticamente la partizine root al primo avvio, a causa di un bug questo non dovrebbe accadere. La soluzione è ridimensionare la partizione root usando GParted o un equivalente.
FAQ
DOMANDA: Come faccio a usare Fedora ARM quando non ho cavo seriale o display?
RISPOSTA: Sebbene non sia consigliato, è possibile utilizzare Fedora ARM senza cavo seriale o visualizzazione. Nel farlo si consiglia di limitare gli aggiornamenti per ridurre la possibilità di non essere in grado di effettuare l'avvio. (Questo esempio è di un sistema Fedora 19, potrebbe essere necessario regolare i supporti utilizzati).
USER= # your user account rm /run/media/$USER/__/etc/systemd/system/graphical.target.wants/initial-setup-graphical.service rm /run/media/$USER/__/etc/systemd/system/multi-user.target.wants/initial-setup-text.service mkdir /run/media/$USER/__/root/.ssh/ cat /home/$USER/.ssh/id_rsa.pub >> /run/media/$USER/__/root/.ssh/authorized_keys chmod u=rwX,o=,g= -r /run/media/$USER/__/root/.ssh/
Dare al sistema un paio di minuti per l'avvio, quando si ottiene un IP si dovrebbe essere in grado di accedere via ssh all'account di root.