Mostrando entradas con la etiqueta UEFI Secure Boot. Mostrar todas las entradas
Mostrando entradas con la etiqueta UEFI Secure Boot. Mostrar todas las entradas

miércoles, 6 de septiembre de 2023

¿Cómo reemplazo unidades de disco NVMe de un RAID en Ubuntu Server?

Juan Perón expone sobre la necesidad de integrar la lucha a la vez que explica cómo reemplazar las unidades de disco NVMe en Ubuntu Server.

¡Trabajadores!

Las dicotomías del Mundo parecen impulsar al hombre hacia su final destrucción. Se lo ha apremiado artificialmente hacia un híper-consumismo cuyo único sentido es generar una clase de ultra-ricos solventados por una descomunión de ultra-pobres. A su vez, ello ha requerido de la súper-explotación de los recursos ecológicos de nuestro Planeta, y de la ultra-dependencia política de los Pueblos que lo componen.

La acción irresoluta del hombre contra el hombre parece querer consumar una lucha enconada, y se le ha ofrecido como solución la competencia entre esclavos por el afecto de un amo al que siquiera conocen, y de cuyos frutos jamás podrán gozar. Muy pocos guardar alguna duda que el diseño mismo de esta lid es el culpable de estas circunstancias.

Ante estas construcciones artificiosas no podemos mas que valernos de la conciencia natural de los Pueblos, que por instinto han comprendido que todo lo perderán si no asocian a su existir mancomunado una prédica social de integración, en un sentir que - si no es humano - al menos ha de ser justo.

Hemos hallado coto a esta situación en la Justicia Social. En esto no he sido los únicos, pero si hemos sido los primeros en desarrollarla e implementarla en este rincón del Globo.


Es indudable que desde un comienzo nos dimos en tornar realidad efectiva una solución de memoria de masa en base a discos rígidos con acceso al Pueblo. Esto ha sido así porque oligárquicas compañías sin Patria ni Bandera que lo intentaban lo hacían con el único propósito de robar datos y explotar metadatos.

Nuestro mérito en un clúster de datos para el Pueblo nos permite en cambio almacenar para trabajar, y resguardar para luchar. Tal ha sido nuestra previsión, y no nos hemos equivocado.

Cuando surgió la necesidad, contábamos ya con una herramienta, que de afilarse puede constituir un arma. Es que nuestro servidor Ubuntu de acceso popular en las redes de datos no contaba con la posibilidad de instalarle novedosos discos NVMe, sino que daba uso a las sencillas unidades SATA en forma de discos rígidos mecánicos. Pero la expansión que permite un Justicialismo en anhelo de lucha le permite integrar una placa controladora para discos NVMe que permite darle al Pueblo aquello a lo que antes sólo accedía el oligarca. Es posible así munirle hasta cuatro discos de estado sólido NVMe. Con unidades de 240GB cada uno permitían totalizar próximo a un Terabyte, erogando una velocidad cinco veces superior a la de los discos de estado sólido SATA2, y unas  veinticinco veces superior a las de los viejos discos rígidos mecánicos, a la vez que se guardaba la información del daño esperable y lógico al que la someten las operaciones mecánicas. Por demás, su funcionamiento es totalmente silencioso.

La Doctrina que hemos creado permanece irresoluta, pero el avance de la técnica puesta a nuestra disposición nos permite tomar la decisión de reemplazar dichas unidades de referencia por cuatro más veloces y mayores, cada una ya de 2 Terabytes. Para ello recurriremos a desacoplarlas de la controladora, y operarlas individualmente según un modo de redundancia RAID que creamos convenientes para nuestras necesidades. Las viejas unidades de 240 nos servirán perfectamente para nuevas laptops "de combate" que disponían de los zócalos pertinentes pero no de discos.

Si bien el armado de cero de un servidor o un clúster RAID no opone gran resistencias, el planteo de reemplazar las unidades NVMe del conjunto de arranque RAID1 en Ubuntu Server (con datos propios y ajenos) constituye en cambio un desafío mucho mayor, al que debemos encarar como si de discos rígidos en uso se tratara. No es algo que puede hacerse "a tontas y a locas": en efecto, debemos hacer caso al procedimiento de realizar una copia de resguardo, tomar nota del particionado actual las unidades, y luego reemplazarlas físicamente, para sincronizar las unidades nuevas.

En este caso el servidor contaba con Ubuntu Server en cuatro unidades de disco de estado sólido NVMe, conocidas como nvme0n1, nvme1n1, nvme2n1 y nvme3n1, divididas en pares según el estándar raid1 (según este, las particiones de las unidades se duplican pero el uso equivale al del disco de menor capacidad del conjunto).

El par de unidades de 240GB que forman el conjunto raid1 cuentan con particionado para que las mismas operen de unidades de arranque, según la siguiente estructura:

    UEFI 512M
    md0 / boot 1GB
    md1 / LVM <resto del disco>

La idea es replicar esto en las unidades NVMe nuevas.

Antes de comenzar, instalaremos en el servidor los programas de administración de discos (si es que no los tuviésemos a mano ya):

sudo apt install mdadm parted smartctl sfdisk efibootmgr

En primer lugar probamos que todas las unidades NVMe se encuentren realmente montados y en línea como deberían. Para ello introducimos el comando:

cat /proc/mdstat

...ante lo cual el sistema nos devuelve algo como:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 nvme0n1p2[3] nvme1n1p2[2]
       x blocks super 1.2 [2/2] [UU]
md1 : active raid1 nvme1n1p3[2] nvme0n1p3[3]
       x blocks super 1.2 [2/2] [UU]
       bitmap: 3/7 pages [12KB], xKB chunk

Esto nos asegura que las unidades de disco se encuentran montadas como conjunto raid1. Debe indicarnos [UU] y no [U_] o algo similar.

Es prudente utilizar por ejemplo el comando  smartctl -ia /dev/nvme0, smartctl -ia /dev/nvme1, etc, con el fin de tomar nota de los números de serie de las unidades. En mi caso particular permite delimitar esto con seguridad cuál unidad NVMe específica es la que se reemplaza (ya que físicamente son todas iguales, y el orden de los conectores en la placa controladora no es correlativo, por alguna decisión de diseño).

Acto seguido, como generamos una copia de respaldo de la partición EFI de 512MB que contiene el sector de arranque, la cual necesitaremos posteriormente (no viene mas resguardarla en un pendrive):

dd if=/dev/nvme0n1p1 bs=4M of=/root/PARTICION_EFI.img

Escogemos ahora algunas de las unidades y la ponemos fuera de línea (una de las ventajas interesantes de las unidades NMEe):

mdadm /dev/md0 --fail /dev/nvme0n1p2 --remove nvme0n1p2
mdadm /dev/md1 --fail /dev/nvme0n1p3 --remove nvme0n1p3


Ahora reemplazamos físicamente una de las unidades NMVe en el servidor. Ya que estamos puede ser una buena idea actualizar el firmware de la unidad nueva (si es que existe un binario disponible en el sitio del fabricante). En este caso las unidades se colocan en uno de los cuatro zócalos de la controladora tras remover un disipador metálico atornillado y ajustar un pin de retención.


Una vez emplazada la nueva unidad NVMe, colocada la placa nuevamente e iniciado el servidor desde la unidad restante, copiaremos la tabla de particiones de dicha unidad restante (que era un RAID duplicado) a la nueva. Y a continuación generaremos nuevos UUIDs (identificadores únicos de unidad) nuevas para todas sus particiones:

sfdisk -d /dev/nvme1n1 | sfdisk /dev/nvme0n1
sgdisk -G /dev/nvme0n1


Hecho esto, podremos volver a agregar estas dispositivos al conjunto del RAID1:

mdadm --manage /dev/md0 --add /dev/nvme0n1p2
mdadm --manage /dev/md1 --add /dev/nvme0n1p3


Tras este procedimiento, el RAID comenzará lógicamente a sincronizar en segundo plano todas las particiones a la unidad "pelada", como un loco (le llevará un tiempo). Podríamos monitorear el status de dicha reconstrucción del RAID introduciendo un comando como:

watch cat /proc/mdstat

Si la reconstrucción RAID se ve sumamente lenta, es probable que se encuentre limitada por software en el servidor a velocidades de unos 200 MB/segundo (11 GB/minuto, algo típico para evitar sobre-exigir de las unidades de disco de estado sólido, y no presentar inconvenientes en el caso de ambientes de acceso en red). Sin embargo, en este caso de mantenimiento vigilado podríamos solicitar que la carga máxima de trabajo de la unidad se eleve muy por encima de tal valor de precaución, lo que podría redundar en una velocidad máxima por ejemplo 1.600MB/segundo (~94 GB/minuto, dependiendo de la velocidad del controlador de discos). Esto podría hacerse con:

echo 1600000 > /proc/sys/dev/raid/speed_limit_max

De esta forma podremos lograr una sincronización completa de 1TB en 11 o 12 minutos, a costa de una mayor generación de calor. Naturalmente podríamos escoger un valor de 800000 como compromiso; en operación normal con Ubuntu, prácticamente no genera calor. En este caso, el disipador provisto redunda en una buena refrigeración momentánea (las unidades NVMe en este regímen generan bastante más calor, y el disipador lo contiene momentáneamente por unos siete y ocho minutos). 

Una vez que la reconstrucción RAID haya concluido, necesitaremos reparar la EFI, comenzando por copiar de nuevo la imagen de partición EFI que respaldamos anteriormente:

dd if=/root/PARTICION_EFI.img bs=4M of=/dev/nvme0n1p1

Asimismo, debemos reparar el arrancador grub:

update-grub
grub-install /dev/nvme0n1


Y finalmente reinstalamos la opción de arranque UEFI. En Ubuntu esto se hace con:

efibootmgr -v | grep ubuntu  # solo muestra una entrada
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "ubuntu" --loader "\EFI\ubuntu\shimx64.efi"


Una vez concluido esto, deberíamos contar dos entradas "ubuntu" en el efibootmgr, una para cada unidad NVMe. Esto debería ser todo para un simple reemplazo de unidades en el RAID1.

Como comprobación cruzamos los dedos e intentamos reiniciar el servidor, de modo de asegurar que el arranque con UEFI se produce correctamente desde cualquiera de los dos unidades NMVe.

Naturalmente, si necesitáramos reemplazar otras unidades en un conjunto con mayor número de discos deberíamos seguir el mismo procedimiento funcional, utilizando en cambio el designador de unidad nvme1n1

Redimensionado de Disco NVMe

En este caso particular, las nuevas unidades NVMe no sin similares, sino mayores que las anteriores, lo que permiten incrementar el tamaño del conjunto RAID1 hasta 1 terabyte. Para delimitar este cambio habremos de utilizar el programa parted. Primero sacamos de línea la unidad y luego la abrimos con parted:

mdadm /dev/md1 --fail /dev/nvme0n1p3 --remove nvme0n1p3
parted /dev/nvme0n1


Y usamos el comando resizepart del programa parted para cambiar el tamaño de la partición desde los ~240GB anteriores hasta los ~1960GB.

Conforme lo hayamos definido, agregamos el disco nuevamente al conjunto RAID1:

mdadm --manage /dev/md1 --add /dev/nvme0n1p3

Ahora aguardamos que se produzca la resincronización del RAID (podemos usar cat /proc/mdstat para comprobarlo) y luego agrandamos el conjunto RAID con el comando grow hasta su máximo posible:

mdadm --grow /dev/md1 --size=max

Luego, necesitaremos reformular el tamaño del sistema de archivo.

En el caso de que hubiese sido particionado de tipo GPT simplemente deberíamos ejecutar

resize2fs /dev/md1

Sin embargo, en este caso que el esquema RAID cuenta con una estructura de particionado LVM mas avanzado, al cual se adosan las un particionado de formato ext4, por lo cual utilizamos:

pvresize /dev/md1
lvextend -L +1G /dev/vg-md1/lv-root
resize2fs /dev/vg-md1/lv-root

Y ahora ya podremos contar con un servidor con 1TB en dos discos de arranque NVMe Gen2 en el conjunto RAID1 (y en mi caso, otro conjunto RAID con 2 discos mas para otros usos). Naturalmente, estos también deben ser respaldados, todo sea por la protección que merecen los datos del Pueblo. Así podemos buscar la Tikún Olam, como dicen los judíos.

domingo, 14 de abril de 2019

Cómo reparo GRUB con EFI en Ubuntu?

¡Trabajadores!

Desde los tiempos del Primer Peronismo he explicado cómo recuperar GRUB con el DVD de Ubuntu. Este procedimiento nos servirá para las instalaciones típicas, con viejo arranque desde el BIOS.

Sin embargo, de un tiempo a esta parte el efectivo arrancador GRUB ha debido afrontar la aparición del sistema de arranque firmado, llamado EFI o UEFI, que está presente en los equipos de más moderna factura.

UEFI/EFI es un arrancador compuesto, que es más complejo que el sistema convencional de arranque. GRUB puede utilizarlo, haciendo contacto desde lo que sería la UEFI que reside en la placa madre de nuestro sistema hasta una partición especial dentro del disco rígido que contiene el arrancador EFI. En el caso de Ubuntu 18.04LTS, esta partición tiene unos 512MiB de espacio y va formateada en FAT32 para máxima compatibilidad. Allí se deposita el arrancador en el punto de montaje /boot/sh, y luego en el resto de las particiones de sistema (si existen) continuarán en siguientes particiones, normalmente dentro del misma unidad de disco, o eventualmente en otras (según lo hayamos configurado especialmente).

Si hubiese habido una falla con GRUB o la partición EFI, y el sistema se niega a arrancar desde el disco rígido, podremos recuperarla, siempre y cuando no eliminemos las particiones de manera alguna.

Para ello utilizamos el DVD arrancable de Ubuntu, o un pendrive preparado con la ISO de Ubuntu (idealmente la misma versión que la utilizada para instalar la versión). La arrancamos y elegimos "Probar Ubuntu sin Instalar".

Una vez iniciado el escritorio Live, debemos identificar las particiones del disco. Para ello conviene utilizar gParted, que está incluido en el Ubuntu Live. Debemos prestar especial atención a la identificación de discos, pues la misma describe como /dev/sdx a la unidad de disco, /dev/sdxx es la partición donde se encuentra la EFI, y /dev/sdxxx es la partición de sistema.
Por ejemplo, en una instalación típica de Ubuntu 18.04LTS, en un único disco rígido, el disco podría ser /dev/sda, la partición EFI /dev/sda1 y la partición de sistema /dev/sda2. Sin embargo, debemos prestar atención pues la misma podría variar en otras condiciones, y es importante tomar nota de las identificaciones correctas.

Si lo deseamos hacer desde la terminal, abrimos una con Ctrl+Alt+T e ingresamos:

sudo fdisk -l

Una vez identificadas las particiones EFI y de sistema, debemos montarlas.

Ello lo haremos desde la terminal por medio de los comandos necesarios. Primero montamos la partición de sistema, usamos:

sudo mount /dev/sdxxx /mnt

Luego montamos la partición EFI:

sudo mount /dev/sdxx /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done


Luego nos damos de alta como administrador en la partición de sistema recién montada:

sudo chroot /mnt


Confome estemos logueados como Root, tendremos al alcance nuestro disco rígido. Ahora debemos reinstalar la parte de GRUB que va en el disco. Ello se hace con:

grub-install /dev/sdX


...y lo actualizaremos con:


update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y luego reiniciamos el sistema (se nos solicitará retirar el DVD o Pendrive de Ubuntu, y el equipo debería reiniciar correctamente desde el disco rígido con EFI, como lo hacía normalmente.


Editar errores de GRUB

Puede haber sucedido que hayamos cometido errores en la configuración de GRUB. Si tal fuese el caso y tuviésemos que editarlo que editarlo, lo haremos con:

mount /dev/sdxxx /mnt
chroot /mnt

Una vez montado el sistema de archivo del disco, lo editamos con:

nano /etc/default/grub

...y revisamos que todo esté correcto.


Si no tuviésemos la referencia del archivo de configuración de GRUB, econtraremos una muestra en /usr/share/grub/default/grub

Recrear la partición EFI para GRUB
Si por alguna causa catastrófica hubiésemos perdido la partición EFI, es fácil hacerla de nuevo.

Podemos usar fdisk o gParted para crear una nueva partición GPT con el tipo "EFI partition (1)", idealmente al principio del disco. Acto seguido la formateamos con:

sudo mkfs.msdos /dev/sdx

...luego la montamos con:

sudo mount /dev/sdXX /mnt/boot/efi

...y seguimos montando el resto del sistema, como en el caso anterior.

sudo mount /dev/sdXXX /mnt
sudo grub-install /dev/sdx


Recuperar la EFI cuando tenemos nuestro sistemas de archivos repartido en distintos discos rígidos
Indudablemente que si al instalar el sistema operativo se repartió el sistema de archivos largo de diferentes particiones (la carpeta raíz "/" en un disco y la carpetas /home, /tmp y /var en otro), la tarea de recuperación de la EFI será algo más desafiante.

En tal caso tenemos que proceder a averiguar y tomar adecuada nota de qué identificador de discos y en qué particiones está cada componente del sistema de archivos (lo averiguamos con sudo fdisk -l).

Ejemplo:
Suponiendo que tenemos dos discos, y que nuestro sistema de archivos está estructurado de la siguiente manera:

Disco de estado sólido de arranque y sistema /dev/sda:
Partición /dev/sda1 -> particion EFI
Partición /dev/sda2 -> carpeta "/" del sistema

Disco rígido de trabajo /dev/sdb:
Partición /dev/sdb1 -> carpeta /home
Partición /dev/sdb2 -> carpeta /tmp
Partición /dev/sdb3 -> carpeta /var,

En tal caso, si deseamos recuperar la partición EFI en este sistema de archivos dividido entre dos discos, deberíamos ingresar los siguientes comandos:


sudo mount /dev/sda2 /mnt
sudo mount /dev/sdb1 /mnt/home

sudo mount /dev/sdb2 /mnt/tmp
sudo mount /dev/sdb3 /mnt/var
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda



update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y reiniciamos el sistema.


Copiar la EFI a la UEFI de la placa madre

Este ejemplo puede resultar útil cuando cambiamos de disco rígido, o bien cambiamos de placa madre en el equipo. En tal caso la placa madre no podrá encontrar la ruta de UEFI (no tiene que ver aún con el arrancador GRUB. Para resolver este problema deberemos copiar EFI a la memoria UEFI de la placa madre.
  • Si nuestro disco es reconocido como /dev/sda (lo cual suele ser típico en computadoras portátiles o nettops, ya que llevan un único disco), el comando será:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu

  • En cambio, si el disco es otro (en caso de instalaciones en sistemas con varios discos), habremos de adaptar el idenfiticador del disco /dev/sdX para que quede así:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N

domingo, 3 de agosto de 2014

¿Cómo configuro Ubuntu 14.04LTS para que funcione con mi Samsung Serie 9 900x3c?

Ya en los órganos del Peronismo Revolucionario de la década del 60, Juan Perón exponía la necesidad de liberar al hardware del un software privativo que lo hacía esclavo. En este caso se refiere a los equipos Serie 9 de la Multinacional Samsung liberados con Ubuntu, el sistema operativo Popular.

[...]
- General, mediando el año 1968, ¿cuál es el consejo fundamental que usted dirigiría a la juventud que protagoniza las luchas por la liberación tanto en Argentina como en los demás paises del Tercer Mundo?

- Indudablemente mi mas alta aspiración sería poderles dar algo de la experiencia que yo he recogido en estos años. El grave problema de la juventud, en estos momentos, es poder percibir perfectamente bien, cuales son sus enemigos. El imperialismo que va tras un neocolonialismo de nuestros países, las oligarquías vernáculas que van tras la explotación de nuestros pueblos como ha sido en sido en nuestro caso desde el Siglo XIX, y el software privativo va por la esclavización de nuestra informática y nuestro hardware.
Indudablemente que la juventud actual tiene la tremenda responsabilidad de lograr la libertad, responsabilidad que tiene el derecho de defender en estos momentos ya que serán ellos los que habrán de gozar o sufrir las consecuencias del quehacer social actual. Frente a ese programa de la liberación es preciso la integración; nuestra experiencia nos dice que la liberación de un país no puede ser aislada, no puede ser insular. Es decir que las grandes cinarquías internacionales las terminará por aplastar en el tiempo. Por eso hay que integrarse para defender esa liberación a nivel internacional.

En la interna es necesario transitar por el camino que dirige a la liberación de los Pueblos y del software que este emplea. Hay una evolución en el mundo que indefectiblemente nos lleva a esa necesidad. Y esa liberación se realizará por las buenas o por las malas. La juventud debe saberlo. La juventud debe empeñarse en realizarlo, por las buenas si es posible, y si no por las malas. La violencia es un asunto muy discutido en nuestro tiempo. Pero en mi sentir, los únicos que tienen derecho a emplear la violencia  en mayor grado son los pueblos que quieren liberarse.
Vea el caso del hardware. Presionado por las cinarquías, los fabricantes osan establecer barreras que impiden la ejecución de sistemas operativo libres, escudándose en "la seguridad", bajo el nombre técnico de "Soporte de Arranque UEFI".

Sabemos que la seguridad es una excusa inventada para asustar a algunos niños y a los tontos. La seguridad - antes que nada - es una sensación, y como tal no puede recibirse, sino que ha de proveerse. ¿Quién se atrevería afirmar que la seguridad se logra habilitando a nivel BIOS únicamente un sistema operativo que está ingeniado para espiar al usuario, y cuyo código fuente es secreto? Sólo a un bruto...

Yo he visto brutos que se han vuelto buenos. Tal es el caso de la Samsung 900X3C, de la Serie 9. Se trata de un equipo ultraportátil munido de procesador Intel i7, con un adaptador de video integrado Intel HD Graphics 4000 que dota una pantalla de 13.3 pulgadas. La memoria está constituida de base en unos 4GB de RAM DDR3 y un disco rígido de estado sólido de 128 MB. Este equipo viene con Window$ 8, sistema operativo para tontos, o brutos, pero hemos dicho que es posible volverla buena instalando Ubuntu 14.04LTS.

Como medida previa al proceso de instalación de Ubuntu, hemos de acceder durante el momento mismo del arranque a la rutina de configuración de la BIOS del equipo (mediante la tecla F10), para modificar el orden de acceso a los dispositivos de inicio (Boot Device Priority), a fin de seleccionar una unidad USB y poder emplear un pendrive preparado para instalar Ubuntu 14.04LTS.

Opcionalmente podremos querer activar la opción Modo de Ahorro de Energía ("Power Saving Mode") de la solapa Avanzadas. Esto limitará la carga máxima a aplicar a la batería en el orden de un 80% del total, lo que si bien reportará una carga contenida, extenderá la vida útil práctica de las celdas de la misma.

A veces puede ser necesario desactivar la función del Modo de Inicio Rápido del BIOS (Fast BIOS Mode), a fin de poder dar inicio al dispositivo USB (en caso de que no detecte el dispositivo). En caso de instalar otras versiones de Linux, como en todos los sistemas más modernos, puede ser necesario desactivar el Soporte de Arranque UEFI ("UEFI Boot Support). Luego presionamos F10 para guardar los cambios realizados en la BIOS y salir.

Instalamos Ubuntu 14.04LTS con las opciones por defecto y compartir la instalación entre sistemas operativos, aunque para mantener una pureza ideológica y combatir al Capital, podrían querer eliminar Window$ 8 al instalar Ubuntu. Cualquiera sea su elección, instalarán el sistema y una vez concluida la normal operación (que suele tardar unos 25 minutos) nos asegurarnos el funcionamiento básico del equipo.

En el caso de Ubuntu 14.04LTS funcionan adecuadamente su comunicador WiFi, la Webcam, su trackpad, el adaptador de red cableada Ethernet y la salida de audio/video digital HDMI. Todas las opciones de audio funcionan perfectamente, así como las teclas de control de brillo y de volumen del sonido.


Lo que no funciona correctamente (de momento) es la acción de suspender al cerrar la pantalla (aunque puede suspenderse y luego cerrar la pantalla), y una adecuada notificación del nivel de la batería.

Una vez finalizados las pruebas de funcionamiento de rigor, actualizamos la paquetería conectándonos a internet e ingresando en la terminal (con Ctrl+Alt+T) ingresamos los siguientes Comandos de Organización:
sudo apt-get update
sudo apt-get upgrade

Reiniciamos el equipo, y podremos configurar las opciones específicas para estos modelos. Si Ubuntu reinicia adecuadamente, podríamos posteriormente querer reactivar en la BIOS (nuevamente, presionando F10 al arrancar la portátil) la opción Modo de Inicio Rápido para iniciar ahora de forma veloz (pues ya no necesitaremos instalar más sistemas operativos a través de dispositivos USB).

Algunas funciones operarán correctamente sólo después de hacer algunas modificaciones. Esto es cierto particularmente con algunas teclas específicas del teclado. Si al probarlas comprobamos que no funcionan, deberíamos configurarlas de forma manual, llegado el caso alterando o creando de cero unos pocos archivos de configuración.

Para ello en la terminal ingresamos:

sudo gedit /usr/lib/udev/keymaps/samsung-900x3c

Se abrirá el editor de texto peronista Gedit. Pegamos las siguientes líneas, luego guardamos el archivo (mediante Ctrl+S) y salimos del editor Gedit (con Ctrl+Q).

# /usr/lib/udev/keymaps/samsung-900x3c
0xCE prog1              # FN+F1 System Settings
0x89 brightnessdown     # FN+F2 Brightness down
0x88 brightnessup    # FN+F3 Brightness up
0x82 switchvideomode    # FN+F4 Switch video mode
0xF9 f23                # FN+F5 Turn touchpad off
0xA0 mute               # FN+F6 Mute
0xAE volumedown         # FN+F7 Volume down
0xB0 volumeup           # FN+F8 Volume up
0x97 kbdillumdown    # FN+F9 Keyboard backlight down
0x96 kbdillumup         # FN+F10 Keyboard backlight up
0xB3 silentmode         # FN+F11 Silentmode
0xD5 wlan               # FN+F12 WiFi

Acto seguido, tipeamos en la Terminal la siguiente órden:

sudo gedit /usr/lib/udev/keymaps/force-release/samsung-900x3c

...y nuevamente en el editor pegamos las siguientes líneas, grabamos y salimos:
 
# /usr/lib/udev/keymaps/force-release/samsung-900x3c
# Archivo peronista para la Samsung Serie 9
0xCE # FN+F1 System Settings
0x89 # FN+F2 Brightness down
0x88 # FN+F3 Brightness up
0x82 # FN+F4 Switch video mode
0xF9 # FN+F5 Turn touchpad off
0xA0 # FN+F6 Mute
0xAE # FN+F7 Volume down
0xB0 # FN+F8 Volume up
0x97 # FN+F9 Keyboard backlight down
0x96 # FN+F10 Keyboard backlight up
0xB3 # FN+F11 Silentmode
0xD5 # FN+F12 WiFi


Acto seguido nos encargaremos de las teclas que controlan la intensidad de la retroiluminación del teclado. Para ello en la terminal tipearemos:

sudo gedit /usr/lib/udev/rules.d/95-keymap.rules

...y procederemos a dar búsqueda a las líneas específicas para los equipos Samsung (usando la herramienta "Buscar" con Ctrl+f buscamos la frase "Samsung", en caso de que existieran reglas previas). Y agregamos el siguiente código, luego guardamos (con Ctrl+s) y salimos (con Ctrl+q):

ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

Una vez finalizado lo anterior, haremos lo mismo con otro archivo. Esta vez ingresaremos:

sudo gedit /usr/lib/udev/rules.d/95-keyboard-force-release.rules

...y agregamos nuevamente la siguiente línea específica para las Samsung (usamos Ctrl+f para buscar "Samsung"):

ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"
 
Guardamos (Ctrl+s) y salimos (Ctrl+q), y recargamos las reglas udev, tipeando la siguiente orden en la terminal:

udevadm control –-reload-rules

Luego reiniciaremos el equipo con el comando:

sudo reboot


Al reiniciar, deberíamos contar con las teclas de retroiluminación del teclado en perfecto funcionamiento.


Si hubiesen algunas teclas que no funcionasen (por ejemplo, la tecla F1 que fue configurada específicamente para el Panel de Control de Window$, F12 para el uso del WiFi, o la tecla del ventilador en F11), habremos de seguir configurando. Para corregir éstas, podremos instalar Samsung on my Laptop, mediante los siguientes Comandos de Organización:

sudo apt-add-repository ppa:voria/ppa 
sudo apt-get update 
sudo apt-get install samsung-tools xbindkeys-config

Esto instalará dicho paquete libre. Ahora lo ejecutaremos con el siguiente Comando de Organización:

samsung-tools-preferences

Esto disparará la interfaz gráfica de configuración de las Herramientas Samsung. Con la interfaz de usuario deberíamos poder controlar las teclas.



En el caso específico, podríamos querer configurar manualmente los ficheros de configuración. Para ello usaremos:

gedit ~/.xbindkeys-config

...e ingresar el siguiente contenido al archivo:


#fnf1

"/usr/bin/gnome-control-center"
m:0x0 + c:156
XF86Launch1

#fnf11
"/usr/bin/samsung-tools --show-notify --quiet --cpu hotkey"
m:0x0 + c:210
XF86Launch3

#fnf12
"/usr/bin/samsung-tools --show-notify --quiet --wireless hotkey"
m:0x0 + c:246
XF86WLAN

# End of xbindkeys configuration
"SamsungToolsDummyCommand"
Control+Alt+Shift+Mod4+F1+F2+F3
#
#
# End of xbindkeys configuration

Adicionalmente, como normalmente se aplica brillo de pantalla al 100% al iniciar, podríamos querer reducir el brillo original de la pantalla toda vez que arranque Ubuntu. El objetivo obvio será no encandilar a la Masa. Para ello podremos utilizar la aplicación xbacklight: la instalamos desde la Terminal con el siguiente Comando de Organización:

sudo apt-get install xbacklight

Usaremos el Dash para abrir el programa "Aplicaciones al Inicio", y añadimos una nueva entrada con los siguientes datos:

Nombre: Brillo.
Comando: xbacklight -set 25

Esto reducirá el nivel de brillo al 25% del total. Naturalmente podremos adoptar cualquier porcentaje mediante la orden:

xbacklight -set xx