Cómo compilar tu propio nucleo con solamente los drivers que requiere tu hardware
De esta manera se vuelve un núcleo muy liviano y eficiente. Sin emabrgo, se debe compilar nuevamente cuando incluyas nuevo hardware.
Descarga los últimos fuentes del núcleo libre:
pacman -S linux-libre-headers
Ingresa al directorio de los fuentes:
cd /usr/src/linux-libre/dir_que_tiene_el_fuente
Crea un archivo de configuración basado en los módulos cargados y en uso en ese momento.
cp /proc/config.gz .
gunzip config.gz
mv config .config
Configura para que se compile todo embebido en lugar de como módulos:
make localyesconfig
Añade lo que quieras añadir (opiconal):
make nconfig
Compila el núcleo:
make
Instala el núcleo:
make install
Instala los módulos que escojiste cargar fuera del núcleo:
make modules_install
Configura el cargador de arranque:
nano /etc/grub.d/40_custom
Añade lo siguiente al final del archivo:
menuentry "New Kernel" {
set root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1 rootfstype=ext4
}
En mi caso es "hd0,1" que es la primera partición (1) del primer disco duro(0) y "sda1" (sd=disco, a=primer disco, 1=primera partición).
Has que GrUB reconozca tu núcleo:
grub-mkconfig -o /boot/grub/grub.cfg
Cargar módulo nouveau después del arranque para evaluar errores de este
Tengo el problema de que no puedo configurar el driver de mi tarjeta de vídeo. La tarjeta soporta 3D con drivers libres y no requiere firmware no-libre. Estos son los pasos que he dado.
Booted with:
"linux /boot/vmlinuz root=/dev/sda1 rootfstype=ext4 nouveau.modeset=0 maxcpus=1"
Removed nouveau modules:
rmmod nouveau
rmmod drm_kms_helper
rmmod ttm
lsmod
does not list any modules now but it listed those three before removing them with the previous commands.
perf record -g -R modprobe nouveau modeset=1
loaded those three drivers again.
https://gist.github.com/4969281 is the result of
perf report --stdio | wgetpaste
dmesg gets
nouveau E[ DRM] GPU lockup - switching to software fbcon" after loading nouveau
https://gist.github.com/4969294