[Musix-usuarios] Re: posible solución al problema de instalación

Marcos Guglielmetti marcospcmusica en gmail.com
Vie Nov 9 23:56:37 CET 2007


El Sábado, 10 de Noviembre de 2007 02:48, Martín Carr escribió:
 | Hey, hey.
 | Mañana voy a instalar nuevamente solo en el SATA.

Excelente!

 | Entonces piso con 
 | estos archivos e instalo?


Sí: sobre todo es importante /usr/sbin/update-grub: debería actuar chrooted 
como siempre desde el instalador de knoppix (knoppix-installer [desde dentro 
del módulo /usr/share/knoppix-installer/modules/booting/boot-tools.bm]) y 
crear _correctamente_ menu.lst en base a mirar dentro de /root/.knofig el 
valor de HD_CHOICE='/dev/loquesea'


El archivo instalar lo que hará es formar bien /etc/fstab, posteriormente.

Los adjunto a los dos por las dudas. Yo estaré ausente todo este fin de 
semana. Si acaso fallara con estos archivos la instalación ¿podrías 
investigar un poco la cosa en base a esta info? 

Bueno, hagas lo que hagas, vendrá bien.

 | Esta vez salvo los logs... (aunque se copien 
 | en el musix instalado)
 
Perfecto... emmm.. creo que no se me olvida nada... dejo acá abajo un texto 
sobre lo que investigué al respecto... quizá sirva:




Testeando la instalación de Musix 1.0 r3test1 con:

1º instalar modificado
2º update-grub modificado



Un detalle (sólo para "expertos"), antes que nada, es recomendable para 
quienes no quieran realizar todo el proceso de copia de Musix a la partición 
de destino, si es que ya lo han hecho durante la misma sesión de inicio y 
están analizando scripts y viendo de modificarlos... desactivar la línea en 
la que se copia todo el sistema al HD si no queremos esperar tanto:

(cd /$DEFAULT_DIR ; cp -a * $TARGET_MNT_POINT ; sync) &
  module_hd_progressbar $!

eso está en 
/usr/share/knoppix-installer/modules/01-hd.bm

*************************************************

Trabajando con:

boot-tools.bm 


NOTA: toda esta información más abajo [*] sobre el proceso de instalación no 
es muy útil, porque la realicé sobre una función translate_linux_to_grub que 
sólo se ocupaba (al menos hasta donde pude ver) de realizar las entradas para 
particiones de Windows en menu.lst, y con eso no hay problemas actualmente.


Es decir que ahora pienso que el que se confunde al armar menu.lst, es el 
mismísimo y famoso: /usr/sbin/update-grub, que es llamado así desde 
boot-tools.bm 

chroot_it update-grub -y >/dev/null 2>/dev/null

Es decir que actua mediante chroot, dentro de la partición de destino, es 
decir que cuando mira el fstab y otras cosas, mira los archivos de la 
partición de destino: actúa sólo allí.

¡Es decir que! por que lo veo en update-grub, antes tiene que estar bien 
conformado /etc/fstab de la partición de destino! quizá allí es donde estamos 
fallando.


Por ejemplo:

# Autodetect current root device
	device=
	if [ -f /etc/fstab ] ; then
		while read DEV MNT FOO; do
			if `echo "$DEV" | grep -q "^#"`; then
				continue
			fi
			if [ "$MNT" = "$mount_point" ]; then
				device="$DEV";
			fi
		done < /etc/fstab
	fi


Deberíamos SIMULAR la creación de un fstab deficiente en la partición de 
destino, y ver cómo se comporta update-grub con eso.




ACA ESTA PRACTICAMENTE LA CLAVE:


find_root_device ()
{
	device=$(find_device "/")

	if [ -z "$device" ]; then
		echo "Cannot determine root device.  Assuming /dev/hda1" >&2
		echo "This error is probably caused by an invalid /etc/fstab" >&2
		device=/dev/hda1
	fi

	echo $device
}


Asume /dev/hda1 !!! ese es el gran problema de instalación que tuvimos hasta 
ahora!!


Sería tan sencillo como: corregir update-grub para que no falle al buscar el 
dispositivo root, o parchearlo para que acepte una variable desde 
knoppix-installer que le diga direcamente cuál es el dispositivo root, ya que 
knoppix-installer lo sabe perfectamente: es HD_CHOICE

Bien: HECHO:

# para Musix:
	device=`cat /root/.knofig | grep -i "HD_CHOICE=" | cut -f2 -d"'"`
	
	echo "Cannot determine root device.  Assuming $device for Musix
	No puedo determinar el dispositivo root, asumiendo $device para Musix" 
	echo "This error is probably caused by an invalid /etc/fstab
	Este error probablemente es causado por un /etc/fstab inválido"
	# "Corregido" para Musix 1.0 r3, antes era así: 
	#device=/dev/hda1
		


* Es decir que con eso, teóricamente tendríamos bien menu.lst, sólo resta 
fstab, que ya lo habíamos logrado con el parche de instalar...



----------------------------------------------------------------------

[*] Información de más (sobre cómo se comporta con particiones windows)


boot-tools.bm 


línea 516 aprox


    # Get the drive name.
    tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" \
			| sed 's%.*\(([hf]d[0-9][a-g0-9,]*)\).*%\1%'`


*  $1  es 

Debug: la variable pesos 1 es: /dev/hda4

ESO SI QUE ES RARO!, siendo que yo estaba instalando en  /deb/hdb4

No, la confusión está en que estuve debugueando todo el tiempo lo que hace el 
script para particiones de Windows :-(

Y hda4 es la única partición de Windows que tengo (en desuso), y es ntfs


tmp_disk se obtiene así:

tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \
				  -e 's%\(fd[0-9]*\)$%\1%' \
				  -e 's%/part[0-9]*$%/disc%' \
				  -e 's%\(c[0-7]d[0-9]*\).*$%\1%'`

DEBUG: 
device_map = /mnt/hdinstall/boot/grub/device.map
tmp_disk = /dev/hda
tmp_drive = (hd0)


Tener en cuenta que en ese momento, device.map estaba así:

cat /mnt/hdinstall/boot/grub/device.map
(hd0)   /dev/hda
(hd1)   /dev/hdb
(hd2)   /dev/sda


* Observar que sda (un reproductor mp3) también existía. 


* Luego, más adelante, si existe $tmp_part, que se obtuvo por ejemplo así:

echo "/dev/hda4" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' 

eso da: 4




if test "x$tmp_part" != x; then


 se crea la entrada para el kernel linux teniendo en cuenta esa variable 
$tmp_drive

case "$host_os" in
		linux*)
echo "$tmp_drive" | sed "s%)$%,`expr $tmp_part - 1`)%" 

O sea que hace un sed de, por ejemplo (hd0) utilizando 4 - 1 en mi caso... 


DEBUG: en caso de que el sistema host sea linux
hace un sed de tmp_drive ((hd0)) restando a tmp_part (4) - 1

* Es decir: en mi caso la partición de destino era hdb4, o sea que tmp_part 
contenía el número cuatro, al cual se le resta 1 para conformar bien la 
entrada en GRUB: ¿todo esto falla en caso de discos SATA y otras situaciones? 
Resta averiguarlo









* Luego apareció otra información de debug


Debug: la variable pesos 1 es: /dev/sda

DEBUG: 
device_map = /mnt/hdinstall/boot/grub/device.map
tmp_disk = /dev/sda
tmp_drive = (hd2)

 | slds!
 |
 | 2007/11/8, Marcos Guglielmetti
 |
 | > El Jueves, 8 de Noviembre de 2007 18:57, Marcos Guglielmetti escribió:
 | >  | Bien, adjunto 2 archivos:
 | >  |
 | >  | /bin/instalar
 | >  | /usr/sbin/update-grub
 | >
 | > Van de nuevo, los adjuntos. Creo que instalar tenía algún problema,
 | > gracias por los reportes.
 | >
 | >  | Como antes, deben copiarlos y hacerlos ejecutables DESDE el live-CD
 | >  | de Musix 1.0 R3 test1 previo a instalar el sistema.
 | >  |
 | >  | chmod +x /bin/instalar
 | >  | chmod +x /usr/sbin/update-grub
 | >  |
 | >  |
 | >  | Supongo que esta vez andará todo bien.
 | >  |
 | >  |
 | >  | Hasta donde investigué, el problema está en algún lado que aún no
 | >  | sabemos, esencialmente, pero sí sé que un módulo de instalación de
 | >  | knoppix-installer se equivoca en ciertos equipos a la hora de crear
 | >  | /etc/fstab en la partición de destino.
 | >  |
 | >  | Eso a su vez provoca que el módulo de instalación de knoppix
 | >  | encargado de instalar grub, cuando llama a update-grub, este script
 | >  | se equivoque porque fstab no está bien conformado, dejando a
 | >  | /dev/hda1 como dispositivo root predeterminado de instalación.... de
 | >  | ahí en adelante, menu.lst queda mal conformado, tal como hemos visto
 | >  | por los reportes.
 | >  |
 | >  | Los archivos adjuntos se encargan, entonces, de crear bien menu.lst y
 | >  | fstab, eso espero. ;D
 | >  |
 | >  | Espero reportes, así en caso negativo puedo ver nuevamente qué
 | >  | sucede. Y en caso positivo, a festejar...
 | >  |
 | >  | Suerte!!!
 | >
 | > --
 | > Marcos Guglielmetti. www.musix.org.ar
 | >
 | >
 | > http://es.wikiquote.org/wiki/Roberto_Fontanarrosa
 | >
 | > "El optimista ve la copa medio llena. El pesimista la ve medio vacía. El
 | > borracho la ve
 | > triple."
 | >
 | > _______________________________________________
 | > Musix GNU+Linux - www.musix.org.ar
 | > Musix-usuarios mailing list
 | > Musix-usuarios en lists.ourproject.org
 | > https://lists.ourproject.org/cgi-bin/mailman/listinfo/musix-usuarios
 |
 | _______________________________________________
 | Musix GNU+Linux - www.musix.org.ar
 | Musix-usuarios mailing list
 | Musix-usuarios en lists.ourproject.org
 | https://lists.ourproject.org/cgi-bin/mailman/listinfo/musix-usuarios

-- 
     `&' 
      #    Marcos Guglielmetti, co-director de               
      #   Musix GNU+Linux, 100% Software Libre para artistas      
     _#_       http://www.musix.org.ar           
     (#)     
    / O \    + archivos: ftp://musix.ourproject.org/pub/musix
   ( === )   Ecología: http://autosus.wordpress.com    
    `---'    Personal: http://marcospcmusica.wordpress.com


"A pesar de las ilusiones racionalistas, e incluso marxistas, toda la historia 
del mundo es la historia de la libertad."
"La libertad no es nada más que una oportunidad para ser mejor."
"Si el hombre fracasa en conciliar la justicia y la libertad, fracasa en 
todo".

Albert Camus

http://es.wikiquote.org/wiki/Libertad
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : instalar
Tipo       : application/x-shellscript
Tamaño     : 14318 bytes
Descripción: no disponible
Url        : /pipermail/musix-usuarios/attachments/20071109/f1b11786/instalar-0001.bin
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : update-grub
Tipo       : application/x-shellscript
Tamaño     : 33525 bytes
Descripción: no disponible
Url        : /pipermail/musix-usuarios/attachments/20071109/f1b11786/update-grub-0001.bin


Más información sobre la lista de distribución Musix-usuarios