¡Esta es una revisión vieja del documento!
Slackware ARM sobre la Raspberry Pi 1
Dado que hay tantos dispositivos ARM en el mercado, no es posible ofrecer soporte para todos ellos en el árbol principal.
La Raspberry Pi es apoyada fuera del árbol oficial de Slackware ARM por la comunidad de Slackware.
Versiones de Slackware 13.37, 14.0, 14.2
Desde el lanzamiento de la versión 14.0 de Slackware para ARM, ha habido una serie de esfuerzos comunitarios para llevar a Slackware a los dispositivos:
Slackware 14.2 para ARM es la única versión que es oficialmente soportada/mantenida, que corre sobre un dispositivo Raspberry Pi 1. Las versiones de Slackware ARM superiores a la versión 14.2 no son compatibles hacia atrás, ya que se movieron a un ABI de punto flotante físico y tienen un requisito mínimo de CPU de ARMv7. La Raspberry Pi 1 tiene una arquitectura ARMv6.
Debe seguir uno de los enlaces de la siguiente tabla. Cada uno es mantenido por un autor por separado como parte de la comunidad de Slackware sobre Raspberry Pi.
Sitio web | Versiones de Slackware | Using official Slackware packages | Métodos de instalación | Notas |
---|---|---|---|---|
SARPi Project | 14.2 | Si | Instalador de Slackware | An end-to-end HOW TO tutorial taking you through the installation and setup process. |
Stanley Garvey | 14.0 | Si | Instalador de Slackware & imágenes pre-construidas | Pre-made installed OS images ready to copy to an SD card |
Dave's Collective | 13.37 | Si | Instalador de Slackware | An excellent set of instructions in order to have Slackware ARM running on your Raspberry Pi. |
Método manual de instalación
Aunque la comunidad hace todo lo posible para mantenerse al día con los cambios de hardware, puede haber ocasiones en las que las notas e imágenes anteriores no se puedan utilizar. Si esto sucede, puede solucionar el problema usando una imagen miniroot y una partición de arranque funcional de alguna otra fuente (como tomarlas prestadas de raspbian). Si el kernel es el único problema, puedes compilar tu propio kernel desde las fuentes (vea una guía aquí sobre como hacerlo http://elinux.org/RPi_Kernel_Compilation).
Estos son los pasos necesarios para configurar un sistema Slackware ARM mínimo a partir de una imagen miniroot:
Descargar una imagen de la versión estable de raspbian de http://www.raspberrypi.org/downloads. Descomprimirla y montar las particiones a través de loopback y luego poner todo lo que se necesita en un archivo tarball para su posterior uso:
root@darkstar:/tmp# fdisk -l 2016-05-10-raspbian-jessie-lite.img Disk 2016-05-10-raspbian-jessie-lite.img: 1.3 GiB, 1386217472 bytes, 2707456 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: 0x84f9d19f Device Boot Start End Sectors Size Id Type 2016-05-10-raspbian-jessie-lite.img1 8192 137215 129024 63M c W95 FAT 2016-05-10-raspbian-jessie-lite.img2 137216 2707455 2570240 1.2G 83 Linux root@darkstar:/tmp# losetup -o $((8192 * 512)) /dev/loop0 2016-05-10-raspbian-jessie-lite.img root@darkstar:/tmp# losetup -o $((137216 * 512)) /dev/loop1 2016-05-10-raspbian-jessie-lite.img root@darkstar:/tmp# mount -o ro /dev/loop1 /mnt/floppy/ root@darkstar:/tmp# mount -o ro /dev/loop0 /mnt/floppy/boot root@darkstar:/tmp# cd /mnt/floppy/ root@darkstar:/mnt/hd# tar vcpzf /tmp/raspbian_boot_stuff.tgz boot lib/modules/ lib/firmware opt/vc
Por favor, observe que los sectores del comienzo de las particiones: 8192 y 137216. Necesitamos multiplicarlos por 512 para obtener el offset de bytes para la configuración del dispositivo de bucle. Esto se hace mediante $((8192 * 512)) y $((137216 * 512)). Tendrá que cambiar esto si el esquema de partición de la imagen cambia.
Ahora particione y formatee un SD como este: (NB el “fdisk -l” es sólo para mostrar cómo particioné mi SD).
Please note the sectors of the beginning of the partitions: 8192 and 137216. We need to multiply these by 512 to get the byte offset for the loop device setup. This is done by $((8192 * 512)) and $((137216 * 512)). You will need to change these if the image partitioning scheme changes.
Now partition and format an SD like this: (NB the “fdisk -l” is just to show how I partitioned my SD)
root@darkstar:~# fdisk -l -u /dev/sde Disk /dev/sde: 4093 MB, 4093640704 bytes 126 heads, 62 sectors/track, 1023 cylinders, total 7995392 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 Disk identifier: 0xd0b5414a Device Boot Start End Blocks Id System /dev/sde1 2048 133119 65536 c W95 FAT32 (LBA) /dev/sde2 133120 7995391 3931136 83 Linux root@darkstar:~# mkdosfs -F 16 /dev/sde1 root@darkstar:~# mke2fs -t ext4 -b 4096 -i 16384 -m 0 -L root /dev/sde2 root@darkstar:~# mount -o noatime /dev/sde2 /mnt/hd/ root@darkstar:~# mkdir /mnt/hd/boot root@darkstar:~# mount -o noatime /dev/sde1 /mnt/hd/boot/
No es un error tipográfico, me dio dolor de cabeza descubrir por qué no funcionaba: la partición de arranque está hecha para mí con id “c” pero particiones tan pequeñas tienen problemas cuando intentas hacer un sistema de ficheros fat32 en ellas, obtendrás un error lamentando algún problema con clusters insuficientes pero se hace algún tipo de sistema de ficheros y si ignoras eso y procedes terminas con algo que no arranca. Lo que necesitas hacer es decirle a mkdosfs que haga un sistema de ficheros fat16 y entonces las cosas empezarán a funcionar bien.
It's not a typo I got a bad headache figuring out why it did not work: the boot partition is to me made with id “c” but such small partitions have issues when you try to make a fat32 filesystem on them, you will get an error lamenting some issue with insufficient clusters but some sort of filesystem is made and if you ignore that and proceed you end up with something that does not boot. What you need to do is actually tell mkdosfs to make a fat16 filesystem and then things start to work right.
Ahora podes extraer el Slackware ARM miniroot y luego el raspbian_boot_stuff.tgz en /mnt/hd.
Edite el archivo /mnt/hd/boot/cmdline.txt y agregar al final “ro” y chequear que los parámetros de root coincidan con la partición de el SD.
Edit the /mnt/hd/boot/cmdline.txt and add at the end “ro” and check that the root parameter matches the partitioning of the SD.
Edite el archivo fstab para que coincida con su formato (si así fuera, le sugiero que se vea así:)
Edit the fstab to match your formatting (if that was like I suggested it will look like this:)
root@darkstar:/mnt/hd/etc# cat fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat errors=remount-ro 0 2 /dev/mmcblk0p2 / ext4 errors=remount-ro,noatime 0 1 root@darkstar:/mnt/hd/etc#
You can now umount the SD, insert it into the RasbberyPI and boot into your Slackware ARM miniroot to add whatever else you need.
I generally add whatever else I need by simply using wget to pull down slackpkg, installing manually the downloaded slackpkg, editing the mirrors file and then install the rest that's needed with slackpkg itself (internet connection is required for this).
You might want to edit or comment the serial console in inittab to suppress the “s0” respawning to fast message.
Por cierto, si descarga una versión reciente de raspbian, este procedimiento creará imágenes de arranque para RPi, RPi 2, RPi 3 y RPi Zero.
Fuentes
- Originalmente escrito por Stuart Winter
- Traducido por: — rramp 2019/03/18 06:58 (UTC)