Septiembre
2006
Me rindo (o como explicar que ubuntu es una mierda)
Resulta que desde hace ya varios días estoy intentando adaptar o por lo menos hacer funcionar TCOS sobre ubuntu. No me considero un hacker pero tampoco un usuario novato por lo que creo que las cosas que voy a contar tienen cierto peso.
He instalado en un chroot la última versión "Edgy" y he empezado a compilar todos los paquetes de TCOS en ubuntu, después de innumerables dependencias parece que todo instalaba bien sin forzar nada.
En el chroot he instalado los paquetes ubuntu-live y todos los de TCOS y PulseAudio.
Me dispongo a generar las imágenes que usarán los terminales con gentcos -tftp -allmodules y gentcos -nfs -rootfs cuando salen una manada de errores impresionante.
1.- Parece ser que no hay X instaladas, pues instalar xserver-xorg y xorg.... ubuntu-live depende de ubiquity (el instalador) y no depende de xorg ??? mal empezamos. Uno espera, cuando va a hacer un livecd basado en ubuntu, que tomando ubuntu-base y ubuntu-live ya tiene TODO lo que necesita para arrancar.
2.- En debian grub se instala en /usr/sbin y /usr/lib/grub, pues para ser retorcidos en ubuntu lo instalan en /sbin y /lib/grub ??? lo he solucionado haciendo unos if en los scripts de construcción de la imagen.
3.- Si desinstalas discover1 para instalar discover (tcos lo necesita porque no depende de perl) se carga los metapaquetes de ubuntu-base, xserver-xorg y alguno más, antes miré si se llevaba algún archivo pero parece que no.
4.- El paquete alsa-base de ubuntu edgy y el de debian unstable se parecen también bastante poco, los scripts de arranque y la forma de llevarse con modprobe son distintas (otros cuantos if)
5.- El binario dhclient3 de ubuntu parece ser que usa el usuario dhcp para no ejecutarse como root por lo que me obliga a meter un /etc/passwd /etc/shadow dentro de la imagen, cosa que antes no hacía.
6.- Los binarios que hay en /lib/udev cambian de nombre por lo que no es ni siquiera viable pensar en incluirlos...
7.- El apt que lleva edgy me dice que hay paquetes que no se usan y que ejecute apt autoremove. No se si esto entrará en debian pero lo veo harto cansino ¿no habíamos quedado que aptitude elimina las dependencias que no se necesitan cuando se desinstala algo? ¿apt lo está imitando?
.....
Consigo solucionar casi todo de manera que hasta que no arranque no puedo probar si realmente funciona.
No quería usar casper para generar un livecd y probarlo por lo que he adaptado también mi versión del calzador de metadistros.... y aquí han llegado más problemas....
1.- el udev de ubuntu en cuanto arranca no hace las labores coldplug ya que hasta que no ejecuto MANUALMENTE udevtrigger no se crean los dispositivos hda hdb hdc o /dev/disk/... pues nada un hack todo guarro:
2.- Una vez hecho esto edgy es incapaz de arrancar un tema cualquiera de usplash y me sale con el test ese que se parece a la carta de ajuste. Aquí no hay hack que valga, lo dejo por imposible. La nueva versión de usplash parece no pillar los temas...
3.- Aleatoriamente y sin causa aparente algunas veces que arranca el livecd dice que no existe /dev/ram0 y otras si, :| pofale, el mosqueo es ya bastante gordo.
4.- En debian no hay problema con el arranque de gdm (dnetro de una jaula, fuera, en un unionfs...) , en ubuntu simplemente se lanza pero no va y además no veo logs por ningún sitio :( así que al principio de /etc/init.d/gdm he metido otra chapuza de las mías:
5.- Despues de arrancar las X intento lanzar tcosmonitor y se queda congelado, la última línea del debug dice algo como TcosDBusClient() starting client... por lo que sospecho que el dbus de ubuntu o no ha arrancado bien o no le gusta mi archivo de configuración o directamente pasa de mi. :( He probado a reiniciar dbus y sigue igual. (a propósito si se reinicia dbus a mano parece ser que a nautilus no le gusta y se muere, esta es la forma en la que he conocido el nuevo bugbuddy)
No me parece nada bien que se haga una herramienta como esa (Bug Buddy) sabiendo que no todo el mundo usa un escritorio en inglés, por lo que si alguien con muy buenas intenciones y un poco novato lo ve, escribirá lo que estaba haciendo cuando el programa hizo pofff en su lengua materna, desconozco si el bugzilla de gnome soporta bugs en idiomas distintos del inglés... sino, caerán en saco roto. Me quedo con el anterior diálogo de gnome 2.14 en el que se puede escoger que hacer (reiniciar, cerrar, informar)
Resumiendo, estoy a menos de un pelo de rendirme y mandar ubuntu a tomar por el saco, para escritorios, para gente que no tiene ni pajolera idea, para frikis ubuntu está muy bien (mi hermano lo usa con Xgl y el último compiz-beryl) pero una vez que le empiezas a hacer perrerías casca por todos los sitios. Larga vida a debian, hasta siempre ubuntu.
Si alguien (usuario o desarrollador de Ubuntu) se anima, quizás pueda ayudarme a solucionar los problemas que me faltan, sino TCOS funcionará sólo en Debian... eso sí al 110%, ya que en debian funciona perfecto.
He instalado en un chroot la última versión "Edgy" y he empezado a compilar todos los paquetes de TCOS en ubuntu, después de innumerables dependencias parece que todo instalaba bien sin forzar nada.
En el chroot he instalado los paquetes ubuntu-live y todos los de TCOS y PulseAudio.
Me dispongo a generar las imágenes que usarán los terminales con gentcos -tftp -allmodules y gentcos -nfs -rootfs cuando salen una manada de errores impresionante.
1.- Parece ser que no hay X instaladas, pues instalar xserver-xorg y xorg.... ubuntu-live depende de ubiquity (el instalador) y no depende de xorg ??? mal empezamos. Uno espera, cuando va a hacer un livecd basado en ubuntu, que tomando ubuntu-base y ubuntu-live ya tiene TODO lo que necesita para arrancar.
2.- En debian grub se instala en /usr/sbin y /usr/lib/grub, pues para ser retorcidos en ubuntu lo instalan en /sbin y /lib/grub ??? lo he solucionado haciendo unos if en los scripts de construcción de la imagen.
3.- Si desinstalas discover1 para instalar discover (tcos lo necesita porque no depende de perl) se carga los metapaquetes de ubuntu-base, xserver-xorg y alguno más, antes miré si se llevaba algún archivo pero parece que no.
4.- El paquete alsa-base de ubuntu edgy y el de debian unstable se parecen también bastante poco, los scripts de arranque y la forma de llevarse con modprobe son distintas (otros cuantos if)
5.- El binario dhclient3 de ubuntu parece ser que usa el usuario dhcp para no ejecutarse como root por lo que me obliga a meter un /etc/passwd /etc/shadow dentro de la imagen, cosa que antes no hacía.
6.- Los binarios que hay en /lib/udev cambian de nombre por lo que no es ni siquiera viable pensar en incluirlos...
7.- El apt que lleva edgy me dice que hay paquetes que no se usan y que ejecute apt autoremove. No se si esto entrará en debian pero lo veo harto cansino ¿no habíamos quedado que aptitude elimina las dependencias que no se necesitan cuando se desinstala algo? ¿apt lo está imitando?
.....
Consigo solucionar casi todo de manera que hasta que no arranque no puedo probar si realmente funciona.
No quería usar casper para generar un livecd y probarlo por lo que he adaptado también mi versión del calzador de metadistros.... y aquí han llegado más problemas....
1.- el udev de ubuntu en cuanto arranca no hace las labores coldplug ya que hasta que no ejecuto MANUALMENTE udevtrigger no se crean los dispositivos hda hdb hdc o /dev/disk/... pues nada un hack todo guarro:
# hack for ubuntu udev
if [ -x /sbin/udevtrigger ]; then
log_begin_msg "Wait until livecd devices are ready"
/sbin/udevtrigger
# wait until some devices creation
follow=0
while [ $follow = 0 ]; do
sleep 1
if [ -d /dev/disk ]; then
follow=1
break
fi
done
log_end_msg
fi
2.- Una vez hecho esto edgy es incapaz de arrancar un tema cualquiera de usplash y me sale con el test ese que se parece a la carta de ajuste. Aquí no hay hack que valga, lo dejo por imposible. La nueva versión de usplash parece no pillar los temas...
3.- Aleatoriamente y sin causa aparente algunas veces que arranca el livecd dice que no existe /dev/ram0 y otras si, :| pofale, el mosqueo es ya bastante gordo.
4.- En debian no hay problema con el arranque de gdm (dnetro de una jaula, fuera, en un unionfs...) , en ubuntu simplemente se lanza pero no va y además no veo logs por ningún sitio :( así que al principio de /etc/init.d/gdm he metido otra chapuza de las mías:
Una vez en ubuntu (después del calzador y el initramfs) el cdrom es accessible desde /.dirs/dev y lo que hace esto es ejecutar startx como el usuario que esté configurado en ese archivo. Problema, el gdm en ubuntu, para aparentar que carga antes el sistema, se ejecuta muy pronto (S13) y todavía no se han configurado dbus hal y compañia (S20), muchos más problemas....
# hack for start UBUNTU TCOS
if [ -f /.dirs/dev/META/settings.conf ]; then
. /.dirs/dev/META/settings.conf
XUSER=$conf_username
su -c "startx" $XUSER
exit 0
fi
5.- Despues de arrancar las X intento lanzar tcosmonitor y se queda congelado, la última línea del debug dice algo como TcosDBusClient() starting client... por lo que sospecho que el dbus de ubuntu o no ha arrancado bien o no le gusta mi archivo de configuración o directamente pasa de mi. :( He probado a reiniciar dbus y sigue igual. (a propósito si se reinicia dbus a mano parece ser que a nautilus no le gusta y se muere, esta es la forma en la que he conocido el nuevo bugbuddy)
No me parece nada bien que se haga una herramienta como esa (Bug Buddy) sabiendo que no todo el mundo usa un escritorio en inglés, por lo que si alguien con muy buenas intenciones y un poco novato lo ve, escribirá lo que estaba haciendo cuando el programa hizo pofff en su lengua materna, desconozco si el bugzilla de gnome soporta bugs en idiomas distintos del inglés... sino, caerán en saco roto. Me quedo con el anterior diálogo de gnome 2.14 en el que se puede escoger que hacer (reiniciar, cerrar, informar)
Resumiendo, estoy a menos de un pelo de rendirme y mandar ubuntu a tomar por el saco, para escritorios, para gente que no tiene ni pajolera idea, para frikis ubuntu está muy bien (mi hermano lo usa con Xgl y el último compiz-beryl) pero una vez que le empiezas a hacer perrerías casca por todos los sitios. Larga vida a debian, hasta siempre ubuntu.
Si alguien (usuario o desarrollador de Ubuntu) se anima, quizás pueda ayudarme a solucionar los problemas que me faltan, sino TCOS funcionará sólo en Debian... eso sí al 110%, ya que en debian funciona perfecto.
Enlace permanente ::
comentarios (18) ::
Versión para imprimir









