From Fedora Project Wiki
(23 intermediate revisions by the same user not shown)
Line 3: Line 3:
[[Category:Fedora ARM]][[Category:Fedora 20]]
[[Category:Fedora ARM]][[Category:Fedora 20]]


=Fedora 20 Alpha per ARM=
=Fedora 20 per ARM=


{{admon/warning|IMPORTANTE | <b> Questa è una pre-release instabile - questo sistema operativo è solo a scopo di test.</b>}}
Il team di  Fedora ARM ha il piacere di annunciare che Fedora 20 per le architetture ARM è ora disponibile per il download al link:


Il team di  Fedora ARM ha il piacere di annunciare che Fedora 20 Alpha per le architetture ARM è ora disponibile per il download al link:
http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/


http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Alpha/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.


Fedora 20 Alpha 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.
 
{{admon/note|Nota | Gli esempi forniti qui sono di una Fedora 19/20 e potrebbero servire degli aggiustamenti in base al proprio hardware.}}
 
=BeagleBone Black=
{{admon/warning|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}}


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


{{admon/note|Nota | Gli esempi forniti qui sono di una Fedora 19 e potrebbero servire degli aggiustamenti in base al proprio host.}}
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=
=TrimSlice della ComputerLab=
Line 22: Line 42:
Scaricare l'immagine scelta per TrimSlice:
Scaricare l'immagine scelta per TrimSlice:
  TYPE= # options included KDE, LXDE, XFCE, SoaS, Mate and Minimal
  TYPE= # options included KDE, LXDE, XFCE, SoaS, Mate and Minimal
  wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Alpha/Images/armhfp/Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz
  wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-$TYPE-armhfp-20-1-sda.raw.xz


Copiare l'immagine:
Copiare l'immagine:
xzcat Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz > /dev/<location-of-your-media>  
  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.
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 [http://pwhalen.fedorapeople.org/Fedora/20/uInitrd-3.11.10-301.fc20.armv7hl 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) =
= Wandboard (Freescale i.MX6) =
Line 34: Line 59:


<pre>
<pre>
wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Alpha/Images/armhfp/Fedora-Minimal-armhfp-20-Alpha-4-sda.raw.xz
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-Alpha-4-sda.raw.xz > /dev/<location-of-your-media>
xzcat Fedora-Minimal-armhfp-20-1-sda.raw.xz > /dev/<location-of-your-media>
sync
sync
</pre>
</pre>
Line 45: Line 70:
USER= # your username
USER= # your username
cd /run/media/$USER/__boot
cd /run/media/$USER/__boot
ln -sf dtb-3.11.0-300.fc20.armv7hl dtb
sudo ln -sf dtb-3.11.10-301.fc20.armv7hl dtb
</pre>
</pre>
Creare il file extlinux.conf manualmente:
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.
* 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.
<pre>
<pre>
Line 61: Line 86:
#totaltimeout 9000
#totaltimeout 9000


label Fedora (3.11.0-300.fc20.armv7hl) 20 (Heisenbug)
label Fedora (3.11.10-301.fc20.armv7hl) 20 (Heisenbug)
         kernel /vmlinuz-3.11.0-300.fc20.armv7hl
         kernel /vmlinuz-3.11.10-301.fc20.armv7hl
         append console=ttymxc0,115200 root=UUID=04e54c55-4d1e-4db7-b8df-5bd9defdc4ee ro rhgb quiet LANG=en_US.UTF-8
         append console=ttymxc0,115200 root=UUID=7ee85ed8-de4a-4779-8658-2daed0d35e97 ro rhgb quiet LANG=en_US.UTF-8
         fdt /dtb/imx6q-wandboard.dtb
         fdt /dtb/imx6q-wandboard.dtb
         initrd /initramfs-3.11.0-300.fc20.armv7hl.img
         initrd /initramfs-3.11.10-301.fc20.armv7hl.img
</pre>
</pre>
Copiare l'U-boot per l'hardware in uso:
Copiare l'U-boot per l'hardware in uso:
Line 78: Line 103:
sudo umount /run/media/$USER/__
sudo umount /run/media/$USER/__
/home/$USER/
/home/$USER/
dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1
dd if=u-boot.imx of=/dev/<location-of-your-media> bs=1k seek=1 conv=fsync
sync
sync
</pre>
</pre>


Rimuovere il supporto ed inserirlo nel Wandboard; avviare.  
Rimuovere il supporto ed inserirlo nel Wandboard; avviare.  
* NOTA - Inserirlo nello slot MicroSD sotto il dissipatore.
{{admon/warning|IMPORTANTE |<b> Inserirlo nello slot MicroSD sotto il dissipatore.</b>}}
 
== Network Installation sul Wandboard ==
Indipendentemente dalla scelta, dovrai installare u-boot sulla scheda microsd prima.
 
Il metodo preferito è [http://docs.fedoraproject.org/en-US/Fedora/19/html/Installation_Guide/ap-install-server.html l'impostazione pxe tree]; bisogna copiare tutto il contenuto del [http://download.fedoraproject.org/pub/fedora/linux/releases/test/20/Fedora/armhfp/os/images/pxeboot/ 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.
<pre>
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}
</pre>
 
=== Installazione MicroSD ===
E' disponibile un'immagine MicroSD pronta:
<pre>
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
</pre>
Rimuovere e reinserire il supporot, smontare la MicroSD e copiare l'U-Boot:
<pre>
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
</pre>
 
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=
=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.
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 ===
===Preparazione manuale ===
<pre>
<pre>
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal
wget http://download.fedoraproject.org/pub/fedora/linux/releases/test/20-Alpha/Images/armhfp/Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz
wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-$TYPE-armhfp-20-1-sda.raw.xz
 
</pre>
</pre>


Estrarre l'immagine:
Estrarre l'immagine:
<pre>
<pre>
unxz Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz
unxz Fedora-$TYPE-armhfp-20-1-sda.raw.xz
</pre>
</pre>
 
Installare 'libguestfs-tools' per usare virt-copy
Montare l'immagine ed estrarre kernel ed initramfs per l'avvio.  
<pre>sudo yum install -y libguestfs-tools</pre>
Estrarre kernel ed initramfs per l'avvio.  
<pre>
<pre>
sudo kpartx -av Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw
virt-copy-out -a Fedora-$TYPE-armhfp-20-1-sda.raw /boot/vmlinuz-3.11.10-301.fc20.armv7hl .
</pre>
virt-copy-out -a Fedora-$TYPE-armhfp-20-1-sda.raw /boot/initramfs-3.11.10-301.fc20.armv7hl.img .
 
Preparare un punto di montaggio temporaneo
<pre>
mkdir /tmp/boot
sudo mount /dev/mapper/loop0p1 /tmp/boot
sudo cp /tmp/boot/initramfs-3.11.0-300.fc20.armv7hl.img .
sudo cp /tmp/boot/vmlinuz-3.11.0-300.fc20.armv7hl .
sudo umount /tmp/boot
sudo kpartx -dv Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw
</pre>
</pre>


Line 120: Line 173:
sudo qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \
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" \
  -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \
  -kernel vmlinuz-3.11.0-300.fc20.armv7hl \
  -kernel vmlinuz-3.11.10-301.fc20.armv7hl \
  -initrd initramfs-3.11.0-300.fc20.armv7hl.img \
  -initrd initramfs-3.11.10-301.fc20.armv7hl.img \
  -sd Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw \
  -sd Fedora-$TYPE-armhfp-20-1-sda.raw \
</pre>
</pre>


Per convenienza è possibile scaricare [http://pwhalen.fedorapeople.org/F20-Alpha/boot-vexpress qui] uno script per l'avvio del sistema.  
Per convenienza è possibile scaricare [http://pwhalen.fedorapeople.org/Fedora/20/boot-vexpress qui] uno script per l'avvio del sistema.  
Per far partire lo script:
Per far partire lo script:
<pre>
<pre>
Line 134: Line 187:
Per avviare l'immagine:
Per avviare l'immagine:
<pre>
<pre>
sudo ./boot-vexpress --kernel=vmlinuz-3.11.0-300.fc20.armv7hl --ramfs=initramfs-3.11.0-300.fc20.armv7hl.img --image=Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw
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
</pre>
</pre>


L'avvio con l'albero dei dispositivi è possibile, sebbene passare <b>--gui</b> 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.
L'avvio con l'albero dei dispositivi è possibile, sebbene passare <b>--gui</b> 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 ===
===Espansione del Disk Image===
Lo strumento livemedia-modifier scritto da Jon Chiappetta può essere usato per eseguire i passaggi sopra descritti ed è disponibile [http://fossjon.fedorapeople.org/review/livemedia-modifier/livemedia-modifier-2.4-1.fc18.noarch.rpm qui]. Dopo l'installazione è possibile avviare lo script usando:
 
Si può facilmente espandere la partizione root dell'immagine del disco con <code>qemu-img</code>.
 
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.
<pre>
<pre>
# Estrarre l'immagine
# vexpress-a15
unxz Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw.xz
# Crea l'immagine disco
# Avviare livemedia-modifier
qemu-img create Fedora-QEMU-A15-armhfp-20-1-sda.raw $SIZE #add a size EG 8G
livemedia-modifier --image=Fedora-$TYPE-armhfp-20-Alpha-4-sda.raw --platform=vexpress --nocompress
# 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
</pre>
</pre>
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.


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.  
=== 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.
Istruzioni addizionali si trovano [[Architectures/ARM/livemedia-modifier | qui]].
<pre>
# 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 .
</pre>
 
=== 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='):
<pre>
# 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
</pre>
 
* 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 =
= Ridimensionare il Filesystem Root =
Line 169: Line 286:
= Problemi conosciuti =
= 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, se si desidera contribuire, visitare il canale #fedora-arm su Freenode.
* 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 =
 
<b>DOMANDA</b>: Come faccio a usare Fedora ARM quando non ho cavo seriale o display?
 
<b>RISPOSTA</b>: 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).
<pre>
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/
</pre>
 
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.
 
[[Category:Italiano]]

Revision as of 18:19, 1 March 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.

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 conv=fsync
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 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.