domingo, 16 de abril de 2017

Cómo croscompilar SQLite3 para la arquitectura ARM


Vamos a croscompilar la base de datos SQLite3 para la arquitectura ARM.


Descarga del código fuente


Página de descargas de SQLite: (Esta página necesita JavaScript activado)
http://www.sqlite.org/download.html

Bajamos el código fuente en formato tar.gz.

$ wget http://www.sqlite.org/2017/sqlite-autoconf-3160200.tar.gz
$ tar xvzf sqlite-autoconf-3160200.tar.gz

$ cd sqlite-autoconf-3160200/


Configuración para la crosscompilación


Al ejecutar el script configure indicaremos:
  • arm-linux en la opción host
  • el path del crosscompilador de C de nuestro toolchain en la variable CC
  • Seleccionamos en la opción prefix el lugar donde queremos que se instale SQLite3
$ ./configure --host=arm-linux --prefix=devel/Libs CC=/opt/compiler/glibc-oabi-toolchain-arm-generic/bin/arm-unknown-linux-gnu-gcc


Compilar e Instalar SQLite3

domingo, 29 de enero de 2017

Cómo instalar Arch Linux en una memoria USB desde un sistema Linux (Debian)


Vamos a instalar la distributión Arch Linux en una memoria USB desde un sistema preexistente GNU/Linux (Debian).

Este artículo no trata de crear un live USB sino una distribución estandar en una memoria USB.


Realizaremos la instalación de Arch Linux en un proceso de dos pasos. Primero crearemos un lanzador (bootstrap) de Arch Linux en nuestro sistema huesped Debian.
Después ejecutaremos chroot para introducirnos en el lanzador, y entonces instalaremos Arch Linux en la memoria USB.



Instalar Arch Linux desde un sistema Debian preexistente en una memoria USB


Instalar desde un Linux preexistente:
https://wiki.archlinux.org/index.php/Install_from_existing_Linux


Primero enchufamos el dispositivo USB, y comprobamos los dispositivos y particiones con el comando lsblk:
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 system cbdfff17-0865-448e-b7c1-04a50d168439 /
├─sda2 swap ee7134ec-a542-4c42-8b2e-8e40d3f59980 [SWAP]
└─sda3 ext4 home 9fbcbeb8-8723-43e1-8d08-340af9e14b8b /home
sdb
└─sdb1
sr0


Vamos a instalar Arch Linux en el dispositivo /dev/sdb (usa el adecuado para tu sistema)

Particionamos el dispositivo y creamos una partición arrancable.
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 15 GiB, 16131293184 bytes, 31506432 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: 0x04030201

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 31506431 31504384 15G 83 Linux



Formateamos la partición con el sistema de ficheros ext4 sin journaling para minimizar el número escrituras a la memoria USB.
$ sudo mkfs.ext4 -O "^has_journal" -L 'ArchUSB' /dev/sdb1



Descargamos el lanzador de Arch Linux

viernes, 6 de enero de 2017

Cómo generar la documentación de referencia sobre el API de DirectFB


DirectFB (Direct Frame Buffer) es una librería gráfica ligera (adecuada para sistemas empotrados). Proporciona aceleración de los gráficos, control de los dispositivos de entrada, ventanas traslúcidas, visualización por capas, etc.


La página oficial de DirectFB está caída (a fecha de julio 2016): http://www.directfb.org/


Desde el Archivo de Internet:
https://web.archive.org/web/20101215114416/http://directfb.org/


Pero también podemos generar la documentación desde el código fuente:

Denis Kropp es un desarrollador de DirectFB (vamos a descargar el código de su repositorio):
$ git clone https://github.com/deniskropp/DirectFB

Como estoy interesado en la doc de la rama 1.4 cambio hacia ella:
$ git checkout -b directfb-1.4 origin/directfb-1.4
Branch directfb-1.4 set up to track remote branch directfb-1.4 from origin.
Switched to a new branch 'directfb-1.4'


$ git branch
* directfb-1.4
master



Del fichero README (traducido):