¿Cómo compilar el kernel de linux?

Después de que varias personas me han consultado sobre cómo compilar el kernel, aqui está como lo compilo yo, las instrucciones no son muy explícitas porque sólo son mis notas. Esta forma de compilar el kernel la he usado siempre después de probar varias formas ésta es la que más me ha convencido y siempre me ha funcionado.

LINUX KERNEL
-----------------------------

se copia el archivo config que esta en /boot
se renombra el archivo como .config

hacer un ln -s en /usr/src/linux al directorio del kernel

en /usr/src/linux/Makefile:4
poner identificador en EXTRAVERION

2.6.17-2.6.24.3
en /usr/src/linux/fs/splice.c
cambiar

if (unlikely(!base))
break;
por

if (unlikely(!access_ok(VERIFY_READ, base, len)))
break;

==================================================

----RPMs-------------------

make mrproper!!!!!!!!!!

make oldconfig

make menuconfig

make all

make modules

make modules_install

make install

-------DEBIANS----------

make mrproper

make oldconfig

make menuconfig

make-kpkg clean

make-kpkg --initrd kernel_image kernel_headers

dpkg -i <kernel>.deb

dpkg -i <kernel_headers>.deb

Advertisements

Gravísima vulnerabilidad en linux

Una vulnerabilidad que según afecta desde el 2.6.17 al 2.6.24.1 me ha hecho reflexionar sobre calidad en software y full-disclosure, aunque supuestamente se hizó saber a algunos cuantos de esta vulnerabilidad antes de hacerse pública no deja de ser muy peligrosa.

Lo gravísimo de esta vulnerabilidad radica en que permite a un usuario común convertirse en root en menos de un minuto.
¿Así o más fácil?
Supuestamente la vulnerabilidad está en vmsplice.

http://www.securityfocus.com/bid/27704

La probe en fedora 7 con SELinux enforcing y * hard core 0 en limits.conf en el kernel 2.6.22.6-custom-24-09-2007 en una 686 y el exploit funcionó a la perfección, depués en el mismo sistema con 2.6.23.14-64.fc7 funcionó en dos de seis ocaciones. Para estas pruebas compile el exploit en el mismo kernel que lo probé.
Después ejecuté el exploit que previamente había compilado en el 2.6.22.6-custom-24-09-2007 sobre el 2.6.23.14-64.fc7 y el exploit sigue funcionando a la perfección.

Ya con 2.6.23.15-80.fc7 parece que esta vulnerabilidad ha quedado solucionada.

Algo que es de reconcer de la comunidad de software libre es lo rápido que ha actuado en esta ocasión y otras similares.

¿Y todo para qué? ¿Y todo para qué? Intocable

Nueva instalación de OpenBSD

instalaopenbsdAcabo de instalar OpenBSD en una máquina viejita. Lo gratamente sorprendente es lo rápido y divertido que fue el proceso, además la configuración fue muy rápida también.

dmesg de la maquina con OpenBSD


OpenBSD 4.1 (GENERIC) #1435: Sat Mar 10 19:07:45 MST 2007
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD-K6(tm) 3D processor ("AuthenticAMD" 586-class) 151 MHz
..........

Como oficialmente no tengo internet (lo tomo prestado de algún vecino), fue necesario hacer NAT con iptables desde mi lap con Fedora, todo lo que hice fue:

iptables -F
iptables -X RH-input
iptables -F -t NAT
iptables -A POSTROUTING -t nat -o eth1 -d 0/0 -j MASQUERADE
iptables -A FORWARD -t filter -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

y habilitar el bit de forward

Mi interfaz de internet en la lap es eth1(wireless con ip asiganada por el DHCP del 2wire del vecino 192.168.1.29), en la eth0(Ethernet cable 172.16.22.18).

En OpenBSD

ifconfig rl0 172.16.22.17 up

Crear el archivo /etc/mygate con 172.16.22.18

Acomodar el archivo /etc/resolv.conf para que quede así


search gateway.2wire.net
nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 192.168.1.254

después

sh /etc/netstart

y desde la máquina con OpenBSD


ping yahoo.com PING yahoo.com (216.109.112.135): 56 data bytes
64 bytes from 216.109.112.135: icmp_seq=0 ttl=55 time=102.880 ms
64 bytes from 216.109.112.135: icmp_seq=1 ttl=54 time=101.531 ms

Puse el OpenBSD 4.1 porque es el que tenia en el Apache de mi lap, así que lo instale por red con un cable cruzado.
Ahora ya con internet desde puffy(la máquina con OpenBSD) instale bash y ahorita estoy instalando xfce.

La foto de la instalación.

De ado izquierdo se ve el log del apache en la lap cuando el OpenBSD fue por los sets de instalación, de lado derecho la compu con OpenBSD.