jueves, 13 de abril de 2023

Instalar ROM personalizada en dispositivo Xiaomi (Redmi Note 8) usando Archlinux

En esta pequeña entrada voy a exponer de manera muy general, como instale una ROM personalizada a mi telefono Xiaomi Redmi Note 8 (Ginkgo) usando Arch.

Lo primer que debemos hacer es tener desbloqueado el bootloader de nuestro dispositivo, para esta tarea hay una muy buena guía de como hacerlo en la web de MundoXiaomi.com. Una vez listo nuestro dispositivo, vamos a descargar uno de los diferentes recoverys que podemos encontrar. Sólo conozco estos 3:

La descarga nos puede entregar un archivo Recovery.zip -para flashear directamente desde otro recovery- o un archivo Recovery.img -para flashear directamente desde modo fastboot- los dos archivos funcionarán (siempre que sean para nuestro dispositivo). También vamos a necesitar una ROM para instalar en el dispositivo, en telegram encontramos canales como GinkgoUpdates donde nos informan sobre nuevas ROMs o actualizaciones, o podemos buscar en los foros de XDA.

Bine, en mi caso descargue OrageFox y una ROM llamada Bootleggers 7.1. Atención! en mi caso no tengo ningun otro recovery, por lo que éste es el primero que instalaré y debo hacerlo en modo fastboot, por lo que debemos sacar el archivo recovery.img que se encuentra dentro del archivo Oragefox.zip. Ahora sí, para iniciar con esta guía debemos tener estos 3 archivos como en la siguiente imagen.

Ahora vamos a instalar las herramientas necesarias para trabajar con Android Debug Bridge Más conocido como adb. Escribimos:

   sudo pacman -S android-udev libmtp android-tools

Ya tenemos el comando adb disponible, ahora debemos conectar nuestro dispositivo en modo depuración usb, para ello activamos las opciones de desarrollador, así que vamos a configuración > acerca del telefono > número de compilación, y pulsamos 5 veces. Ahora vamos a configuración > sistema > opciones de desarrollador y habilitamos depuración usb.

Yo utilizo el kernel estandar de Arch y no tengo problema con los drivers de xiaomi, así que iniciemos con el proceso. Conectamo el cable usb (utilizo un cable generico de la marca 1HORA) y nos aparece el mensaje indicando que inicio la depuración usb. Veremos algo así:

Veamos si nuestro dispositivo es reconocido ejecutando la siguiente orden:

  adb devices

El dispositivo fue detectado. Debemos estar con el terminal en el directorio donde tenemos los archivos descargados, y ejecutamos las siguientes ordenes:

   adb reboot bootloader

   fastboot devices

   fastboot flash recovery recovery.img

Con las ordenes anteriores ya flasheamos el recovery en nuestro dispositivo, ahora al mandar la siguiente orden que es para de reiniciar el dispositivo, simultaneamente debemos pulsar el boton botón encendido y volumen + para iniciar el recovery que acabamos de instalar.

   fastboot reboot

Vamos a la mitad del proceso, sigamos. El dispositivo iniciará con OrageFox recovery, debemos flashear ahora utilizando el archivo OrageFox.zip para terminar de flashear correctamente. Para ello utilizaremos adb sideload. Para habilitar esta opción debemos estar dentro de OrageFox recovery y pulsar las 3 lineas (menu) que estan a la derecha en la parte de abajo y pulsar sobre ADB & Sideload, a continuación desliza la barrita de abajo para iniciar. Podemos ejecutar la siguiente orden para verificar que efectivamente nuestro dispositivo sea detectado:

   adb devices

Podemos observar que es identificado el dispositivo, ahora vamos a flashear el recovery completamente con la siguiente orden

  adb sideload OrageFox.zip

Finalizado el proceso reiniciamos el dispositivo y éste iniciará directamente en modo recovery y la imagen indicará que el flasheo fue correcto. Ahora vamos a instalar la ROM haciendo una limpieza. completa. Para ello en el menu de OrageFox hay un ícono de bote de basura, pulsamos ahí y seleccionamos: Dalvik/ART Cache, System, Data, Insternal Storage y Cache. Deslizamos la barra para iniciar el proceso.

Es hora de iniciar la instalación de la ROM, iniciamos el modo adb sideload, corremos la siguiente orden y esperamos a que el proceso finalice.

   adb sideload Bootleggers-7.1.zip

Con estos sencillos pasos tendremos un recovery listo para instalar ROMs.

¿Y ahora qué sigue?

Bueno, dejaré unos links de insteres para personalizar tu nueva ROM

Gapps

Importante revisar la version de Android compatible con el paquete a descargar.

Root

Desintalara apps preinstaladas

Debemos tener habilitada la depuración por usb, eso ya sabes como hacerlo. En mi caso, quiero quitar estas apps que no utilizo y vienen preinstaladas. Para saber el nombre de la app sólo debemos ver su información.

   adb shell

   pm uninstall -k --user 0 org.lineageos.jelly

   pm uninstall -k --user 0 com.caf.fmradio

Gracias por tu visita

domingo, 13 de noviembre de 2022

Instalar kernel personalizado para procesadores Ryzen

Uff! hace mucho que no escribo en el blog, de hecho, son varios años... Bueno, empecemos con una entrada sencilla para intentar tomar ritmo nuevamente.
Actualmente tengo un portatil con un Ryzen 5500U el cual se basa en la arquitectura Zen2, por lo que utilizo un kernel personalizado para este CPU que se encuentra disponible en AUR y es mantenido por eggz (NhaMeh), el pkg se llama linux-amd-znver2. La instalación es muy simple, al ser un paquete de AUR utilizaremos yay o el AUR helper que utilices. Debo aclara que este método descarga y compila el kernel por lo que dependiendo de la velocidad de tu internet, hardware y configuración, tardará más o menos tiempo.

  yay -S linux-amd-znver2

Básicamente es todo, sólo debemos esperar a que el proceso termine y tendremos instalado el kernel. Adicionalmente si necesitas las cabeceras recuerda instalar el paquete linux-amd-znver2-headers.

Si eres de los que no les gusta compilar, puedes agregar el repo donde se encuentran los binarios además de más kernels para testear.

Abrimos el archivo pacman.conf.

  sudo nano /etc/pacman.conf

Agregaremos el repo.

   [linuxkernels]
  Server = http://nhameh.ovh/$repo/$arch
  SigLevel = Optional TrustAll

Actualizamos.

  sudo pacman -Syy

Deberíamos ver el nuevo repo en la salida de la consola.
Bien, de estas dos forma es que podemos tener el kernel personalizado para cualquier CPU que sea arquitectura Zen2 de AMD. Si tienes un CPU de arquitectura Zen3 tienes en el mismo repo el kernel linux-amd el cual está optimizado para esa arquitectura.

Este repo tiene mas kernels para probar, Para listarlos utilizaremos la siguiente orden.

  pacman -Sl linuxkernels

Para conocer la descripción de cada kernel usaremos la siguiente orden.

  pacman -Si pkg_name

Como último paso, debemos actualizar las entradas que genera el grub. Esto lo hacemos con la siguiente orden.

  sudo grub-mkconfig -o /boot/grub/grub.cfg



B O N U S :

Optimización del proceso de compilación.

Para optimizar la compilación ajustaremos al archivo makepkg.conf. abrimos el archivo.

  sudo nano /etc/.makepkg.conf

Cambiaremos los siguientes ajustes en CFLAGS.

  -march=generic a -march=native

Básicamente al cambiar el parámetro generic a native, hacemos que GCC trate de identificar automáticamente nuestro CPU para utilizar las flags adecuadas para optimizar la compilación para nuestro CPU. Si eres desarrollador ya imaginas que pasa al habilitar este parametro, si no lo eres, no te preocupes.

Si quieres ver como GCC identifica tu CPU utiliza la siguiente orden y observa la salida de -mtune.

  gcc -v -E -x c /dev/null -o /dev/null -march=native 2>&1 | grep /cc1 | grep mtune

Mi CPU Ryzen 5500u es identificado como znver2. Aquí observamos porqué instalo este kernel.

Editaremos la opción MAKEFLAGS para ajustarla al punto de que nos de el mejor rendimiento. En mi equipo, la mejor opción es -j8.

Más información en la wiki de arch.


P R E C A U C I Ó N :

Recientemente se descubrió que pueden introducir paquetes maliciosos en AUR mediante dominios caducados. Más información aquí. No insinúo que este kernel sea malicioso por venir de AUR pero sí que debemos tener cuidado con lo que instalemos.

Gracias por tu visita

viernes, 28 de diciembre de 2018

Instalar software de AUR que no supera el control de validación

Primeramente esto NO ES RECOMENDABLE pues un software que no pasa un control de autenticidad es POTENCIALMENTE PELIGROSO. En mi caso utilizaré el programa xdman que está en AUR y da error de autenticación.

  yay -S xdman

Como podemos ver en la imagen, tenemos dos fuentes que son:
  • xdman.bin
  • xdm-2018-x64.tar.xz
  • Que son validadas mediante sha256sum: xdman.bin es aprobado pero xdm-2018-x64.tar.xz falla. Así que vamos a modificar el PKGBUILD para editar el hash sha256 y pase la validación.
    Yo utilizo yay y su directorio donde guarda las fuentes es ~/.cache/yay/NombrePrograma. Vamos a hashear el archivo xdm-2018-x64.tar.xz por que necesitamos ese hash para poner en el PKGBUILD y poder instalar xdman.
    Para hashearlo vamos a utilizar la orden sha256sum.

      sha256sum ~/.cache/yay/xdman/xdm-2018-x64.tar.xz

    Nos arrojará el hash.

      8ec152751c1b5d5cc06b793970fb6398f7c8e876b1badfc55e28658f45d692ed

    Ahora, vamos a editar el PKGBUILD. Yo utilizaré mousepad.

      mousepad ~/.cache/yay/xdman/PKGBUILD

    Aquí buscamos las lineas del hash sha256.
    Como podemos imaginar, hasheamos el archivo para arquitectura x64, así que la linea que vamos editar es sha256sums_x86_64 y colocaremos el hash que nos arrojó el archivo xdm-2018-x64.tar.xz.
    Quedaría así.

      sha256sums_x86_64=('8ec152751c1b5d5cc06b793970fb6398f7c8e876b1badfc55e28658f45d692ed')

    Ahora si, vamos a instalarlo con makepkg. Nos vamos al directorio donde está xdman, que en mi caso es:

      cd ~/.cache/yay/xdman/

    E instalamos.

      makepkg -si

    Como podemos analizar, es muy sencillo instalar software que no pase el control de validación. Pero como ya mencione, hay que tener cuidado.
    Esa fue la forma "difícil", pero si usas yay como yo, podemos simplificar todo lo que hicimos pasando el argumento --skipchecksums con --mflags a yay.
    Bien, la forma fácil es así:

      yay -S xdman --mflags --skipchecksums

    De esta forma también se saltará el control de validación y se instalará sin problemas.

    Gracias por tu visita

    viernes, 23 de noviembre de 2018

    Instalar LibreOffice con corrector ortográfico

    Como dice el título, en esta estrada veremos como instalar LibreOffice con corrector ortográfico y de paso instalaremos la extensión LanguageTool. Por lo general en las distros preconfiguradas ya viene todo instalado, pero como sabemos los usuarios de Arch, aquí no hay nada hecho y a un neófito se le hará extraño instalar LibreOffice y que éste no le ayude con la corrección ortográfica.
    En Arch tenemos dos ramas de LibreOffice: still y fresh. La primera es una rama de mantenimiento (más estable) mientras que la segunda es la rama actualizada con lo más nuevo. Instalen la versión que más les guste.
    Vamos a la acción. Instalaremos lo necesario: en mi caso soy de México así que necesito el diccionario hunspell-es_mx, ustedes instalen el correspondiente.

      sudo pacman -Sy libreoffice-still-es hunspell hunspell-es_mx jre8-openjdk

    Para buscar el diccionarios utilicen:

      pacman -Ss hunspell

    Bien, ahora vamos por la herramienta LanguageTool siguiendo esta liga lo podremos descargar.

    N O T A :
    Al momento de escribir esta entrada, la versión de LaguageTool es la 4.3 y la versión de LibreOffice-still es la 6.0.
    Ahora abrimos LibreOffice y nos vamos a Herramientas > Gestor de extensiones > añadir y buscamos en nuestra carpeta de descargas el archivo LanguageTool-4.3.oxt, con esto ya tendremos instalada dicha extensión.
    Terminamos! Así de simple tendremos listo LibreOffice.

    Para tener mayor información, te invito ha visitar la wiki.
    https://wiki.archlinux.org/index.php/Libreoffice
    https://wiki.archlinux.org/index.php/LibreOffice_(Español)

    Gracias por tu visita

    sábado, 3 de noviembre de 2018

    Alterntivas a yaourt (AUR helpers)

    Quizá y esta estrada está a destiempo, pero seamos honestos, los recien llegados a arch por lo general no saben sobre el tema de yaourt.
    Sencillamente la mejor información la encontrarán en la wiki de arch en AUR helpers. Para los que no quieran informarse y elejir un AUR helper de la lista de la wiki puede segir leyendo, que a continuación instalaremos uno de forma sencilla. A un así te recomiendo leerte el link.
    Bien, en esta guía instalaremos Yay que es el AUR helper que yo utilizo. Primeramente iremos a este link y buscaremos yay.
    Nos saldrán varios resultados, elegiremos entre yay, yay-bin o yay-git.
    Elegiremos yay "a secas". Veremos su información y la Git Clone URL que es la que nos interesa.
    Entramos a la acción, ahora tiraremos unas ordenes al terminal. Primero instalaremos los que vamos a necesitar, que en este caso es git

      sudo pacman -Sy git

    Ahora clonaremos yay con la dirección de Git Clone URL.

      git clone https://aur.archlinux.org/yay.git

    Entramos al directorio.

      cd yay/

    Y tiramos aun makepkg que instalará las dependencias faltates, construira el paquete y lo instalará utilizando pacman.

      makepkg -si --clean

    Básicamente es todo, con esto ya tendremos instalado yay en nuestro sistema, y para mayor comodidad se utiza de forma similar a pacman, aun así lee el manual para mayor información. Ahora bien, si no es de tu agrado yay puedes instalar cualquier aur helper utilizando yay
    Gracias por tu visita