Hoy me han regalado una rosa y me han traído la placa PCEngines APU1d4, como una buena friki al momento que me han regalado la rosa he estado mas pendiente de la caja blanca que traía el portador que de la propia rosa :P lo admito, me pierde la tecnología xD
En la caja venía la placa y un disco mSATA de 16Gb, pero faltaban las tarjetas, pero al estar desmontando un portátil me he percatado que las tarjetas de portátil también me sirven, así que vamos a hacer la prueba con unas intel, que necesitan firmware privativo y no tengo claro que las pueda poner en modo de punto de acceso. La elección es una tarjeta atheros, pero aún estoy investigando cuál es la que mas que conviene para lo que quiero hacer!
En una web leí que una cosa que se puede hacer es instalar el sistema operativo en el disco mSATA, pero quiero hacer la instalación en la placa directamente y como parece que la BIOS soporta arranque por USB, vamos a usar un pincho USB para hacer la instalación.
Primero de todo preparamos el pincho
root@carboni:/home/laura# dd if=/dev/zero of=/dev/sdb bs=512 count=1 root@carboni:/home/laura# gparted
Con gparted creamos una tabla de particiones msdos y una partición ext4 que ocupe todo el disco, a continuación seguimos con zcat y todos los pasos para hacer una instalación compatible por puerto serie (COM). Si os fijáis estamos trabajando ya con la versión de 64 bits :)
root@carboni:/home/laura/isos# mkdir debian_jessie_img_64 root@carboni:/home/laura/isos# cd debian_jessie_img_64/ root@carboni:/home/laura/isos/debian_jessie_img_64# wget -r -nH --cut-dirs=7 --no-parent --reject="index.html*" http://ftp.es.debian.org/debian/dists/jessie/main/installer-amd64/current/ root@carboni:/home/laura/isos/debian_jessie_img_64# cd hd-media root@carboni:/home/laura/isos/debian_jessie_img_64/hd-media# zcat boot.img.gz > /dev/sdb1
Montamos la partición y seguimos con los pasos, fijaos que si habéis seguido los otros post, ahora el punto de montaje es sdb1 en lugar de sdc1
root@carboni:/home/laura/isos/debian_jessie_img_64/hd-media# mount -t auto /dev/sdb1 /media/usb -o rw root@carboni:/home/laura/isos/debian_jessie_img_64/hd-media# cd /media/usb
Copiamos el fichero netboot.tar.gz, lo descomprimimos y preparamos el entorno de arranque y de grub (voy a evitar usar repositorios externos no oficiales)
root@carboni:/media/usb# rm syslinux.cfg root@carboni:/media/usb# cp /home/laura/isos/debian_jessie_img_64/netboot/netboot.tar.gz . root@carboni:/media/usb# tar xvzf netboot.tar.gz root@carboni:/media/usb# vi syslinux.cfg # D-I config version 2.0 # search path for the c32 support libraries (libcom32, libutil etc.) path debian-installer/amd64/boot-screens/ include debian-installer/amd64/boot-screens/menu.cfg default debian-installer/amd64/boot-screens/vesamenu.c32 prompt 0 timeout 0
Reemplazamos el contenido de syslinux.cfg por éste mostrado. A partir de aquí ya es seguir el manual del otro día
root@carboni:/media/usb# mkdir -p /media/usb/boot/grub /media/usb/boot/iso root@carboni:/media/usb# cd boot/grub/ root@carboni:/media/usb/boot/grub# vi grub.cfg serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal_input serial terminal_output serial set timeout=20 set default=0 menuentry "Debian installer" { echo 'Loading GNU/Linux ...' linux /debian-installer/amd64/linux console=ttyS0,115200n8 echo 'Loading initial ramdisk ...' initrd /debian-installer/amd64/initrd.gz }
Atención que cambia la velocidad del COM respeto la Alix 2d2, ahora es 115200!
Instalamos grub en el pincho usb y desmontamos el pincho usb
root@carboni:/media/usb/boot/grub# cd root@carboni:~# grub-install --no-floppy --root-directory=/media/usb/ /dev/sdb Installing for i386-pc platform. Ha acabat la instal·lació. No s'ha reportat cap error. root@carboni:~# umount /media/usb
Si al cargar grub os encontráis con alguno de estos mensajes:
msgid "Attempting to install GRUB to a disk with multiple partition labels or both partition label and filesystem. This is not supported yet." msgstr "Intentando instalar GRUB en un disco con múltiples etiquetas de partición o con etiqueta de partición y sistema de ficheros. Todavía no está soportado." root@carboni:~# grub-install --no-floppy --root-directory=/media/usb/ /dev/sdb Installing for i386-pc platform. grub-install: avís: Esteu intentant instal·lar el GRUB en un disc amb múltiples etiquetes de particions. Encara no se'n permet l'ús.. grub-install: avís: No s'ha pogut incrustar. El GRUB només es pot instal·lar d'aquesta manera fent servir llistes de blocs. De tota manera, les llistes de blocs NO SÓN FIABLES i es desaconsella la seva utilització.. grub-install: error: no continuarà amb la llista de blocs.
Probad esto:
root@carboni:~# grub-install --force --skip-fs-probe --no-floppy --root-directory=/media/usb/ /dev/sdb Installing for i386-pc platform. grub-install: avís: Esteu intentant instal·lar el GRUB en un disc amb múltiples etiquetes de particions. Encara no se'n permet l'ús.. grub-install: avís: No s'ha pogut incrustar. El GRUB només es pot instal·lar d'aquesta manera fent servir llistes de blocs. De tota manera, les llistes de blocs NO SÓN FIABLES i es desaconsella la seva utilització.. Ha acabat la instal·lació. No s'ha reportat cap error.
Una vez instalado grub en el pincho usb vamos a iniciar la consola para conectar con la placa APU1d4 :)
root@carboni:/home/laura# gtkterm -p /dev/ttyUSB0 -w Xon -s 115200
Pinchamos el pincho, la conectamos y que empiece la magia! :)
Con la instalación simplemente decir que en comparación a la Alix 2d2 con compact flash, la velocidad de proceso y escritura a disco se nota muchísimo! :D
Actualización: He entrado en pánico al ver que la consola no soltaba nada (sólo Loading inicial ramdisk … y ahí se quedaba), pero al ver los leases del dhcp se me ha ocurrido probar si hacía ping la placa, que por algun motivo el grub no cargase el interfaz de consola, y parece que así es! estoy entro de la apu1d4
laura@carboni:~$ ssh blackhold@192.168.1.80 blackhold@192.168.1.80's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. blackhold@apu1d4:~$ su Password: root@apu1d4:/home/blackhold# free -m total used free shared buffers cached Mem: 3933 107 3826 8 7 42 -/+ buffers/cache: 57 3876 Swap: 669 0 669 root@apu1d4:/home/blackhold# cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 20 model : 2 model name : AMD G-T40E Processor stepping : 0 microcode : 0x5000101 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter vmmcall bogomips : 2000.10 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate processor : 1 vendor_id : AuthenticAMD cpu family : 20 model : 2 model name : AMD G-T40E Processor stepping : 0 microcode : 0x5000101 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter vmmcall bogomips : 2000.10 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate
Para hacer que grub suelte contenido por la pantalla vamos a modificar grub.cfg y añadirle que escupe cosas por la pantalla
root@apu1d4:/home/blackhold# cd /boot/grub/ root@apu1d4:/boot/grub# chmod +w grub.cfg root@apu1d4:/boot/grub# vi grub.cfg serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal_input serial terminal_output serial if [ "${recordfail}" = 1 ] ; then set timeout=-1 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=5 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=5 fi fi play 480 440 1 ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=cyan/blue set menu_color_highlight=white/blue ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### function gfxmode { set gfxpayload="${1}" } set linux_gfx_mode= export linux_gfx_mode menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ae5cc64c-a0a9-420c-89a9-5164ad86607e' { load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 ae5cc64c-a0a9-420c-89a9-5164ad86607e else search --no-floppy --fs-uuid --set=root ae5cc64c-a0a9-420c-89a9-5164ad86607e fi echo 'Loading Linux 3.16.0-4-amd64 ...' linux /boot/vmlinuz-3.16.0-4-amd64 root=UUID=ae5cc64c-a0a9-420c-89a9-5164ad86607e ro console=ttyS0,115200n8 quiet echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.16.0-4-amd64 }
Si nos fijamos a la línea 4 empezando por abajo hemos añadido “console=ttyS0,115200n8”.
Guardamos los cambios, volvemos a dejar los permisos bien y actualizamos grub
root@apu1d4:/boot/grub# chmod -w grub.cfg root@apu1d4:/boot/grub# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 done
Al ejecutar update-grub se carga la configuración de “console=ttyS0,115200n8”, así que lo que tenemos que hacer es modificar el fichero /etc/default/grub y cambiar la línea GRUB_CMDLINE_LINUX_DEFAULT para que nos quede así:
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200n8 quiet"
En este mismo fichero encontramos otra cosa chula para hacer un poco el friki y aprovechando que la placa lleva un altavoz majísimo vamos a darle un poco de uso ;)
Editamos el fichero /etc/default/grub
# Uncomment to get a beep at grub start GRUB_INIT_TUNE="480 440 1" GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
Las dos líneas de abajo ya estaban descomentadas.
Si somos un poco frikis podemos poner un tune personalizado :P por ejemplo
GRUB_INIT_TUNE="480 440 4 440 4 440 4 349 3 523 1 440 4 349 3 523 1 440 8 659 4 659 4 659 4 698 3 523 1 415 4 349 3 523 1 440 8"
Después de aplicar los cambios recordad en hacer un update-grub.
Me suena a marcha imperial
Ignasi FS liked this on Facebook.