Archivo de la etiqueta: knoppix

Usar el script knx-hdinstall para instalar Knoppix en disco duro

Si arrancas determinadas versiones de Knoppix e intentas instalarlo con el script knx-hdinstall, puede que falle durante el particionado del disco duro. La culpa no es del script, ni tampoco de knoppix, sino del programa de particionado en sí mismo: cfdisk.

El problema es que cuando dices que grabe las nuevas particiones (escribir), cfdisk te pide confirmación y tienes que teclear «sí». Cuando tecleas «si» te dice que tienes que escribir la «i» con acento (manda huevos…). Pero el terminal en el que está funcionando cfdisk no permite escribir acentos, así que no puedes confirmalo de ninguna forma y la instalación entera se va a al carajo.

Esto es especialmente grave en una máquina virtual VMWare, porque en ella tienes, normalmente, el disco duro virtual en blanco, y por narices tienes que reparticionar y formatear con el propio Knoppix.

Hay dos posibles soluciones a este desaguisado:

Mediante el idioma

Mete el CD de Knoppix y arranca el ordenador (o la máquina virtual VMWare, eso da igual). Cuando te pide las opciones de arranque, usa éstas: «knoppix lang=en desktop=800×600». Observa que he escrito «en» y no «es». Lo que le estoy diciendo a Knoppix es que use el idioma inglés.

Ahora arrancará knoppix en inglés. Cuando te muestre el escritorio de KDE vete a la banderita norteamericana del panel y pulsa con el botón derecho del ratón. Pulsa en «Configure» y en «Primary Layout» selecciona el teclado español. Acepta y sal de la configuración. El idioma sigue siendo inglés, pero el teclado es castellano (lo necesitarás para teclear el guión ;-).

Vete al icono de Knoppix (en el panel, segundo icono por la izquierda) y abre una sesión de root. En ella, ejecuta el comando knx-hdinstall. Ya está, ahora solo tienes que ir contestando a las preguntas y reparticionar en cfdisk. La diferencia es que ahora estará todo en inglés, y cuando te pida confirmación, tendrás que teclear «yes» en lugar de «sí», con lo que te libras de los acentos. :-)

Mediante el viejo fdisk

Si estás en una máquina virtual VMWare, tu disco duro virtual estará en blanco. Eso te da la oportunidad de hacer lo que te de la gana sin temer una pérdida de datos. La segunda alternativa es recurrir al bueno y viejo fdisk, con la ventaja de que podemos arrancar Knoppix en castellano.

Arranca Knoppix con «knoppix lang=es desktop=800×600». Observa que ahora el idioma sí es el español. Cuando aparezca el escritorio KDE, vete al icono de Knoppix (en el panel, segundo icono por la izquierda) y abre una sesión de root. Ejecuta el comando «fdisk /dev/sda» (VMWare configura un disco duro SCSI para Linux) o «fdisk /dev/hda» (normalmente, las máquinas reales tienen discos IDE, no SCSI).

Ahora tienes que reparticionar con Fdisk, que es un mundo aparte.

PELIGRO – PELIGRO – PELIGRO – Particionar tu disco duro puede provocar una perdida de datos. PELIGRO – PELIGRO – PELIGRO – ¿Estás al día con tus copias de seguridad?.

A continuación, pongo lo que se vería en una máquina virtual VMWare con disco duro virtual de 4 Gb. Crearemos una partición de 3500 Mb para Knoppix y el resto para Swap (intercambio). En rojo, lo que introducimos nosotros:

	root@ttyp0[knoppix]# fdisk /dev/sda
	Device contains neither a valid DOS partition table, nor Sun, or OSF disklabel
	Building a new DOS disklabel. Changes will remain in memory only,
	until you decide to write them. After that, of course, the previous
	content won't be recoverable.

	Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

	Command (m for help): m 
	Command action
		a	toggle a bootable flag
		b 	edit bsd disklabel
		c	toggle the dos compatibility flag
		d	delete a partition
		l	list known partition types
		m	print this menu
		n	add a new partition
		o	create a new empty DOS partition table
		p	print the partition table
		q	quit without saving changes
		s 	create a new empty Sun disklabel
		t	change a partition's system id
		u	change display/entry units
		v	verify the partition table
		w	write table to disk and exit
		x	extra funcionality (experts only)

	Command (m for help): p  

	Disk /dev/sda: 4194 MB, 4194892800 bytes
	255 heads, 63 sectors/track, 510 cylinders
	Units = cylinders of 16065 * 512 = 8225280 bytes

		Device Boot	Start	End	Blocks	Id	System

	Comand (m for help): n 
	Command action
		e	extended
		p	primary partition (1-4)
	p 
	Partition number (1-4): 1 
	First cylinder (1-510, default 1): <Enter> 
	Using default value 1
	Last cylinder or +size or +sizeM or +sizeK (1-510, default 510): +3500M 

	Command (m for help): n 
	Command action
		e	extended
		p 	primary partition (1-4)
	p 
	Partition number (1-4): 2 
	First cylinder (428-510, default 428): <Enter> 
	Using default value 428
	Last cylinder or +size or +sizeM or +sizeK (428-510, default 510): <Enter> 
	Using default value 510

	Command (m for help): t 
	Partition number (1-4): 2 
	Hex code (type L to list codes): 82 
	Changed system type of partition 2 to 82 (Linux swap)

	Command (m for help): p  

	Disk /dev/sda: 4194 MB, 4194892800 bytes
	255 heads, 63 sectors/track, 510 cylinders
	Units = cylinders of 16065 * 512 = 8225280 bytes

		Device Boot	Start	End	Blocks	Id	System
	/dev/sda1		1	427	3429846	83	Linux
	/dev/sda2		428	510	666697+	82	Linux swap

	Command (m for help): w 
	The partition table has been altered!

	Calling ioctl() to re-read partition table.
	Syncing disks.
	root@ttyp0[knoppix]#

Ahora ejecuta el comando knx-hdinstall. (Pulsa OK). Selecciona /dev/sda (pulsa OK), te dirá que has elegido /dev/sda que tiene una capacidad de 4000Mb (pulsa OK). Ahora saltará la pantalla de cdfisk ofreciendote reparticionar el disco, pero eso ya lo hemos hecho, asi que selecciona «salir». Te preguntará si quieres usar una partición swap. Dile que sí. Te ofrece /dev/sda2. Seleccionala y pulsa OK. Te insiste en que si quieres /dev/sda2 como swap, porque perderás todos los datos (pulsa OK). Te dirá que indiques una partición raíz y te ofrece /dev/sda1. Seleccionala y pulsa OK. Te pregunta qué sistema de archivos quieres. Elige el que más te guste, yo te recomiendo ext3 o reiserfs. Te insiste en que si quieres crear un sistema de archivos en /dev/sda1 y te advierte que perderás todos los datos. Pulsa en «Sí». La ventana «Root» empezará a mostrar mensajes muy raros sobre Superblocks y «inode tables». Ignóralo y espera. Te aparecerá otro diálogo que dice que Knoppix se dispone a copiar ficheros al disco duro y que le llevará entre 10 y 40 minutos dependiendo del hardware (Pulsa OK).

Ahora vete a tomar un café. La copia de ficheros llevará un buen rato, pero más cerca de los 10 minutos que de los 40. De todas formas, si estás instalando en una máquina VMWare, el proceso será un poco más lento de lo normal. Cuando termines el café, la copia de ficheros habrá terminado: pulsa OK.

Te preguntará si quieres iniciar un servidor de correo: contesta lo que quieras (para una máquina VMWare yo contesté «no»). Te preguntará si quieres iniciar una servidor SSHD: contesta lo que quieras (yo contesté sí, porque permite la comunicación con la máquina real, por ssh y por sftp). Te preguntará si quieres iniciar un servidor SAMBA: contesta lo que quieras (yo contesté «no», pero si usas Windows quizás te convenga decir «sí»). Te preguntará si quieres iniciar un servidor de impresoras (yo contesté no, para VMware). Te pregunta si quieres un diálogo gráfico para logarte (KDM). Yo contesté «sí». Te pedirá un nombre para el ordenador: pon el que quieras (yo contesté «Rose»). Te preguntará si quieres lanzar un DHCP broadcast. En una máquina VMWare, lo habitual es emular una red local, y normalmente esas redes no usan DHCP sino IP fijas. Tú mismo. Si contestas «no» te pedirá la dirección IP del ordenador, la máscara de red, la IP de broadcast, la de la puerta de enlace y la del servidor de nombres. Si no sabes ninguno de los datos de tu red, no podrás configurarla ahora, claro, pero siempre puedes reconfigurarlo en el «Menu K» y submenú «Knoppix». Luego, te pedirá una contraseña para root. Luego, otra contraseña para el usuario «knoppix». Después te pregunta si quieres instalar LILO en el MBR. Tú di que «Sí». Te preguntará que si quieres crear un disquette de rescate. Mete un disquette limpio en la disquetera y contesta «sí». Entonces te dirá que la instalación se ha acabado. Enhorabuena :-)

Pulsa OK. Sal del escritorio y confirma que sí, que quieres salir. El ordenador iniciará la secuencia de apagado y extraerá el CD-ROM. Retíralo y pulsa «Enter». El ordenador se apagará.

La próxima vez que lo enciendas, arrancará Knoppix desde el disco duro. Disfrútalo. :-)

Parámetros de arranque para Toshiba Satellite 2100CDS con Knoppix

Mete tu CD de Knoppix, y cuando el boot te pide los parámetros introduce:

	boot: knoppix lang=es screen=800x600 vga=normal wheelmouse

Lo de screen=800×600 es necesario porque si no lo especificas, Knoppix establecerá una resolución más alta, pero el ordenador no ofrece más de 800×600. Lo de vga=normal es porque, si sales a consola, observarás que el texto desaparece por debajo y deja de verse. Con la opción «screen» no se soluciona esto: hay que especificar la opción «vga=normal» que no está documentada en Knoppix pero es una conocida opción del kernel linux. Lo de «wheelmouse» se debe a que uso un ratón óptico externo con rueda. :-)

Postgresql dice que no existe el usuario

Acabas de instalar en disco duro tu Knoppix, y decides que por qué no arrancar un servidor Postgresql con el que manejar tus bases de datos. Así que haces el correspondiente apt-get, instalas Postgresql y ejecutas el comando «createdb personal» para crear la base de datos «personal».

Y entonces, el muy estúpido va y te dice que ese usuario no existe (en mi caso, que no existe el usuario «lacofi»).

Lo intentas como root, y entonces te dice que el usuario root tampoco existe. ¿Y ahora qué?.

Pues, efectivamente, puede que lacofi y root existan para Linux, pero no existen para Postgresql. Tienes que crearlos, eso es todo. Pero, lógicamente, solo podrás hacerlo logándote antes como el superusuario de Postgresql, que se llama ¡oh, sorpresa!, «postgres». Pero claro, ¿cuál es la contraseña de ese usuario?. Sin ella no puedes logarte, y comprobarás que te rechaza en cuanto intentas entrar sin meterla.

Bueno, ¿y para qué la necesitas si puedes ser root?. ¿Olvidas que root puede convertirse en cualquier usuario sin necesidad de contraseña?.

[lacofi@moira lacofi]$ su
password:
[root@moira lacofi]# su postgres
sh-2.05b$

Observa que acabamos de perder el inductor del sistema. Lógico. El usuario postgres existe, pero no tiene nada configurado, así que bash muestra el inductor más básico que tenga.

sh-2.05b$ createuser lacofi
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
CREATE USER
sh-2.05b$ createuser maria
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
CREATE USER
sh-2.05b$ createuser root
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) y
CREATE USER

Bien, ya puestos, creamos usuarios postgresql para todos los usuarios linux del sistema. Así, cada cual tendrá sus propias bases de datos. Luego habría que definir contraseñas, claro, pero eso esa es otra historia. En cualquier caso, una vez creados los usuarios, ya no hay problema en crear bases de datos.

sh-2.05b$ exit
[root@moira lacofi]# exit
[lacofi@moira lacofi]$ createdb personal
CREATE DATABASE

El resto está en los manuales de Postgresql.

Lucent Winmodem en Knoppix

Cuando estoy en casa, el ordenador portatil se conecta al de sobremesa y ambas comparten la salida a Internet repartiéndose el ancho de banda como buenas hermanas. Bien… esto puede hacerse usando una red Ethernet convencional o una red WiFi, que es lo más normal hoy en día. Pero además de conectarlos en red, se puede incluso conectar el portátil como «terminal tonto» del de sobremesa, con lo que éste último está siendo entonces usada por dos usuarios simultáneos, pero no voy a contar aquí ese tema, puesto que los chicos de Bulma ya lo han hecho muy bien (de hecho, ese truco lo aprendí de ellos).

El problema es cuando NO estas en casa. En ese momento el portátil no puede salir a Internet porque le falta su salida habitual a la red.

Los Toshiba Satellite 2100 CDS, como mi vieja moira, estaban equipados de serie con un módem interno, con el que podría conectar con otro proveedor. Pero se trata de un Winmodem, con lo que lo primero es conseguir que funcione en linux. :-(

Afortunadamente, el fabricante del modem es Lucent, que tiene el buen sentido de publicar drivers para linux, tanto en forma de módulos instalables, como en forma de código fuente.

Aunque cuando estaba en activo moira, Lucent incluía módulos para RedHat, Debian, etc… pero no para Knoppix.

Vale, ¿qué se podía hacer?.

Pues se podía instalar el código fuente, claro. Pero eso exige instalar las fuentes del kernel, entre otras cosas. Sin entrar en detalles, digamos que como que no me apetecía demasiado. Claro que Knoppix viene a ser una Debian testing, ¿no?.

Pues sí, lo es. Así que nos vamos a la página adecuada, seguimos el enlace con los drivers de Lucent (si nos deja, porque la última vez que lo intenté, me pedía un login y una contraseña para entrar). Luego nos bajamos el paquete Debian correcto y lo instalamos. Ya está, digo yo.

Pues no. Porque resulta que son módulos compilados para el kernel 2.4.20, y Knoppix usa el 2.4.20-xfs (uuuuyyyy…), con lo que si intentamos hacer un modprobe nos saltan todos los unresolved symbols y a freir espárragos. Eso, sin tener en cuenta que los módulos no están donde deberían…

Vale. La solución más fácil y rápida (también la menos ortodoxa) era forzar la carga de los módulos:

[root@moira lacofi]# insmod -f /lib/modules/2.4.20/ltmodem/lt_modem.o

Y nos contesta:

Warning: kernel-module version mismatch
/lib/modules/2.4.20/ltmodem/lt_modem.o was compiled for kernel
version 2.4.20 while this kernel is version 2.4.20-xfs
Warning: loading /lib/modules/2.4.20/ltmodem/lt_modem.o will
taint the kernel: non-GPL license - UNKNOWN
See http://www.tux.org/lkml/#export-tainted for information about
tainted modules
Warning: loading /lib/modules/2.4.20/ltmodem/lt_modem.o will
taint the kernel: forced load
Module lt_modem loaded, with warnings

(Que traducido, significa «¡Uy lo que me ha dicho!. Vale, no es muy ortodoxo y te aviso, pero lo hago»).

Ahora cargamos el segundo módulo (el orden es importante, al reves no lo admite):

[root@moira lacofi]#insmod -f /lib/modules/2.4.20/ltmodem/lt_serial.o
Warning: kernel-module version mismatch
/lib/modules/2.4.20/ltmodem/lt_serial.o was compiled for kernel
version 2.4.20 while this kernel is version 2.4.20-xfs
Warning: loading /lib/modules/2.4.20/ltmodem/lt_serial.o will
taint the kernel: forced load
See http://www.tux.org/lkml/#export-tainted for information about
tainted modules
Module lt_serial loaded, with warnings

Tras esto nos aseguramos de que exista el dispositivo /dev/ttyLT0, que es el que representa al propio modem. Si no es así, podemos crearlo a mano:

[lacofi@moira lacofi]$ ls /dev/ttyLT0
ls: /dev/ttyLT0: No existe el fichero o el directorio
[lacofi@moira lacofi]$ su
password:
[root@moira lacofi]# cd /dev
[root@moira dev]# mknod /dev/ttyLT0 c 62 64
[root@moira dev]# chown root.root /dev/ttyLT0
[root@moira dev]# chmod a+rw /dev/ttyLT0
[root@moira dev]# ln -s /dev/ttyLT0 /dev/modem
[root@moira dev]# exit
[lacofi@moira lacofi]$

También convendría crear un enlace /dev/modem apuntando a /dev/ttyLT0, porque muchos programas acuden automáticamente a /dev/modem cuando necesitan usarlo.

[root@moira rc5.d]# ln -s /dev/ttyLT0 /dev/modem

Sin embargo, comprobaremos que el enlace /dev/modem desaparece cada vez que rearrancamos la máquina. Esto ocurre porque lo borra el script /etc/init.d/knoppix-autoconfig, que es el que ejecuta toda la maravillosa autoconfiguración del Knoppix en el arranque. Bueno, pues solo hay que editarlo, irse a la linea donde dice:

# Delete obsolete links and files before starting autoconfig
rm -f /dev/cdrom* /dev/cdwriter* /dev/mouse* /dev/modem*
/dev/scanner* /etc/sysconfig/i18n /etc/sysconfig/keyboard \
/etc/sysconfig/knoppix 2>/dev/null

… y borrar lo que he marcado en color cian. Lo principal ya está. Ahora arrancamos el KPPP y veremos que detecta el modem y conecta sin problemas. Pero en mi caso, quería tener los módulos cargados desde el arranque, así que pongo en /etc/init.d un script llamado «ltmodem», con permisos de lectura y ejecución:

#!/bin/sh
insmod -f /lib/modules/2.4.20/ltmodem/lt_modem.o
insmod -f /lib/modules/2.4.20/ltmodem/lt_serial.o

A continuación se hace un link a /etc/rc5.d

[lacofi@moira lacofi]$ cd /etc/rc5.d
[lacofi@moira rc5.d]$ su
Password:
[root@moira rc5.d]# ln -s ../init.d/ltmodem S29ltmodem

Y esto fue todo. El módem siempre listo y la Red siempre a punto, por los siglos de los siglos… :-)

Naturalmente, todo esto es probablemente inútil a estas alturas, porque el tiempo ha pasado y tanto Knoppix como todas las demás distribuciones deberían soportar de serie los Winmodems Lucent. Así que la respuesta correcta probablemente sea: «actualiza tu sistema operativo, por Dios». Pero además porque moira ha muerto dejando su sitio a lynette. En cualquier caso, dicho queda para nostálgicos y curiosos a modo de ejercicio. Quizás le de alguna idea a alguien, con otro problema de hardware distinto, en Knoppix.

He instalado dosemu en mi Knoppix y no puedo acceder al CD-ROM

Eso es por culpa de los permisos. Vamos, que has creado un usuario (aparte de knoppix) con el que no tienes suficientes permisos para acceder al CD-ROM.

La solución más sencilla es que te añadas al grupo cdrom. Teclea el comando:

[lacofi@claudia lacofi]$ groups
lacofi users

Esos son los grupos a los que perteneces. Vale. Pues edita /etc/group como root y cambia la linea:

cdrom:x:24:knoppix

por

cdrom:x:24:knoppix,lacofi,maria

o el login que utilices. Ahora rebota. Ya está.

Eliminar el puñetero autologin de Knoppix en disco duro

Comprobarás que el Knoppix del disco duro sigue funcionando como la versión en CD, es decir, que te sigue metiendo en el usuario knoppix sin password ni nada.

Pero una vez instalado en el disco duro, tal vez quieras entrar con un login decente, con usuarios de verdad. Fale. Crear usuarios de verdad es muy fácil, así que ni te lo cuento. Pero comprobarás que sigues entrando automáticamente como usuario «knoppix», y que en cuanto deslogas knoppix va y te resetea la máquina. Irritante, diría yo.

Edita el fichero /etc/inittab y comenta la última linea, de tal forma que donde pone:

x5:5:wait:/etc/init.d/xsession start

debe poner:

#x5:5:wait:/etc/init.d/xsession start

También debes cambiar las lineas como:

1:12345:respawn:/bin/bash -login >/dev/tty1 2>&1 </dev/tty1
2:2345:respawn:/bin/bash -login >/dev/tty2 2>&1 </dev/tty2
3:2345:respawn:/bin/bash -login >/dev/tty3 2>&1 </dev/tty3
4:2345:respawn:/bin/bash -login >/dev/tty4 2>&1 </dev/tty4

por estas otras:

1:2345:respawn:/sbin/getty 38400 tty1
2:2345:respawn:/sbin/getty 38400 tty2
3:2345:respawn:/sbin/getty 38400 tty3
4:2345:respawn:/sbin/getty 38400 tty4

Vale. Ahora has anulado el arranque gráfico. Es decir, cada vez que arranques entrarás en modo consola. Pero tal vez te interese hacer el login mediante kdm, o xdm, ¿no?.

Al contrario que Debian Woody, la Knoppix arranca en modo telinit 5, así que tienes que meterte en /etc/rc5.d y hacer un link, en modo root, mediante el comando:

[root@claudia rc5.d]# ln -s ../init.d/kdm S30kdm

Y ya está. Ya de paso, puedes empezar a crear links como un loco para arrancar automáticamente todos los demonios que quieras en cada arranque. Probablemente querrás, por ejemplo, un:

[root@claudia rc5.d]# ln -s ../init.d/inetd S20inetd

…si es que tienes algún tipo de conexión de red y deseas ofrecer algún servicio.

En modo root Knoppix me ignora todas las opciones de .bashrc

Curioso, ¿verdad?. :-)

Cambias el «.bashrc» de «/root» para meter bonitos alias o para cambiar el inductor del sistema (el prompt), y te ignora completamente, el muy cerdo. Pero solo con root, con los usuarios normales funciona todo bien.

Pero te vas a sorprender más cuando te diga por qué: el home de root en Knoppix no es «/root», sino «/home/root». Lo gracioso es que «/root» existe, pero no sirve para nada, solo para confundirte.

Anda, vete a «/home/root» y pon ahí todos tus cambios. ;-)

No puedo elegir gestor de ventanas (siempre sale KDE)

Esto me ocurría en una instalación en disco duro de Knoppix.

El problema era que la configuración de knoppix esperaba que metieras el escritorio como un parámetro del kernel (ya sabes, como «knoppix lang=es desktop=wmaker», por ejemplo). Pero una vez instalado en el disco duro la cosa no funcionaba así.

Tuve que editar el fichero /etc/sysconfig/desktop y poner ahí el escritorio que quería. Por ejemplo: DESKTOP=»wmaker». Ahora al hacer startx arrancará WindowMaker en lugar de KDE. ¿Fácil?.

No tanto, porque ocurre que cada vez que haces un reboot, el fichero /etc/sysconfig/desktop se reescribe con la frase DESKTOP=»kde», así que el cambio dura solo hasta que rebotas.

¿Solución?.

Editar el fichero /etc/init.d/knoppix-autoconfig. Ahí es donde está la orden que reescribe /etc/sysconfig/desktop. Solo hay que comentarla, de tal forma que donde ponga:

echo "DESKTOP=\"$DESKTOP\""	>/etc/sysconfig/desktop

debe poner:

# echo "DESKTOP=\"$DESKTOP\""	>/etc/sysconfig/desktop

Pues hala.

Cómo ejecuto Knoppix en una máquina virtual VMWare

Tienes una máquina virtual VMWare con el sistema operativo que sea (Windows o Linux, da igual). Y te acabas de bajar la última distribución de Knoppix y ahora quieres probarla. ¿Puedes probarla en la máquina VMWare?.

Pues sí, claro. Pero comprobarás que si metes el CD y reseteas la máquina virtual, no engancha el CD de Knoppix, sino que arranca desde el disco duro.

Eso es porque tienes que cambiar los ajustes de la CMOS. Pero no los de tu ordenador real, sino los del falso, los de la máquina virtual. Como lo oyes. ;-)

Resetea la máquina VMWare, y observa los mensajes de arranque, porque tienes que pulsar F2 para entrar en el Setup. Una vez allí, vete a «boot», selecciona el CD y pulsa la tecla «+» para subirlo en la escala hasta el primer puesto. De esta forma, si encuentra un CD con sector de arranque, lo usará antes que el disco duro. Sal y graba los cambios. La máquina virtual volverá a iniciarse y esta vez enganchará y cargará Knoppix. ;-)