From Fedora Project Wiki

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.

Note.png
Nota
Gli esempi forniti qui sono di una Fedora 19/20 e potrebbero servire degli aggiustamenti in base al proprio hardware.

BeagleBone Black

Warning.png
IMPORTANTE
Stavolta bisogna avere un cavo console seriale per BeagleBone Black. Per coloro che non ne hanno, vedi le FAQ nella parte inferiore di questa pagina

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

Warning.png
IMPORTANTE
Bisogna utilizzare i recenti dispositivi abilitati U-Boot per avviare l'immagine di una Fedora 20 Trimslice, che può essere trovata qui. Le variabili ambientali sono descritte qui. In caso contrario il sistema non partirà.

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.

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
sync

Rimuovere il supporto ed inserirlo nel Wandboard; avviare.

Warning.png
IMPORTANTE
Inserirlo nello slot MicroSD sotto il dissipatore.

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 Alpha 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.

livemedia-modifier

Lo strumento livemedia-modifier scritto da Jon Chiappetta può essere usato per eseguire i passaggi sopra descritti ed è disponibile qui. Dopo l'installazione è possibile avviare lo script usando:

# Estrarre l'immagine
unxz Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz
# Avviare livemedia-modifier
livemedia-modifier --image=Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw --platform=vexpress --nocompress

Il 'modifier' creerà una copia dell'immagine originale, tutte le modifiche verranno fatte su di essa in modo da preservare l'integrità di quella originale.

Istruzioni addizionali si trovano qui.

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 Alpha VFAT, tuttavia non vi è attualmente alcuna rete o USB. Si sta lavorando su quest'aspetto; nel frattempo se si desidera contribuire, visitare il canale #fedora-arm su Freenode.