Archive

Posts Tagged ‘kernel’

1 laptop + 2 lcd = 3 pantallas para un solo escritorio, bajo Linux

December 18, 2013 Leave a comment

Por los que están interesados en aumentar su capacidad de visualización de aplicaciones en su lugar de trabajo, los costos empiezan a ponerse democráticos (pantalla 19″ alrededor de $100, adaptadores también) para extender su laptop no con una pantalla más, sino con 2.

El tema es que las cosas todavía no son “tan” sencillas (pero deberían serlo dentro de muy poco) para usuarios de Linux, porque el kernel 3.11 (el estable usado en Ubuntu 13.10) no tiene un muy buen soporte para el tipo de extensión necesario.

No os preocupeis demasiado, que el kernel 3.12 en realidad es muy sencillo instalar, gracias a nuestros amigos de Ubuntu Handbook, quienes nos dan una lista de 4 comandos que entrar en una terminal para actualizar Ubuntu 13.10 al kernel deseao. Bueno, ojo que conlleva unos riesgos, ya que podría no funcionar bien su Ubuntu con este kernel (depende mucho del hardware que uno tenga, y de los drivers que fueron instalados en este), pero de generar problemas, basta con ir a ver las opciones avanzadas de arranque de Ubuntu, seleccionar el kernel anterior (3.11) en modo normal, para volver al modo anterior y desinstalar el kernel no funcional.

En mi caso particular, como lo iba a explicar, funcionó todo bien. Seguí las instrucciones del blog de Ubuntu Handbook y reinicié mi máquina, y ya funcionó la tercera pantalla. Demostración? Aquí va…Image

(la captura está en francés, pero ya os dais una idea de lo que representa)

Entonces, cual es lo que teneis que hacer ahí? Pues es bastante simple…

Primero, hay que tener una computadora (cualquiera) con Ubuntu instalada (Debian va también), una pantalla adicional (no es necesario tener 2, pero si solo teneis una, no importa mucho fregarse todo este procedimiento) y, muy importante, un adaptador USB a VGA (o DVI).

Por ejemplo, yo me compré un Trendnet TU2-DVIV por alrededor de 50€ en una tienda cercana y me funciona bien.

Una vez todo este material listo, quizás querais probar sin actualizar el kernel. Con suerte, funciona: solo hay que prender la pantalla, conectar el cable VGA al adaptador y enchufar el otro lado del adaptador en el puerto USB de la compu. De ahí es probable que haya que ir a Configuración -> Monitores para dar clic en “Detectar pantallas”, y luego (clic en la tercera pantalla detectada) activar esta nueva pantalla (no se porque, en mi caso no se había activado sola).

Si no se detecta ninguna nueva pantalla, hay que actualizar el kernel al 3.12. Para esto, seguir el procedimiento del Ubuntu Handbook descrito arriba, reiniciar e ir a la sección Configuración -> Monitores y (me repito) activar esta tercera pantalla. Quizás reposicionarlas un poco, y listo!

Espero haya sido útil para los que no tienen idea de como hacerlo (como yo hace una semana). Ojo que se puede poner más de una pantalla via USB, dependiendo de la cantidad de puertos libres que tiene.

Server stalled on Loading Kernel Modules without chroot – What to do?

Today we had a server stalled on “Loading kernel modules” at reboot (after adding 12GB of RAM, to 24GB total). The datacenter didn’t know what to do and they put us on a 32-bit rescue mode console from which we couldn’t (obviously) launch a 64bit chroot to update the kernel. The situation seemed pretty desperate.

Our sysadmin, Jérôme, once again came to the rescue. Waiting for the datacenter to respond would have potentially increased reboot time up to 45 minutes. The only possible thing to do: replace initrd with a similar version (just in case the first one would have been damaged). Luckily, we had another similar machine which had been installed the sameday (at 1h difference), so we copied the initrd image over and launched a reboot. After 5 long (never-ending) minutes of no response from the server, it just popped back online.

That’s another one to remember for sysadmin’s day!

VirtualBox and Ubuntu packages

VirtualBox is a very practical application running under Linux systems, and packaged into Ubuntu 8.04 Hardy Heron, that lets you virtualise an operating system. A bit in the same way as QEmu did it, except that, to make it short, it works better.

Anyway, VirtualBox is highly dependent on the kernel of the base system you’re running it on, so it is linked to the kernel packages in Ubuntu. The only problem is that, when upgrading your kernel with the usual Ubuntu package updates, you don’t get an update for the VirtualBox right away. Instead, you will have to wait for a few days, and possibly a few weeks. The recommendation is thus: do not upgrade your kernel if you

  • really need VirtualBox
  • don’t really need the upgrade
  • don’t know for sure if there is a new VirtualBox package for that kernel

You can always start your system withn older kernel later on (if you didn’t clean the older versions), but then what’s the use of upgrading?

To give you a rough idea, to date, the latest kernel package is linux-image-2.6.24-19-*, and the latest VirtualBox kernel-dependent package is virtualbox-ose-modules-2.6.24-16-*

HOWTO Build a Linux kernel module out-of-tree

June 26, 2008 Leave a comment
This article is incomplete and was first written in June 2006
for the BeezNest technical website (http://glasnost.beeznest.org/articles/340).

It could happen that you badly need to use a newer kernel module than what is present on your existing Linux kernel (2.6.x), but you do not want to upgrade the whole kernel or rebuild it from scratch, because:

  • you cannot or don’t want to reboot afterwards
  • you don’t have the original source anymore (and your kernel was patched) or you don’t want to download and install them, but you do have the kernel headers handy
  • other kernel modules on the machine do not yet support the newest kernel with the desired module version

It could be tricky to rebuild a module kernel like this, but thanks to those great kernel hackers, this is not the case.

  • Download the kernel module sources and unarchive them in some directory.
  • make sure you have the kernel headers somewhere
  • go to the kernel headers directory and, from there, type the following (provided mod_src_path points to the sources of your new module):
make M=mod_src_path
  • it will build the module for your kernel
  • try it with insmod
  • finally copy the .ko file(s) in the appropriate /lib/modules/`uname -r`/kernel/… directory.

An example (cifs 1.42b module for kernel 2.6.8) [1]:

1) download and unarchive new cifs (e.g. to ~/cifs-1.42b)
2) cd to the root of your kernel headers (e.g. /usr/src/linux-headers-2.6.8)
3) make M=~/cifs-1.42b/fs/cifs
4) if the build worked as expected then "/sbin/insmod ~/cifs-1.42b/fs/cifs/cifs.ko" (you will have to be root for this)
5) if you want to make this automatic you can copy the new cifs.ko to /lib/modules/2.6.8/kernel/fs/cifs/cifs.ko after first saving your existing version of that file

[1] many thanks to Steven French from Samba for this example and his help

%d bloggers like this: