¿Todos los paquetes binarios compilados para la plataforma x86 no se ejecutarán en Raspberry Pi?
Linux: código fuente del kernel
Herramientas: herramientas necesarias para compilar el kernel y otro código fuente: compilador cruzado , etc.
Solo necesitamos estos tres archivos. Los tres archivos anteriores son necesarios. Puede obtener información sobre los siguientes proyectos
Documento: Documento de ayuda sin conexión de Raspberry Pi, que le enseña cómo usar e implementar Raspberry Pi (tutorial oficial de Raspberry Pi)
noobs: una herramienta de administración de imágenes de Raspberry Pi que le permite implementar múltiples imágenes en una sola Raspberry Pi p>
weston: una aplicación
target_fs: un sistema de archivos mínimo de Raspberry Pi hecho con Busybox
quake3: firmware fuente de desarrollo cableado de Quake 3 b
p>
2) Método de descarga:
a. Descarga directa desde la página web:
Haga clic en el elemento que desea descargar, seleccione la versión en la esquina superior izquierda. , y hay un botón de descarga ZIP a la derecha para descargar directamente (después de descargarlo y descomprimirlo, generó un error en Linux y el corte central fue muy lento en Windows).
Se recomienda no descomprimir en un entorno Windows, por lo que no recomiendo este método)
b Utilice git para descargar
$ mkdir raspeberrypi_src
$. cd raspberrypi_src
$ git clone git://github.com/raspberrypi/pub com/raspberrypi/firmware.git
$ git clone git://github.com/raspberrypi. /linux.git
$ git clone git://github.com/raspberrypi/ tools.git
Obtendrás tres carpetas:
firmware linux tools.
2. Compile y extraiga el kernel y sus módulos
1) Obtenga el archivo de configuración del kernel
Ejecútelo en una Raspberry Pi en ejecución:
$ls /proc
Puede ver un archivo llamado config.gz, que es el archivo de registro de opciones de configuración actual de Raspberry Pi. Lo copiaremos y lo colocaremos en el código fuente de nuestro kernel en el árbol de directorios.
$cp /proc/config /home/pi
Aquí usamos el samba que hemos entregado para copiarlo y copiarlo al directorio del código fuente del kernel si no está familiarizado con él. Para ello, puede consultar el artículo anterior
Ejecutar en el código fuente del kernel de Linux:
$zcat config.gz>.
2) Configurar y compilar el kernel
p>
a, modifique el tipo ARCH del makefile y la ruta del compilador del código fuente del kernel
$vi Makefile +195
Encuentre el código similar al anterior y modifíquelo como se muestra
b, vea y modifique las opciones de configuración
$make menuconfig
Puede ver la siguiente interfaz p>
Si no desea realizar ninguna modificación, puede verificar la salida directamente (tenga en cuenta el uso del teclado)
c, compilar la imagen del kernel
$ make$make
En el directorio arch/arm/boot, puedes ver un archivo llamado zImage, este es nuestro nuevo kernel
Pero Raspberry Pi requiere un formato de imagen diferente, necesita procesarlo, ejecute el siguiente comando
$cd tools/ mkimage
$./imagetool-uncompressed.py .../.../linux/arch/arm/ boot/zImage
Puedes ver uno en la carpeta actual. Un archivo llamado kernel.img, este es el nuevo kernel que necesitamos
d. Extracción de módulos
El paso anterior no solo compiló el código fuente del kernel, sino que también compiló algunos archivos de módulos. Aquí los extraemos
$cd raspberrypi_src
$mkdir module
$cd linux
$ make module_install INSTALL_MOD_PATH=.. ./ módulos
$mkdir module_install INSTALL_MOD_PATH=..../modules
Puedes obtener los archivos de módulo que necesitamos en módulos
Actualizar el firmware y el kernel de RPi. y lib
Desconecta la tarjeta SD e insértala en la computadora (puedes usar un lector de tarjetas)
1) Actualiza el kernel
Coloca el nuevo kernel Copiar a la tarjeta SD.
Cambie el nombre del kernel a: kernel_new.img
Abra el directorio de inicio
Busque el archivo config.txt y agregue la siguiente línea: kernel=kernel_new.img
2) Inicio de actualización
Copie los siguientes archivos del directorio de inicio de la tarjeta SD en el directorio firmware/boot/: fbootcode.bin fixup.dat fixup_cd.dat start.elf
3) Actualice la biblioteca vc y los módulos del kernel
Copie los módulos /lib/modules compilados en el paso 3d al sistema de archivos de Raspberry Pi /lib
.