Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
es:howtos:hardware:arm:gcc_aarch64_cross-compiler [2019/07/16 15:40 (UTC)] – [Construyendo el kernel arm64, modulos, y and árbol de dispositivos blob (DTB)] rramp | es:howtos:hardware:arm:gcc_aarch64_cross-compiler [2019/07/16 22:38 (UTC)] (actual) – Traducción completa. Comentarios y sugerencias son bienvenidos. rramp |
---|
<note important>En proceso de traducción. rramp</note> | |
====== Slackware ARM GCC aarch64-linux compilación cruzada para la Raspberry Pi ====== | ====== Slackware ARM GCC aarch64-linux compilación cruzada para la Raspberry Pi ====== |
| |
=== Notas === | === Notas === |
| |
Slackware ARM current | Slackware ARM current se usó en una Raspberry Pi 3 para construir e instalar el compilador cruzado GCC aarch64-linux, y para construir el kernel, los módulos y los dispositivos de árbol blobs de arm64 Linux. Eso no quiere decir que Slackware ARM 14.2 no funcionará también, pero simplemente no hice ninguna compilación cruzada usando punto flotante soft. Lo mismo se aplica a la Raspberry Pi 1 y 2. Aunque //se podría// compilar de forma cruzada para estos dispositivos, no hice ninguna prueba con ellos. También tenga en cuenta que las opciones de configuración y los ajustes deben ser considerados primero. |
Slackware ARM current was used on a Raspberry Pi 3 to build and install the GCC aarch64-linux cross-compiler, and build the arm64 Linux kernel, modules, and device tree blob(s). That's not to say Slackware ARM 14.2 won't work too, but I just didn't do any cross-compiling on the soft float port. The same applies to the Raspberry Pi 1 and 2. Even though it //should// be possible to carry out aarch64 cross-compiler builds on these devices, I didn't do any testing with them. Also bear in mind that configuration options and settings will need to be considered first. | |
| |
=== Requerimientos === | === Requerimientos === |
<note important>Es necesario ser usuario '**root**', o tener permisos de administrador, para instalar los módulos arm64. ¡Un usuario normal no tiene permisos para hacer esto!</note> | <note important>Es necesario ser usuario '**root**', o tener permisos de administrador, para instalar los módulos arm64. ¡Un usuario normal no tiene permisos para hacer esto!</note> |
| |
So, as I'm a great believer in being thorough, I always verify things at every opportunity. Just to be sure, if nothing else, because it's always a good policy. Make sure the files and directories you have just spent quite a bit of time compiling actually do exist on your system and that they're in the right place. If this is the first time you have installed the GCC cross-compiler on your system and/or built the kernel, modules, and device tree blob(s), then it goes without saying. You could actually do this after each build process, which I often do as well. | Así que, como soy un gran creyente en ser minucioso, siempre verifico las cosas en cada oportunidad. Soló para estar seguros, si no hay nada más, porque siempre es una buena política. |
| Asegúrese de que los archivos y directorios que acaba de pasar bastante tiempo compilando realmente existen en su sistema y que están en el lugar correcto. |
| Si esta es la primera vez que instala el compilador cruzado de GCC en su sistema y/o construye el kernel, los módulos y el árbol de dispositivos (blob(s)), entonces no hace falta decirlo. |
| Podrías hacer esto después de cada proceso de construcción, lo que yo también hago a menudo. |
| |
<code> | <code> |
</code> | </code> |
| |
If you can see that they all exist, then everything has worked as planned. | Si puedes ver que todos ellos existen, entonces todo ha funcionado según lo planeado. |
| |
==== Copying the arm64 kernel, modules, and device tree blobs (DTB) ==== | ==== Copiando el kernel arm64, modulos, y el árbol de dispositivos blobs (DTB) ==== |
| |
Connect the (spare) microSD card containing a working Slackware ARM current system to your Raspberry Pi 3 using a USB microSD card reader. You'll need to mount the partitions first, before copying the arm64 kernel, modules, and device tree blob(s) onto it. | Conecte la tarjeta microSD (de repuesto) que contiene un sistema current Slackware ARM que funciona en su Raspberry Pi 3 usando un lector de tarjetas microSD USB. |
| Primero es necesario montar la patición, luego copiar el kernel arm64, los módulos y el árbol de dispositivos blob(s) en ella. |
You should still be logged in as '**root**' user. If not, type the following command and enter the passwd for the 'root' user when prompted: | Usted debería estar logeado como usuario '**root**'. Si no, escriba los siguientes comando e ingrese la clave del usuario 'root' cuando se la pida: |
| |
<code> | <code> |
</code> | </code> |
| |
<note important>You need to be '**root**' user to carry out any mount procedures. A normal user does not have the rights to do so!</note> | |
| |
As 'root' user type the following command: | <note important>Es necesario ser usuario '**root**' para llevar adelante cualquier procedimiento de montaje. ¡Un usuario normal no tiene privilegios para hacer esto!</note> |
| |
| Como usuario 'root' escriba los siguientes comandos: |
| |
<code> | <code> |
</code> | </code> |
| |
This should show you which device the (spare) microSD card is using on your system. In our case it's a 32GB card and has been identified as '**/dev/sda**', as shown below. This tells us that '**/dev/sda1**' is our /boot partition and '**/dev/sda3**' is our root filesystem partition. Yours may be allocated differently so bear that in mind. | Este comando debería mostrarle qué dispositivo está usando la tarjeta microSD (de repuesto) en su sistema. En nuestro caso es una tarjeta de 32 GB y es identificada como '**/dev/sda**', como se muestra a continuación. |
| Esto nos dice que ''**/dev/sda1**'' es nuestra partición /boot y '**/dev/sda3**' es nuestra partición raíz. |
| Los tuyos pueden ser asignados de manera diferente, así que tenlo en cuenta. |
| |
<code> | <code> |
</code> | </code> |
| |
In order to mount the partitions you first need to create mount directories. Working in the /tmp directory you can do it like this: | Con el objetivo de montar las particiones primero necesitas crear los puntos de montaje. Trabajando en el directorio /tmp puedes hacerlo así: |
| |
<code> | <code> |
</code> | </code> |
| |
To check that you've done this correctly, use the '**mount**' command. The output from this should give you something similar to the following: | Para comprobar que estas haciendo todo correctamente, usa el comando '**mount**'. La salida salida de esto debe ser similar a los siguiente: |
| |
<code> | <code> |
</code> | </code> |
| |
The next thing to do is copy the arm64 kernel, modules, and device tree blobs to your newly mounted directories. It's important to get this right. After all the hard work you've done it would be a shame to mess it up at this stage. | Lo siguiente que hay que hacer es copiar el núcleo, los módulos y el árbol de dispositivos blobs de arm64 a los directorios recién montados. Es importante hacer esto bien. Después de todo el trabajo duro que has hecho, sería una pena estropearlo en este momento. |
| |
To copy these files, run the following commands, as '**root**' user: | Para copiar estos archivos, como usuario '**root**', ejecuta los siguientes comandos: |
| |
<code> | <code> |
</code> | </code> |
| |
Once you have done that, check that the files you have copied are present and in the right place. | Una vez hecho esto, compruebe que los archivos que ha copiado están presentes y en el lugar correcto. |
| |
<code> | <code> |
</code> | </code> |
| |
If it all looks fine and dandy then the next thing you need to do is delete the old armv7 kernel in the rpi-boot/boot directory. This old kernel is named '**kernel7.img**' and to avoid any conflicts with the new arm64 'kernel8.img' you should remove it. | Si todo se ve bien, entonces lo siguiente que necesita hacer es borrar el antiguo kernel armv7 en el directorio rpi-boot/boot. |
| Este antiguo núcleo se llama '**kernel7.img**' y para evitar cualquier conflicto con el nuevo arm64 'kernel8.img' debería eliminarlo |
<code> | <code> |
rm -rf rpi-boot/kernel7.img | rm -rf rpi-boot/kernel7.img |
</code> | </code> |
| |
No changes to the config.txt or cmdline.txt file(s) should be necessary. If you are using a recent blootloader/GPU firmware version (i.e. post-September 2016) then nothing else needs to be changed or deleted. The system should boot using all your existing settings. | No debería ser necesario cambiar los archivos config.txt o cmdline.txt. Si estas utilizando un bootloader/firmware GPU (por ejemplo post-septiembre 2016) entonces nada más es necesario cambiar o borrar. |
| |
Now you can unmount the previously mounted directories. | Ahora puedes desmontar los directorios previamente montados. |
| |
<code> | <code> |
</code> | </code> |
| |
=== Booting Slackware ARM aarch64 === | === Arrancando Slackware ARM aarch64 === |
| |
Power off your Raspberry Pi. | Apaga tu Raspberry Pi. |
<code> | <code> |
poweroff | poweroff |
</code> | </code> |
| |
Remove the USB microSD card reader and swap microSD cards. Power on the Raspberry Pi and boot the microSD card on which you copied the arm64 kernel, modules, and device tree blobs. | Sacar la memoria microSD y tarjetas swaps. Encender la Raspberry Pi y arrancar con la memoria microSD sobre la cual fue copiado el kernel, los módulos y el árbol de directorio de dispositivos blobs. |
| |
==== El resultado final ==== | ==== El resultado final ==== |
| |
After booting the system with the arm64 kernel, I logged in remotely via SSH as 'root' user. Then I ran the following commands: | Luego de arrancar el sistema con el kernel arm64, yo me logue de forma remota via SSH como el usuario 'root'. Entonces yo ejecute los siguientes comandos: |
| |
<code> | <code> |
</code> | </code> |
| |
Although I've already come across a few things which need some work, and attention, it's a start. I hope to find more time to devote towards Slackware arm64 over Christmas and the New Year 2017. | Aunque ya me he encontrado con algunas cosas que necesitan trabajo y atención, es un comienzo. Espero encontrar más tiempo para dedicar a Slackware arm64 en navidad y año Nuevo 2017. |
| Gracias por su interés. <3 |
Thanks for being interested. <3 | |
| |
====== Fuentes ====== | ====== Fuentes ====== |
[[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/a/gawk-4.1.4-arm-1.txz]] # Slackware ARM current - gawk package. \\ | [[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/a/gawk-4.1.4-arm-1.txz]] # Slackware ARM current - paquete gawk. \\ |
[[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/git-2.11.0-arm-1.txz]] # Slackware ARM current - git package. \\ | [[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/git-2.11.0-arm-1.txz]] # Slackware ARM current - paquete git. \\ |
[[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/bison-3.0.4-arm-1.txz]] # Slackware ARM current - bison package. \\ | [[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/bison-3.0.4-arm-1.txz]] # Slackware ARM current - paquete bison. \\ |
[[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/flex-2.6.0-arm-1.txz]] # Slackware ARM current - flex package. \\ | [[ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/d/flex-2.6.0-arm-1.txz]] # Slackware ARM current - paquete flex. \\ |
[[http://arm.slackware.com/FAQs]] # Slackware ARM Linux Project Frequently Asked Questions. \\ | [[http://arm.slackware.com/FAQs]] # Proyecto Slackware ARM Linux preguntas frecuentes. \\ |
[[http://wiki.osdev.org/GCC_Cross-Compiler]] # GCC cross-compiler documentation. \\ | [[http://wiki.osdev.org/GCC_Cross-Compiler]] # Documentación de la compilación cruzada de GCC. \\ |
[[https://www.raspberrypi.org/documentation/linux/kernel]] # Raspberry Pi Linux kernel documentation. \\ | [[https://www.raspberrypi.org/documentation/linux/kernel]] # Documentación del kernel Raspberry Pi. \\ |
[[https://www.github.com/raspberrypi/]] # Raspberry Pi Foundation GitHub repository Linux kernel, bootloader/GPU firmware. \\ | [[https://www.github.com/raspberrypi/]] # Raspberry Pi Foundation GitHub repository Linux kernel, bootloader/GPU firmware. \\ |
[[https://ftp.gnu.org/gnu/]] # GCC, binutils, glibc, gmp, mpc, mpfr package source \\ | [[https://ftp.gnu.org/gnu/]] # Fuentes de paquetes GCC, binutils, glibc, gmp, mpc, mpfr. \\ |
[[ftp://gcc.gnu.org/pub/gcc/infrastructure]] # cloog, isl package source | [[ftp://gcc.gnu.org/pub/gcc/infrastructure]] # cloog, paquete fuente pisl. |
| |
<!-- If you are copying information from another source, then specify that source --> | <!-- If you are copying information from another source, then specify that source --> |
<!-- Authors are allowed to give credit to themselves! --> | <!-- Authors are allowed to give credit to themselves! --> |
* Escrito originalmente por [[wiki:user:exaga | Exaga]]. | * Escrito originalmente por [[wiki:user:exaga | Exaga]]. |
| * Traducido por --- //[[wiki:user:rramp|rramp]] 2019/07/16 22:18 (UTC)//. |
<!-- * Contributions by [[wiki:user:yyy | User Y]] --> | <!-- * Contributions by [[wiki:user:yyy | User Y]] --> |
| |