Cómo hacer que BB-VIEW se ejecute en el último sistema Debian
La parte más complicada es que es necesario volver a compilar el kernel. Sin volver a compilar, no hay problemas con la visualización de la pantalla (la alineación rojo-azul se soluciona fácilmente), pero los pines de control de la pantalla táctil son diferentes de la interfaz estándar TI de 4 cables. Intenté parchear el archivo ti_am335x_tsc.c para que solo vuelva a compilar el DTS, pero aún no ha funcionado (estoy bastante seguro de que es un problema de asignación de bits de la máquina de estado). Sin más preámbulos, aquí tienes los pasos para empezar.
Resumen de los pasos:
1) Descargue los archivos necesarios
a) Compilador Robert Nelson para el kernel BeagleBone
b) Código fuente BB-VIEW de Angstrom
2) Cree el kernel predeterminado
3) Parchee y vuelva a compilar rápidamente el kernel. Parche y vuelva a compilar rápidamente
4) Copie el nuevo kernel en BeagleBone
5) Edite el archivo xorg.conf para corregir el problema de alineación rojo-azul
6) Disfruta de los 4 días completos que acabas de guardarJ
Ahora es oficial:
Estoy usando la versión Ubuntu 12.04 LTS de 64 bits para editar el kernel en la máquina virtual VirtualBox:
> mkdir bb-view
> cd bb-view
Instalar git:
> apt-get install git
Clonar el proyecto linux-dev de Robert Nelson localmente. El archivo de descarga es un poco grande, el compilador cruzado pesa aproximadamente 100 Mb y el código fuente del kernel pesa aproximadamente 700 Mb:
> git clone /RobertCNelson/linux-dev.git
Ingrese al nuevo directorio linux-dev, seleccione la rama/etiqueta que coincida con la versión de Debian:
> cd linux-dev
> git checkout 3.8.13-bone37 -b tmp
Ahora necesitamos crear una imagen base para incrustar el directorio del controlador BB-VIEW.
El script solicitará operaciones o contenido que deba instalarse:
> ./build_kernel.sh
La creación se completará en aproximadamente una hora (el código fuente de Angstrom debe descargarse a continuación)
Parchear el kernel
Extraiga dos archivos del código fuente de Angstrom:
> descomprima angstrom-source.zip
> tar -zxf bb-black -kernel-3.8.13-bb-view.tar.bz2
> cp ./kernel/kernel/drivers/input/touchscreen/ti_am335x_tsc.c ~/bb- view/linux-dev/KERNEL/ drivers/input/touchscreen/
> cp ./kernel/kernel/firmware/capes/BB-VIEW-LCD7-01-00A0.dts ~/bb-view/ linux-dev/KERNEL/firmware/ capes/
Ahora debemos informarle al compilador que queremos agregar firmware:
> nano ~/bb-view/linux-dev /KERNEL/firmware/Makefile
Agregue el siguiente código cerca de la línea 192 (presione CTRL-C para mostrar la posición actual del cursor):
BB-VIEW-LCD7-01-00A0. dtbo \
No lo ignores La barra invertida al final es importante. Luego presione CTRL-O, Enter y CTRL-X para guardar y salir.
Regrese al directorio raíz de linux-dev:
> cd ~/bb-view/linux-dev
Luego ejecute el comando para reconstruir el kernel. Este paso no llevará mucho tiempo:
> ./tools/rebuild.sh
Copia el kernel en element14 BeagleBone Black:
El siguiente comando supone que Debian beta se instaló en BeagleBone y se inició correctamente.
La forma más sencilla es utilizar el comando "scp" para copiar archivos de Internet:
> scp ~/bb-view/linux-dev/deploy/3.8.13- bone37.zImagen debian@192.168 .7.2:/home/debian
Reemplace debian arriba con su nombre de usuario en su BeagleBone y reemplace 192.168.7.2 con la dirección IP de su BeagleBone.
Inicie sesión en BeagleBone y copie la imagen del kernel en la partición de arranque:
> ssh debian@192.168.7.2
bbb> sudo cp 3.8.13- bone37.zImage /boot/uboot/zImage
Hay una cosa más que debes hacer antes de que la pantalla LCD funcione correctamente.
Dado que BB-VIEW no tiene una EEPROM, debemos bloquear el controlador HDMI en el comando de inicio y forzar la carga del controlador BB-VIEW:
bbb> sudo nano /boot/uboot/uEnv.txt
Busque la línea "optargs" y cámbiela a:
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-VIEW- LCD7-01
Tenga en cuenta que el "#" anterior se ha eliminado. De lo contrario, EMMC se desactivará y no será posible iniciar desde EMMC.
Luego presione CTRL-O, Enter y CTRL-X para guardar y salir.
Después de reiniciar BeagleBone, la pantalla LCD puede funcionar, pero las pantallas azul y roja cambian.
Se corrigió la alineación rojo-azul
Este problema se debe a un error en el procesador TI AM335x al cambiar entre los modos de vídeo de 16 y 24 bits. Para solucionar este problema, primero debe encontrar el nombre de su monitor:
> ssh debian@192.168.7.2
bbb> cat /var/log/Xorg.0.log | grep screen
El nombre de mi monitor es "Builtin Default fbdev Screen 0"
Ahora edite el archivo de configuración X:
bb> sudo nano /usr/share/ X11/ xorg.conf.d/10-evdev.conf
Agregue la sección "Pantalla" al final del archivo:
Sección "Pantalla"
Identificador "Pantalla fbdev predeterminada incorporada 0"
Monitor "Monitor configurado"
Dispositivo "Dispositivo de video configurado"
DefaultDepth 24
EndSection
Luego presione CTRL-O, Enter y CTRL-X para guardar y salir.
¡Simplemente reinicia!