1. ¿Donde instalarlo?
Lo primero era pensar en donde instalar el sistema operativo?, si usaba una partición, o usaba todo el disco duro o ...
recordé que tenia una micro SD de 2GB disponibles, entonces decidí montarlo allí.
2. ¿Cómo lo instalo?
Recordé que mi ASUS no tiene unidad de CDROM entonces solo quedaba la alternativa de instalarlo por disco o por red, entonces mejor opte por instalarlo por red. Para esto necesitaba un servidor DHCP y un servidor TFTP corriendo en algún lado. Mi maquina Desktop es un iMAC, cual podría ser el problema al tratar de instalar estos servicios ahí?, go ahead!
3. Instalando el servicio DHCP en el iMAC
Como ya todos saben, el iMAC tiene un sistema operativo llamado Leopard (por debajo Darwin) que no es un Linux ni un BSD, es una mezcla de BSD y mach.
#uname -a
Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386
Estos iMAC son x86 así que no hay problema por la compatibilidad de paquetes o cosas así.
Lo que hice fue descargar el tarball del dhcp del sitio oficial ISC:
ftp://ftp.isc.org/isc/dhcp/dhcp-4.1.0.tar.gz
Desde estas fuentes compilé el software:
bash-3.2# pwd
/Users/nonroot/dhcp-4.1.0
bash-3.2# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
...
bash-3.2# make
Making all in includes
make all-am
make[2]: Nothing to be done for `all-am'.
Making all in tests
make[1]: Nothing to be done for `all'.
...
Una vez compilado y como es algo temporal no lo voy a instalar en el sistema, sino que lo voy a usar del directorio compilado:
Me sale un error relacionado con el archivo de configuración, entonces le digo a mi madre que por favor me dicte las líneas del archivo de configuración que no me acuerdo (fake):
bash-3.2# pwd
/Users/nonroot/dhcp-4.1.0/server
bash-3.2# ./dhcpd
Internet Systems Consortium DHCP Server 4.1.0
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Can't open /etc/dhcpd.conf: No such file or directory
...
option domain-name-servers 192.168.0.100; ddns-update-style ad-hoc; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.150 192.168.0.200; filename "pxeboot"; next-server 192.168.0.4; default-lease-time 300000; max-lease-time 350000; option routers 192.168.0.100; }
Estas líneas las almaceno en el archivo /etc/dhcpd.conf, en este punto es importante recordar que la variable next-server debe apuntar a la maquina donde estoy instalando el servidor dhcp y que tendrá tambien el servidor tftp.
Una vez creado el archivo puedo ejecutar el binario:
bash-3.2# pwdAl parecer saca un error, pero comprobamos que este corriendo:
/Users/nonroot/dhcp-4.1.0/server
bash-3.2# ./dhcpd
4. Instalando el servicio TFTP en el iMAC
bash-3.2# ps aux | grep -i dhcpd
root 8475 0.0 0.1 77832 768 ?? Ss 5:59PM 0:00.02 ./dhcpd
...
Uhmm como hacemos?, toca buscar un poco en Internet y me encuentro lo siguiente:
http://www.macosxhints.com/article.php?story=20070218233806794
Allí explican muy bien, dicen que Leopard no usa el famoso inetd sino un demonio llamado launchd, este demonio carga configuraciones en xml que se encuentran en la ruta de servicios del S.O.:
Entonces seguimos los pasos que allí nos indican:
bash-3.2# ls /System/Library/LaunchDaemons/ | more
bootps.plist
com.apple.AOSHelper.plist
com.apple.ATSServer.plist
com.apple.AppleFileServer.plist
com.apple.CoreRAID.plist
com.apple.DirectoryServices.plist
com.apple.DirectoryServicesLocal.plist
...
Subimos el servicio:
bash-3.2# launchctl load -w /System/Library/LaunchDaemons/tftp.plist
bash-3.2# launchctl unload -w /System/Library/LaunchDaemons/tftp.plist
El directorio raiz para el TFTP esta en:
Donde obviamente al principio no hay nada, entonces debemos entrar al ftp de OpenBSD y descargar 2 archivos:
bash-3.2# pwd
/private/tftpboot
bash-3.2#
ftp://ftp.openbsd.org.ar/pub/OpenBSD/4.5/i386/pxeboot
ftp://ftp.openbsd.org.ar/pub/OpenBSD/4.5/i386/bsd.rd
Estos dos archivos son suficientes para arrancar el sistema de instalación.
Una vez descargados los dos archivos los copio al directorio /private/tftpboot y como el archivo pxeboot buscará un archivo llamado bsd, entonces renombro el archivo bsd.rd a bsd.
Una vez descargados los dos archivos los copio al directorio /private/tftpboot y como el archivo pxeboot buscará un archivo llamado bsd, entonces renombro el archivo bsd.rd a bsd.
bash-3.2# pwd /private/tftpboot bash-3.2# mv bsd.rd bsdListo, cargo nuevamente el servicio tftp y ahora configuro el ASUS para que arranque por red.
5. Arranque por red del ASUS
Entro con la opción F2 a la BIOS del sistema y busco la sección Boot, una vez allí habilito la opción "OnBoard LAN Boot ROM" y en la prioridad de boot dejo como primera opción:
"Network:Atheros Boot Agent". Aún queda faltando una cosa, debemos grabar los cambios y entrar con Shift+F10, una vez en la pantalla de boot de Atheros, debemos configurar dos campos:
"Network:Atheros Boot Agent". Aún queda faltando una cosa, debemos grabar los cambios y entrar con Shift+F10, una vez en la pantalla de boot de Atheros, debemos configurar dos campos:
Network Boot Protocol = PXE
Boot Order = Int 19H (que significa que primero intente el arranque por red y luego por el disco)
Una vez realizado estos cambios podemos reiniciar el sistema y esperar a que cargue el asistente de instalación de OpenBSD.
6. Instalación de OpenBSD 4.5
Seguimos el proceso tradicional de instalación de OpenBSD y cuando nos pregunte por el disco raiz en donde se va a instalar el sistema, seleccionamos sd0, OpenBSD reconoce la microSD como dispositivo sd0. Cuidado con seleccionar el wd0 porque puede borrar el disco duro (Ojo, esto es en mi 1000H, verifique su versión de asus porque algunas versiones de ASUS usan discos SD que OBSD los puede reconocer con los mismos nombres).
Cuando llegamos al punto donde nos piden los paquetes podemos hacerlo desde un mirror local o usar alguno de los sugeridos (esta fue mi opción) de esta forma el instalador se conecta a un servidor http remoto y descarga todos los .tgz necesarios para instalar el sistema (opción muuuyyy lenta).
Durante la creación de dispositivos finalizando la instalación, el sistema tomo mas tiempo del normal, pero finalmente se instaló, por favor sea paciente, estamos instalando en una microSD de mala calidad :p.
La parte simpatica del asunto es que efectivamente se nos reconocieron los dos dispositivos de red con los drivers ale y ral (así llamaré a mis dos primeros hijos), por lo tanto debemos tener dos dispositivos llamados:
ale0 y ral0
# ifconfig
lo0: flags=8049mtu 33204 priority: 0 groups: lo inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 ale0: flags=8843 mtu 1500 lladdr 00:22:15:6d:59:73 priority: 0 groups: egress media: Ethernet 1000baseT full-duplex (100baseTX full-duplex) status: active inet6 fe80::222:15ff:fe6d:5973%ale0 prefixlen 64 scopeid 0x1 inet 192.168.0.150 netmask 0xffffff00 broadcast 192.168.0.255
ral0: flags=8843mtu 1500 lladdr 00:15:af:bc:fc:4d priority: 0 groups: wlan media: IEEE802.11 autoselect (DS2 mode 11g) status: active ieee80211: nwid hack chan 11 bssid 00:0f:66:0c:7b:9d 13dB wpapsk 0xd93fc0f93a9ca36ef3cd4e5e1c51700ee80c97331f42de28bd42beadc41ed4f4 wpaprotos wpa1,wpa2 wpaakms psk wpaciphers tkip,ccmp wpagroupcipher tkip inet6 fe80::215:afff:febc:fc4d%ral0 prefixlen 64 scopeid 0x2 inet 192.168.0.151 netmask 0xffffff00 broadcast 192.168.0.255
#ifconfig ral0 nwid hack
Si la seguridad es WPA/WPA2 PERSONAL/ENTERPRISE TKIP
# ifconfig ral0 nwid hack wpa wpapsk `wpa-psk hack hacking123`# dhclient ral0 DHCPREQUEST on ral0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.4 bound to 192.168.0.151 -- renewal in 150000 seconds. #
# wpa-psk hack hacking123 0x3cb27ebe4a27cf8e81bb4f81c8a72828bde42d7ba1738227494d67f3fad17b00 #
# ifconfig ral0 nwid hack wpa wpapsk \ 0x3cb27ebe4a27cf8e81bb4f81c8a72828bde42d7ba1738227494d67f3fad17b00
# cat /etc/hostname.ral0 dhcp NONE NONE NONE nwid hack wpa wpapsk `wpa-psk hack hacking123` #
Nota: Cada vez que quieras arrancar el asus por el SD, debes decirle en la BIOS que haga boot por el dispositivo USB, de lo contrario te dará problemas para arracar OpenBSD.
Esto es todo amigos, recuerden asistir a las charlas programadas sobre OpenBSD en la Campus ;)
3 comentarios:
para configurar la ral0 .... lo que hago es PASAR al siguiente PASO...
Umm... es respetable jaja
Oh yeah!, es aproposito, esperabas que especificara como se configuraba inmediatamente ...
Pero para eso debes ir al siguiente paso ;)
Tres simples preguntas:
1, OpenBSD sobre 1000h respeta la duración de batería como podría pasar con otros ssoo como windows?
2, Es posible hibernar o suspender el asus desde OpenBSD?
3, Funcionan las teclas de suspensión, desactivación del wifi y brillo?
Gracias de antemano,
*BSD Rocks!
Publicar un comentario