From Fedora Project Wiki
Line 196: Line 196:
Si può facilmente espandere la partizione root dell'immagine del disco con <code>qemu-img</code>.
Si può facilmente espandere la partizione root dell'immagine del disco con <code>qemu-img</code>.


Ad esempio, per aumentare le dimensioni dell'immagine a 10GB:
Ad esempio, per aumentare le dimensioni dell'immagine di 10GB:
   qemu-img resize ./file.img +10G
   qemu-img resize ./file.img +10G



Revision as of 19:41, 27 February 2014

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.

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

BeagleBone Black

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

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.

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.

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 offers the ability to perform a network installation using either 'vexpress-a15' or 'vexpress-a9'. Using 'vexpress-a15' will allow you to leverage more RAM using the LPAE kernel.

# vexpress-a15
# Create the disk image
qemu-img create Fedora-QEMU-A15-armhfp-20-1-sda.raw $SIZE #add a size EG 8G
# retrieve DTB 
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/images/pxeboot/dtb/vexpress-v2p-ca15-tc1.dtb
# Begin Install
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
# Create the disk image
sudo qemu-img create Fedora-QEMU-A9-armhfp-20-1-sda.raw $SIZE #add a size EG 8G
# retrieve DTB
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/armhfp/os/images/pxeboot/dtb/vexpress-v2p-ca9.dtb
# Begin Install
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 

Complete a Text or VNC Installation choosing a software packge and partitioning scheme (note when choosing LVM or BTRFS you will need to edit the kernel arguments appropriately). The system will attempt to reboot but fail until the next step is completed.

Extracting Files from the Disk Image

Once completed you will need to copy the kernel and initramfs and DTB from the disk image for use with Virt-Manager or command line.

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

Booting the New System

Once the files have been extracted you can choose to use the system on commandline or with Virt-Manager. Virt-Manager offers additional flexibility and is recommended for most users.

Virt-Manager

  • Open Virt-Manager and select the image created above. Click on "Edit-> Virtual Machine Details -> View -> Details"
  • Under "Boot Options", add the kernel, initramfs and dtb extracted above (the DTB should point to the correct path)
  • For kernel args add (note- if custom partitioning was used for the installation you will to make adjustments to 'root='):
# If you selected Standard Partitioning
console=ttyAMA0,115200n8 rw root=/dev/vda3 rootwait
# If you selected LVM
console=ttyAMA0,115200n8 rw root=/dev/mapper/fedora-root rootwait
  • When using the A15 DTB and LPAE kernel it is possible to use more RAM (12GB tested).

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