Logo Fedora.

Instalar Fedora 21 en Banana Pi dende Fedora

Nesta entrada instalarei Fedora 21 ARM dende os espellos orixinais de Fedora, con elo me aseguro de usar unha distro que non ha sido manipulada polo presunto fabricante de Banana Pi en China, quen na súa web fornece sistemas operativos pra nosa praca.

Foto do procesador Allwiner A20

Afortunadamente a día de hoxe, avanzaron bastante no tema das pracas e a Banana Pi ten un bo soporte por parte de Fedora, xa que a Banana Pi leva un procesador Allwiner A20, que está presente en diferentes pracas tal e como recolle a web do proxecto Fedora.

Preparando a instalación

O primero que precisamos é ter a nosa tarxeta SD conectada ao noso computador, pra tela accesible.

Probalemente esté en /dev/mmcblk0
# fdisk -l | grep mmcblk0
Disk /dev/mmcblk0: 29,9 GiB, 32090619904 bytes, 62676992 sectors

Tamén precisaremos dun directorio de traballo pra realizar as nosas operación sen montar unha chapuza é opcional, mais a min me gusta ser organizado cando fago estas cousas que logo é incómodo ter un “cortello” como sistema de arquivos.

Creo o directorio no que vou traballar:
mkdir ~/FEDORA_BANANAPI
cd ~/FEDORA_BANANAPI

Dende agora traballarei neste directorio durante todo o titorial.

Descargala distro

Precisamos descargala distro, pra elo podemos acceder ao seguinte enlace

Necesitamos descargar la distro, para ello accedemos al siguiente enlace: http://download.fedoraproject.org/pub/fedora/linux/releases/21/Images/armhfp/

Que é o oficial de Fedora pra baixar a súa versión 21 pra ARM, no caso de que saquen novas versións subir ata o directorio “releases” e elixir o número da versión que queiras.

Precisamos descargala distro, pra elo accedemos o seguinte enlace: http://download.fedoraproject.org/pub/fedora/linux/releases/21/Images/armhfp/ que é o oficial de Fedora pra baixar a versión pra ARM de Fedora 21.

Como non me fornecen unha versión https non me conformo co primer mirror español que me ofrecen e vou a Fedora mirrors a comprobar se teñen algún con https.

Accedo a “mirrors” (non a home, que sería a principal ) e facendo unha búsqueda con cntrl+f en Firefox, atopo un enlace https de un mirror alemán, polo que parece é dos poucos que usan https e ipv6.

Pra baixar a imaxe de Fedora 21 ARM uso o seguinte enlace: https://ftp.fau.de/fedora/linux/releases/21/Images/armhfp/

No meu caso bou baixar a imaxen minimal, xa que me interesa unha imaxen que esté o máis “pelada” posible pra decidir qué servizos se executarán na miña Banana PI:
$ wget -v https://ftp.fau.de/fedora/linux/releases/21/Images/armhfp/Fedora-Minimal-armhfp-21-5-sda.raw.xz
--2015-05-20 18:39:31--  https://ftp.fau.de/fedora/linux/releases/21/Images/armhfp/Fedora-Minimal-armhfp-21-5-sda.raw.xz
Resolvendo ftp.fau.de (ftp.fau.de)... 131.188.12.211, 2001:638:a000:1021:21::1
Conectando con ftp.fau.de (ftp.fau.de)|131.188.12.211|:443... conectado.
Petición HTTP enviada, agardando unha resposta... 200 OK
Lonxitude: 285072016 (272M)
Gardando en: «Fedora-Minimal-armhfp-21-5-sda.raw.xz»
 
Fedora-Minimal-armhfp-21-5-sda.raw.xz   69%[=============================>            ] 189,48M  6,66MB/s   eta 15s  

Unha vez baixada precisamos comprobar que a imaxen que baixamos esté ben.

Pra elo descargamos o ficheiro “Fedora-Images-armhfp-21-CHECKSUM” :
$ wget -v https://ftp.fau.de/fedora/linux/releases/21/Images/armhfp/Fedora-Images-armhfp-21-CHECKSUM
--2015-05-20 18:43:57--  https://ftp.fau.de/fedora/linux/releases/21/Images/armhfp/Fedora-Images-armhfp-21-CHECKSUM
Resolvendo ftp.fau.de (ftp.fau.de)... 131.188.12.211, 2001:638:a000:1021:21::1
Conectando con ftp.fau.de (ftp.fau.de)|131.188.12.211|:443... conectado.
Petición HTTP enviada, agardando unha resposta... 200 OK
Lonxitude: 1493 (1,5K)
Gardando en: «Fedora-Images-armhfp-21-CHECKSUM»
 
Fedora-Images-armhfp-21-CHECKSUM  100%[=========================================================>]   1,46K  --.-KB/s   en 0s     
 
2015-05-20 18:43:57 (70,9 MB/s) - gardouse «Fedora-Images-armhfp-21-CHECKSUM» [1493/1493]
Agora témolos dóus ficheiros descargados:
$ ls -lh
total 272M
-rw-rw-r--. 1 <usuari@> <usuari@> 1,5K Dec  5 22:46 Fedora-Images-armhfp-21-CHECKSUM
-rw-rw-r--. 1 <usuari@> <usuari@> 272M Dec  3 23:01 Fedora-Minimal-armhfp-21-5-sda.raw.xz

Comprobando a veracidade do checksum coa chave GPG

Pra comprobar se me descargueis a mesma imaxen que fornecen os do proxecto Fedora teño 2 opcións:

O máis adecuado é verificala firma GPG, xa que con este sistema asegurámonos de que non haxan alterado o contido.

Verificando a chave GPG:
$ gpg --verify Fedora-Images-armhfp-21-CHECKSUM 
gpg: Signature made Ven 05 Dec 2014 22:46:23 CET using RSA key ID 95A43F54
gpg: Non foi posible verifica-la sinatura: non se atopou a chave pública

“key ID 95A43F54” me indica que non se atopou esa chave pública no meu sistema.

Polo que investigo de onde ven a chave “95A43F54”.

Neste repositorio de chaves público https://pgp.mit.edu/ non a atopo.

Se vamos a https://getfedora.org/keys/ nos indican qué chave utilizan pra asinar cada versión da súa distro, accedo a Fedora 21 > primary, e con cntrlf+f en firefox procuro “95A43F54” que é a chave indicada na nosa terminal:

Key ID 	4096R/95A43F54 2013-11-14

Analizando a función resumo do arquivo con sha256sum

Con esto nos cercionamos de que o arquivo non está corrupto ou foi modificado:
$ sha256sum -c Fedora-Images-armhfp-21-CHECKSUM  | grep Minimal
sha256sum: Fedora-KDE-armhfp-21-5-sda.raw.xz: Non hai tal ficheiro ou directorio
sha256sum: Fedora-LXDE-armhfp-21-5-sda.raw.xz: Non hai tal ficheiro ou directorio
sha256sum: Fedora-Mate-armhfp-21-5-sda.raw.xz: Non hai tal ficheiro ou directorio
sha256sum: Fedora-SoaS-armhfp-21-5-sda.raw.xz: Non hai tal ficheiro ou directorio
sha256sum: Fedora-Xfce-armhfp-21-5-sda.raw.xz: Non hai tal ficheiro ou directorio
Fedora-Minimal-armhfp-21-5-sda.raw.xz: OK
sha256sum: WARNING: 20 lines are improperly formatted
sha256sum: WARNING: 5 listed files could not be read

Agora sabemos que según o arquivo descargado do mirror alemán, a imaxen que baixamos está en bo estado e coincide coa do proxecto Fedora.

Entón xa baixamos a imaxen dunha fonte fiable: Mirror que usa conexión https. Verificamos queo checksum é orixinal de Fedora usando GPG. Verificamos

Comenzando a instalación de Fedora 21 en Banana PI

Accedemos ao manual de Fedora “Installation for the Banana PI” onde nos fornecen varias formas de instalalo, podemos usar o paquete “fedora-arm-image-installer” onde o seu uso está detallado na axuda do propio comando ou na sección “scripted” esta última opción sintetica tódolos pasos e funciona satisfactoriamente.

Mais eu vou seguilos pasos un a un.

Copiando a imaxen a tarxeta SD

xzcat <archivo_de_imagen_fedora>.raw.xz | sudo dd of=<raiz_da_vosa_sd>; sync
A min gustame usar pv pra ver o avance da copia de dd. ( pv non ven por defecto instalado en Fedora. )
xzcat <archivo_de_imagen_fedora>.raw.xz | pv | dd of=<raiz_da_vosa_sd>; sync

A imaxe comprimida pesa uns 271 MiB, mais ao descomprimir son uns 2.1 GiB e tarda en copialos a tarxeta uns 10 minutos, esto tratándose dunha tarxeta de clase 10, que ten a escritura máis rápida.

Agora a microSD terá unha nova taboa de praticións coas súas particións xa creadas e dimensionadas según o criterio da comunidade Fedora.

Se facemos “fdisk -l” veremolas novas particións:
Disk /dev/mmcblk0: 29,9 GiB, 32090619904 bytes, 62676992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa99d2bd5
 
Device         Boot   Start     End Sectors  Size Id Type
/dev/mmcblk0p1         2048 1001471  999424  488M 83 Linux
/dev/mmcblk0p2      1001472 1251327  249856  122M 83 Linux
/dev/mmcblk0p3      1251328 3985407 2734080  1,3G 83 Linux

Pódese observar cómo se usou o mínimo posible a tarxeta que é de 32 GiB, seguramente esto se deba a que esta imaxen sexa compatible con tarxetas de 2 GiB, supoño que pra pracas que teñan conectado un disco duro externo, onde tela home e o resto os arquivos dos usuarios.

Neste outro artigo, explico cómo facer unha partición que aprobeite o resto do espazo en disco.

Instalando U-Boot

Comprobamolo estado das novas particións como recomendan na guía, con partprobe:

# partprobe /dev/mmcblk0

Unha asegurámonos de que están ben, hai que montala partición root da nosa microSD, para elo creamos o directorio root onde montaremos dita partición:

# mkdir root
# mount /dev/mmcblk0p3 root/ -v
Copiámola imaxen do u-boot ( se pode emitir o comando pv ):
# dd if=root/usr/share/uboot/Bananapi/u-boot-sunxi-with-spl.bin | pv | dd of=/dev/mmcblk0 bs=1024 seek=8 conv=fsync,notrunc
635+1 records in
635+1 records out
325436 bytes (325 kB) copied, 0,0726035 s, 4,5 MB/s
 317KiB 0:00:00 [3,04MiB/s] [  <=>                                                                                                                          ]
317+1 records in
317+1 records out
325436 bytes (325 kB) copied, 0,320698 s, 1,0 MB/s
Nos aseguramos de que as táboas están ben:
# partprobe -s /dev/mmcblk0
/dev/mmcblk0: msdos partitions 1 2 3

Configurando o contrasinal de root

Unha das recomendacións de seguridade é que non haxa acceso coma root por SSH, mais pra primeira instalación/configuración é o máis doado, o que faremos é xerar un contrasinal pro root da banana pi e así logo nos conectaremos dunha maneira sinxela e podremos ( DEBEMOS ) mudala contrasinal dende o propio sistema, pra afianzares a seguridade.

Xeramola contrasinal con:
openssl passwd -1 -salt xyz <contraseña>
O resultado o metemos no arquivo /etc/shadow da nosa Banana PI:
# vi ./raiz_banana_pi/etc/shadow
Onde procuraremos na primera liña, a que corresponde a root, o primer asterisco e o sustituimos pola contrasinal cifrada:
root:$1$xyz$bR39mwsk.k3m29/:0:0:0:0:::
Probalmente vi nos avisará indicando que no podemos gardalas mudanzas neste arquivo pois non temos permisos de escritura, mais como o abrimos coma root danos igual, pra sair de vi gardando os cambios usamos:
:wq!

write, quit, force, coa exclamación “force” serve pra que force a escritura e saida do arquivo.

Encendendo a Banana PI xa co Fedora 21 ben instalado

Amosa unha praca Banana PI metida nunha carcasa branca feita con blocos de pasta de papel con varios leds vermellos, azuis e laranxas acesos.

Agora xa sí que podemos retirala SD do PC e insertala na Banana PI, lémbrobos que pra usala Banana PI, precisamos dun adaptador de corrente USB duns 2.5 ou 2.2 Miliamperios, os que veñen praos móbiles acostuman a ser duns 0.7 Miliamperios, polo que a Banana PI non se encendería por falta de potencia.

Logo unha vez lle deas a encender, hai que agardar a que cargue o sistema GNU/Linux, uns 15 ou 30 segundos e se tes un cable de rede conectado será cando vesas que está “viva”, pois ao ter conectado o cable de rede se encenderán o led azul e os dous leds pra o porto Ethernet.

Agora tócache desfrutar da túa Banana PI coa versión orixinal de Fedora! ;)