Instalando Chakra “Ian” en una Macbook pro 11,5

Hace poco instale Chakra en una macbook pro de 15 pulgadas con tarjeta integrada intel y una ATI dedicada. Estas son las notas de instalación por si a alguien le son útiles.

Instalación

En general con la instalación no tiene problemas. Sin embargo al instalar el GRUB tuve el siguiente error:

Installation Failed
Boost.Python error in job "_bootldr".
<class 'UnboundLocalError'>
local variable 'boot_p' referenced before assignment
Traceback:
  File "/usr/lib/calamares/modules/_bootldr/main.py", line 164, in run
    install_bootloader(boot_loader, fw_type)
  File "/usr/lib/calamares/modules/_bootldr/main.py", line 143, in install_bootloader
    subprocess.call(["sgdisk", "--typecode=%s:EF00" % boot_p, "%s" % device])

Al final tuve que recurrir a un bootloader alternativo rEFInd (instalado desde OSX) con el cual ya pude arrancar chakra.

Post-Instalación

Después de poder inicial el SO desde el disco duro las siguientes cosas no funcionaban o requirieron arreglos:

  • Wifi
  • Brillo de pantalla
  • El apagado de equipo
  • Algunas funciones del teclado y mapeo de teclas

A continuación comento cómo resolví esos problemas.

Wifi

Tanto en el Live CD como en la instalación final el wifi no funciona. En mi caso lo solucione de la siguiente manera:

$ sudo kate /usr/lib/modprobe.d/broadcom-wl.conf

Buscamos y comentamos el modulo brcmfmac

#blacklist brcmfmac

y reiniciamos.

Control de brillo de pantalla (ATI)

Este equipo en especifico tiene 2 tarjetas graficas. Una Intel integrada y una discreta ATI. Por defecto la tarjeta integrada esta desactivada. Eso sumado a que este versión de Chakra tiene poco soporte para last tarjetas hibridas1 me hizo solo configurar solo la discreta 2.

En general todo funciona bien, con excepción de un molesto problema: El brillo de la pantalla. Problema que, por suerte, se puede solucionar.

En este hilo (https://bugzilla.kernel.org/show_bug.cgi?id=105051) indican que, entre otras cosas, es por que el valor de gmux_backlight/max_brightness es puesto como -1 por lo cual el sistema interpreta que no se puede cambiar el valor. En el hilo hay un parche para que el kernel (comentario 37) pueda manejar de manera adecuada el problema. Al aplicar el parche 3 ya es posible cambiar el brillo de pantalla 4.

Apagado (No probado)

El apagado tampoco funciona. Para este problema también hay un parche para el apagado y reiniciado en este hilo (https://bugzilla.kernel.org/show_bug.cgi?id=103211#c172), pero no lo he intentado. Sin embargo hay reportes de que funciona.

Teclado

Cambiar el comportamiento de las techas fn

Las teclas por defecto tienen el comportamiento como OSX, pero yo quería que el comportamiento base fuera mas al estilo de una PC. Para hacer esto me base en este post (http://blog.desdelinux.net/teclado-apple-funcione-correctamente-ubuntu/) pero con ciertos cambios quedando así:

Primero crear el siguiente archivo:

$ kate keyboard-fix.sh

Agregando lo siguiente:

#!/bin/sh


#fix fn key
echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode

Moviéndolo a:

sudo mv keyboard-fix.sh /usr/bin/

y poniéndole permisos de ejecución permisos:

# chmod +x /usr/bin/keyboard-fix.sh

Después creamos el servicio para SystemD

$ kate fix-keyboard.service

Y agregamos:

# /etc/systemd/system/keyboard-fix.service
[Unit]
Description=mac keyboard fix

[Service]
Type=oneshot
ExecStart=/usr/bin/keyboard-fix.sh

[Install]
WantedBy=multi-user.target

Copiar

$ sudo cp keyboard-fix.service /etc/systemd/system/keyboard-fix.service

Finalmente iniciamos el servicio:

$ sudo systemctl daemon-reload
$ sudo systemctl enable keyboard-fix.service
$ sudo systemctl start keyboard-fix.service

Hacer que los símbolos < y > correspondan al techado

En mi instalación, los símbolos < y > eran remplazados por ^ y °. Para solucionarlo se puede hacer lo siguiente 5:

$ kate ~/.Xmodmap

Agregar:

keycode 49 = less greater less greater bar brokenbar bar
keycode 94 = U000AA degree U000AA degree backslash backslash backslash

Para aplicarlos:

xmodmap ~/.Xmodmap

Hacer swap de las teclas cmd y ctrl

Este cambio es mas por gusto personal pue uso mucho OSX en mi trabajo, asi que ya me acostumbre a usar ese tipo de combinación de techas 6.

Se edita

$ kate ~/.Xmodmap

y se agregar

! Erase existing bindings
clear Control
clear Mod4
! Map key 37 (left ctrl) to Super_L (i.e. 'cmd')
keycode  37 = Super_L
! Map key 133 (left cmd) to Control_L (i.e. 'ctrl)
keycode 133 = Control_L
! And update modifier settings
add control = Control_L
add mod4    = Super_L

Para probar la configuración usamos:

xmodmap ~/.Xmodmap

Agregar cambios del teclado al inicio del sistema

Creamos el archivo:

$ kate xmodmap_fix.sh

Agregando lo siguiente:

#!/bin/sh


exec xmodmap ~/.Xmodmap

y lo agregamos al los scripts de inicio de KDE. (Startup and Shutdown > Autostart)


2. Existen maneras de hacer que Linux encienda la tarjeta integrada mediante una combinación de opciones de rEFInd y GPU-switch.
3. Yo aplique el parche sobre el kernel que viene con Chakra Ian (4.5.7-1) y funciono correctamente.
4. El script que ponen en el comentario no esta del todo correcto para Chakra, falta la compresión xz del parche para que funcione correctamente.

 

Anuncios

Hacer que Momentics reconozca BlackBerry Z10 en Chakra Linux

Últimamente he estado trabajando en una app para blackberry, programando desde Linux, claro esta.  Sin embargo, a la hora de tratar de desplegar la app desde el IDE este no podía encontrar el dispositivo. El problema no era el celular pues podía desplegar la app desde OSX.

Después de mucho buscar (la verdad la información sobre este tema es muy escasa), me tope con un par de posts que señalaban que el problema es la ip que Linux le asigna al dispositivo. Así que todo se reduce a cambiar la ip. Para hacer eso se pueden seguir los siguientes pasos (hay otras maneras, pero esta es la que me pareció mas sencilla)

1. Verificar que el dispositivo este conectado:

Ejecutamos:

$ lsusb

Deberíamos ver algo como lo siguiente:

Bus 002 Device 006: ID 0fca:8017 Research In Motion, Ltd

2. Identificar el nombre de la interfaz que le asigna Linux a la conexión con el dispositivo:

Ejecutamos:

$ ifconfig

Y buscamos una interfaz con una ip que empiece con 169.254 en mi caso es la siguiente:

enp5s0u2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 169.254.0.1  netmask 255.255.0.0  broadcast 169.254.255.255
inet6 fe80::406f:2aff:fee6:35b9  prefixlen 64  scopeid 0x20<link>
ether 42:6f:2a:e6:35:b9  txqueuelen 1000  (Ethernet)
RX packets 15  bytes 3986 (3.8 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 10  bytes 1731 (1.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Es importante anotar el nombre de la interfaz.

3. Cambiar la ip de la interfaz:

Finalmente cambiamos la ip de la interfaz con el siguiente comando:

$ sudo ifconfig enp5s0u2 169.254.0.2

Con esto es suficiente para que Momentics identifique el dispositivo. Cabe mencionar que esto es solo temporal y tendrá que ejecutarse cada vez que se conecte el celular.

Fuentes:

https://bbs.archlinux.org/viewtopic.php?id=166153

http://supportforums.blackberry.com/t5/Native-Development/USB-interface-not-working-on-opensuse-13-1-64-bit/td-p/2766485

Dual boot Windows 8 y Chakra Linux en una Samsung Series 5

IMPORTANTE:  Esta es una solución que sirvió en ese equipo, pero no tengo garantía que funcione en otros, por lo que no me hago responsable por el posible daño que le pueda suceder a sus maquinas si lo intentan.

Contexto

El otro día un conocido me pidió ayuda para instalar Linux en una Ultrabook Samsung Serie 5 (una NP530U3C-A09). Un bonito equipo con hardware Intel y Windows 8 de fabrica. En general, y dado el hardware que tiene el equipo, seria una tarea fácil. Crear el live USB, particionar e instalar.

El problema

Sin embargo, cuando investigamos un poco, nos encontramos con lo siguiente:

  • Existe la posibilidad de dejar inusable el equipo, incluso en Windows. (link y link)
  • Si bien ya se agregaron parches al kernel para evitar estos problemas (link) al parecer estos cambio impiden que se cargue el modulo para las laptops samsung (con lo cual perdemos funcionalidades)

Las restricciones

Dada esa información la solución es simple: Desactivar el boot con UEFI (Que es de hecho lo que recomienda Samsung cuando quieres instalar Windows 7 en uno de estos equipos (link) ). ¿Con eso esta solucionado el problema, verdad?  Pues sí y no.

  • Sí, si solo quieres tener instalado Linux en la maquina.
  • No, si quieres conservar Windows

El problema reside en que el Windows que viene de fabrica esta instalado en modo UEFI. Lo que significa que solo puede iniciar si esta este modo activado. Es decir, podemos hacer una instalación exitosa de Linux, pero cuando seleccionemos desde GRUB Windows este no iniciara a menos que re-activemos el modo UEFI. Algo no muy practico y propenso a errores. Una posible solución es re-instalar Windows 8 en modo legacy, pero esa no era una opción para mi en ese momento pues:

  1. El windows que trae la partición de recuperación ya viene configurado en modo modo UEFI y no hay opción de cambiarlo cuando se ejecuta el modo de recuperación.
  2. Queriamos evitar comprar una licencia de Windows 8 (pues ya se habia comprado con el equipo)

La solución

Al final no me quedo más que tratar que convertir el Windows de modo UEFI a legacy. Lo cual, en términos un poco más técnicos, significa:

  • Cambiar el tipo de particiones de GPT a MBR (pueden ver una explicación de la diferencia de parte de la propia Microsoft aquí: link ).
  • Cambiar el modo de Windows 8 de UEFI a legacy

Para no hacer el cuento largo, la solución que me funciono fue esta:

Converting a GPT Data or Windows Disk to MBR/EMBR

Tienen que usar el software de esa empresa para poder seguir los pasos (Aunque con la muestra de 30 días es más que suficiente para cambiar la partición de un equipo). También les recomiendo dimensionar las particiones de Windows para aprovechar el espacio dejado por las particiones que se borran. Espero que les sea de ayuda.

PD: Estoy seguro que esos pasos se pueden reproducir con un Live CD de Linux, pero no tuve tiempo de intentarlo.

Habilitar USB en VirtualBox con openSUSE 11.4

Seguimos con openSUSE 11.4, esta vez con Virtualbox y habilitar el uso de los puertos USB del SO anfitrión en el SO invitado.

NOTA: La siguiente guía esta probada con la versión de Virtualbox que esta disponible desde los repositorios de openSUSE.

Primero que nada hay que descargar el VirtualBox Extension Pack desde la pagina de Virtualbox e instalarlo (Archivo-> preferencias-> extensiones). Ademas de tener a nuestro usuario en el grupo de vboxusers.

Como dice en http://en.opensuse.org/VirtualBox editamos el archivo (como dice la página hay un riesgo de seguridad. Tómenla en consideración):

/etc/udev/rules.d/60-vboxdrv.rules

y descomentamos (quitamos el simbolo # ) las ultimas dos lineas.

Sin embargo, si sólo descomentamos las lineas, tendremos un mensaje arranque del sistema que nos sugerirá usar SYMLINK. Para fines prácticos esto significa que tenemos que cambiar las ocurrencias de:

NAME=”vboxusb/....

por

SYMLINK+=”vboxusb/....

en las dos lineas descomentadas del archivo 60-vboxdrv.rules

Y eso es todo.

Control de brillo usando el driver propietario de NVidia en OpenSUSE 11.4

Tengo una Nvidia Geforce GT 425M que funcionaba bien con los drives propietarios de openSUSE, excepto por un detalle: el control del brillo.  Así que me puse manos a la obra y a buscar cómo hacer que powerdevil (KDE 4) maneje el brillo de la pantalla cuando se utilizan los drivers propietarios de NVidia y termine con la siguiente solución:

Editar el archivo (como root):

/etc/X11/xorg.conf.d/50-device.conf

y agregar lo siguiente:

Option          "RegistryDwords" "EnableBrightnessControl=1"

Reiniciar y ya esta 😀

Muy fácil, ¿no?

Ibus en OpenSUSE 11.4

Como estudiante de Japones a veces es necesario escribir en ese idioma. En OpenSUSE 11.4 alternativas SCIM e IBUS. Leyendo por ahí veo que recomiendan usar IBUS (algún día quiero aprender cómo funcionan estas cosas) así que nos damos la tarea de instalarlo.

Los paquetes que debemos instalar son los siguientes:

ibus
ibus-anthy
ibus-qt
ibus-gtk
libibus2

Para configurarlo ajecutamos:

ibus-setup

Con esto nos saldrá un icono en la bandeja del sistema y nos saldrá un mensaje para configurar variables de entorno pero, como a mi no me funcionaron con aplicaciones X11 (como Opera), use otra alternativa que mostrare en un momento.

Primero configuremos el método de entrada. Nos vamos a Métodos de entrada → Japonés → Anthy y presionamos el botón “añadir” debería quedar de la siguiente manera:

Configuración iBus

Una vez echo esto editamos el archivo (como root):

/etc/sysconfig/language

y en la donde dice INPUT_METHOD le agregamos el valor ibus, quedando de la siguiente forma:

 INPUT_METHOD="ibus"

Reiniciemos el sistema y con eso debería bastar.

Fuente

http://forums.opensuse.org/english/get-help-here/applications/432764-kimpanel-3.html#post2121212

 

Hello world!

Bueno, he aquí el primer, de esperemos muchos, post. Este blog esta pensado para compartir soluciones a problemas que encuentro (configurar un servicio, problema de programación, etc), asi como otros temas que ya se veran mientras avanza el tiempo. Ya veremos como trata al blog el tiempo.