openSUSE Leap 15.3 安裝小記
openSUSE Leap 15.3 安裝小記
openSUSE Leap 15.2 Lifetime 到 2021/11
15.3 可以撐到 2022/11
趕在雙十一過後才認命的動手安裝 openSUSE Leap 15.3
安裝前處理
使用 imagewriter 建立 openSUSE 安裝USB
整理 /home/sakana 目錄
使用 du -h --max-depth=1 /home/sakana 檢查
清掉不要的檔案, 特別是 ~/.cache , ~/.config 內兩大瀏覽器內有站很大空間的 cache ( 這次趕時間就沒有這樣做 )
因為有很多相關的 config 在個人家目錄內, 所以先把舊的 openSUSE Leap 15.1 的 /home 目錄, 使用# tar cvf home.tar /home 進行打包到隨身碟 ( 不要使用 .gz 方式, 會比較快速 )
新機器再使用 tar 指令還原回來
這次先在 console F1 使用 root 使用者 tar 檔案在 /root/sakanahome.tar 然後將 /home/sakana 變更為 /home/sakana.tar, 將解壓縮的檔案直接移動過去
這次也是使用 USB 來進行安裝,
== 安裝過程小記==
這次建立的時候我還是選擇 GNOME 桌面
磁碟區分割的部分, 使用引導的方式安裝, 因為一直出線開機分割區的警告, 所以我就用引導模式
刪除所有分割區
建立獨立分割區 XFS
根目錄取消 Btrfs 快照
===============
Network Manager:
openSUSE Leap 15.3 預設為 Network Manager
Google Chrome:95.0
https://www.google.com/intl/zh-TW/chrome/browser/
還是會有驗證性問題, 但是功能沒有差異
為了進行google 登入,先使用 Google 驗證App, 後面來處理yubikey
home 資料回復:
因為有很多相關的 config 在個人家目錄內, 所以先把舊的 openSUSE Leap 15.0 的 /home 目錄, 使用# tar cvf home.tar /home 進行打包到隨身碟 ( 不要使用 .gz 方式, 會比較快速 )
新機器再使用 tar 指令還原回來
這次先在 console F1 使用 root 使用者 tar 檔案在 /root/sakanahome.tar 然後將 /home/sakana 變更為 /home/sakana.tar, 將解壓縮的檔案直接移動過去
Notes
Ifconfig 預設沒有安裝, 要使用 ip address show
關閉GNOME裡面的搜尋功能預設關閉 (點選右上角的設定按鈕), 因為我覺得用不到
中文輸入法問題:
不知道為何我的 gcin and ibus 同時存在
所以我就把 ibus 移除了
取消 USB 為安裝來源:
# yast2 repositories
Freemind:
因為 Freemind 沒有在 Leap 15.3 看到
所以嘗試使用 snapd 的方式來安裝, 參考官方網頁
安裝方式紀錄
# zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.3 snappy
# zypper --gpg-auto-import-keys refresh
# zypper dup --from snappy
# zypper install snapd
Additional rpm output:
Please reboot, logout/login or source /etc/profile to have /snap/bin added to PATH.
On a Tumbleweed and Leap 15.3+ systems you need to run: systemctl enable snapd.apparmor.service
可以重開機, 登出登入, 讓 路徑變數內有 /snap/bin 這個路徑
在 X 11 下就是開一個新的終端機切換為 root, 檢查 $PATH
建議使用重開機的方式
# systemctl enable snapd
# systemctl start snapd
# systemctl enable snapd.apparmor
# systemctl start snapd.apparmor
# snap install freemind
實際上要重開機才會生效, 使用者應用程式才找的到
將.mm 的檔案指定用 freemind 開啟
新增 Packman 套件庫:
使用 #yast2 repositories 加入社群版本的Packman
#yast2 repositories
除了 Packman 順便加入 nVidia 套件庫
Firefox Sync:
登入 Firefox Sync, 會處理之前有下載的 Plugin
例如 https://addons.mozilla.org/zh-TW/firefox/addon/video-downloadhelper/
這次因為沒有刪除 .cache 的關係, 所以好像相關設定都在
flash-player:
# zypper install flash-player
Telegram desktop:
最後的解法是 使用 Web 的方式來使用 Telegram
軟體 ( Flatpak ) 安裝可以輸入中文 - 但是版本太舊會被 Telegram 說會被停用
snap 版本 / 下載 telegram 的 .xz 解壓縮, 不能輸入中文
在 ~/.local/share/applications 目錄下找出 telegram-desktop.desktop 設定檔, 加入 QT_IM_MODULE=gin 也無效
播放器:
Codecs 的部分參考網路上找到的
# zypper install opi
# opi codecs
這邊會裝 ffmpeg-4 以及一堆套件
之後就可以使用播放器看 .mp4
Skype:
使用網頁版的 Skype 不另外安裝
因為網址都會被轉到 www.pchomeskype.com.tw 太煩了
GNOME Extension:
參考調校小記
主要是裝 chrome 內的 GNOME Shell integration
然後到 https://extensions.gnome.org/
選想裝的 Extension, 調爲 on 就好
裝了
TopIcons Plus
NetSpeed
.7z 支援:
# zypper install p7zip
imagewriter:
# zypper install imagewriter
用來製作開機 USB
rdesktop 安裝與測試:
#zypper install freerdp
執行方式
#xfreerdp -g 1280x1024 -u administrator HOST_IP
修改 LS_OPTIONS 變數
# vi /etc/profile.d/ls.bash
把 root 的 LS_OPTIONS 的 -A 移除
修改 HISTSIZE 變數
# vi /etc/profile
修改 HISTSIZE 的筆數
ansible 安裝:
目前版本 2.9.21
#zypper install ansible
變更主機名稱:
#yast2 lan
Dropbox 135.4.421版 :
openSUSE Leap 15.3 預設不支援 dropbox
參考官方網站上面斷頭的安裝方式來安裝
> cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
接下來,請從新建立的 .dropbox-dist 資料夾執行 Dropbox 精靈。
> ~/.dropbox-dist/dropboxd
順便安裝 Nautilus 相關套件
# zypper install nautilus-extension-dropbox
Filezilla 安裝:
#zypper install filezilla
Azure-cli 安裝:
版本: 2.30.0
參考
http://sakananote2.blogspot.com/2018/07/kubernetes-in-azure-with-opensuse-leap.html
https://docs.microsoft.com/zh-tw/cli/azure/install-azure-cli-linux?pivots=zypper
匯入 rpm key
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
新增 Azure CLI 的 repo
# zypper addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli
安裝 azure-cli 套件
# zypper install --from azure-cli -y azure-cli
使用互動的方式登入 azure ( 現在已經不需要輸入機器碼, 直接驗證帳號就可以 )
> az login
AWS Cli 安裝:
版本: 2.3.6
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip awscliv2.zip
# ./aws/install
# aws --version
aws-cli/2.3.6 Python/3.8.8 Linux/5.3.18-59.10-default exe/x86_64.opensuse-leap.15 prompt/off
將補齊的指令 寫到或是修改到個人家目錄的 .bashrc 內
echo "complete -C '/usr/local/bin/aws_completer' aws" >> /root/.bashrc
Google Cloud SDK ( gcloud )安裝:
參考 http://sakananote2.blogspot.com/2019/04/gsutil-google-cloud-storage-in-opensuse.html
安裝 gcloud
但是目前實務上是使用容器的方式來執行
使用一般使用者安裝
> tar zxvf google-cloud-sdk-305.0.0-linux-x86_64.tar.gz
> ./google-cloud-sdk/install.sh
透過 gcloud 安裝 kubectl
> gcloud components install kubectl
確認版本
> kubectl version --client
Visual Studio Core 相關 :
安裝 git
# zypper install git
參考 http://sakananote2.blogspot.com/2019/01/visual-studio-code-with-opensuse-leap-15.html
安裝 vscode
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
# sh -c ' echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/vscode.repo '
# zypper refresh
# zypper install code
安裝 vscode extension ( 這次沒有作, 因為將舊的 /home 還原回來, 另外目前 vscode 也有同步機制 )
AWS Toolkit for Visual Studio Code
Bracket Pair Colorizer
Code Time
Git Graph
GitHub Pull Requests
GitLens
Kubernetes
Python
REST Client
GitHub Pull Requests and Issues
PPSSPP 安裝:
#zypper install ppsspp
Podman 安裝:
參考官方網頁
# zypper install podman
看起來目前的階段 docker 與 podman 還是要並存 - 生態系支援與 rootless podman 相關考量
Docker 安裝:
目前版本 20.10.9
#zypper install docker
將使用者 sakana 加入 docker 群組
# usermod -a -G docker sakana
#systemctl start docker
#systemctl enable docker
PPPoE 設定:
目前光世代有配一個固定 IP
參考 http://sakananote2.blogspot.com/2021/05/nmcli-network-manager-pppoe-ip.html
設定 PPPoE 以及固定 IP
這個版本沒有安裝的, 以後要安裝就看之前的筆記
http://sakananote2.blogspot.com/2019/08/opensuse-leap-151.html
Sqlitebrowser
VMware workstation Pro 15
Nextcloud client 安裝, crontab 設定
PDF Viewer - Foxit:
hexchat
youtube-dl
Yubico Key ( 現在 google 已經可以直接手機驗證 )
smartgit 安裝 ( 現在使用 vscode )
這樣又可以再戰一年 :p
~ enjoy it
參考
http://sakananote2.blogspot.com/2020/08/opensuse-leap-152.html
http://sakananote2.blogspot.com/2019/08/opensuse-leap-151.html
http://sakananote2.blogspot.com/2019/01/opensuse-leap-15-2.html
http://sakananote2.blogspot.com/2017/11/opensuse-leap-423.html
http://sakananote2.blogspot.tw/2017/07/opensuse-leap-423-beta.html
http://sakananote2.blogspot.tw/2016/11/opensuse-leap-422.html
http://sakananote2.blogspot.tw/2016/12/opensuse-leap422-gnomeextension.html
http://sakananote2.blogspot.com/2018/07/kubernetes-in-azure-with-opensuse-leap.html
http://sakananote2.blogspot.com/2019/01/visual-studio-code-with-opensuse-leap-15.html
http://sakananote2.blogspot.com/2019/03/aws-cli-with-opensuse-leap-15.html
Actualización de noviembre del 2021 de KDE Frameworks
Pasdo ya del 25 aniversario de KDE, siguen las entradas recurrentes de las actualizaciones mensuales de rigor que demuestra que los desarrolladores de KDE no dejan de trabajar en sus librerías. Así que se congratulan en anunciar la actualización de noviembre del 2021 de KDE Frameworks. Con esta se llega a la versión 5.88, un suma y sigue de compromiso y constancia que no parece que tenga un final cercano.
Actualización de noviembre del 2021 de KDE Frameworks
A pesar de que para los usuarios corrientes esta noticia sea algo confusa ya que no se trata de realzar una nueva aplicación ni de una nueva gran funcionalidad del escritorio, el desarrollo de KDE Frameworks tiene repercusiones directas en él a medio y largo plazo.
La razón de esta afirmación es que KDE Frameworks es básicamente la base de trabajo de los desarrolladores para realizar sus aplicaciones, es como el papel y las herramientas de dibujo para un artista: cuanto mejor sea el papel y mejores pinceles tenga, la creación de una artista será mejor.

De esta forma, las mejoras en KDE Frameworks facilitan el desarrollo del Software de la Comunidad KDE, haciendo que su funcionamiento, su estabilidad y su integración sea la mejor posible.
El sábado 13 de noviembre de 2021 ha sido lanzado KDE Frameworks 5.88, la nueva revisión del entorno de programación sobre el que se asienta Plasma 5, el escritorio GNU/Linux de la Comunidad KDE, y las aplicaciones que se crean con para él.
Hay que recordar que los desarrolladores de KDE decidieron lanzar actualizaciones mensuales de este proyecto y lo están cumpliendo con puntualmente. La idea es ofrecer pocas pero consolidadas novedades, a la vez que se mantiene el proyecto evolucionando y siempre adaptándose al vertiginoso mundo del Software Libre.
Una gran noticia para la Comunidad KDE que demuestra la evolución continua del proyecto que continua ganando prestigio en el mundo de los entornos de trabajo Libres.
Más información: KDE
¿Qué es KDE Frameworks?
Para los que no lo sepan, KDE Frameworks añade más de 70 librerías a Qt que proporcionan una gran variedad de funcionalidades necesarias y comunes, precisadas por los desarrolladores, testeadas por aplicaciones específicas y publicadas bajo licencias flexibles. Como he comentado, este entorno de programación es la base para el desarrollo tanto de las nuevas aplicaciones KDE y del escritorio Plasma 5.

Aquí podéis encontrar un listado con todos estos frameworks y la serie de artículos que dedico a KDE Frameworks en el blog,
Recuerda que puedes ver una introducción a Frameworks 5.0 en su anuncio de lanzamiento.
#openSUSE Tumbleweed revisión de la semana 45 de 2021
Tumbleweed es una distribución «Rolling Release» de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

openSUSE Tumbleweed es la versión «rolling release» o de actualización continua de la distribución de GNU/Linux openSUSE.
Hagamos un repaso a las novedades que han llegado hasta los repositorios esta semana.
El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este este enlace:
Tumbleweed cuando toma un ritmo se mantiene si nada lo impide. Así es como esta semana se han publicado 5 nuevas snapshots: 1104, 1105, 1106, 1107 y 1110.
Los cambios más notables que han llegado a los repositorios de Tumbleweed son:
- Mozilla Thunderbird 91.3.0
- Mozilla Firefox 94.0.1
- KDE Gear 21.08.3
- Meson 0.59.4
- GNOME 41.1
- Libvirt 7.9.0
- Más mejoras para rpmlint 2
Y pronto llegarán más actualizaciones. Entre las más importantes podemos destacar:
- Coreutils 9.0
- X.org server 21.1
- XEN 4.16.0
- Linux kernel 5.15.1
- Rust 1.56
- ICU 70.1
- tbb 2021.4
- gc 8.2.0
- openSSL 3.0
Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.
Mantente actualizado y ya sabes: Have a lot of fun!!
Enlaces de interés
-
-
- ¿Por qué deberías utilizar openSUSE Tumbleweed?
- zypper dup en Tumbleweed hace todo el trabajo al actualizar
- ¿Cual es el mejor comando para actualizar Tumbleweed?
- Comprueba la valoración de las «snapshots» de Tumbleweed
- ¿Qué es el test openQA?
- http://download.opensuse.org/tumbleweed/iso/
- https://es.opensuse.org/Portal:Tumbleweed
-

——————————–
Programa de charlas de Akademy-es 2021 en línea #akademyes
Como ya sabréis este año se celebra Akademy-es 2021 de nuevo en línea por motivos de sobra conocidos por todo el mundo Hoy viernes se ha publicado el programa de charlas de Akademy-es 2021. Léelo y seguro que encuentras más de una razón para acompañarnos.
Programa de charlas de Akademy-es 2021 en línea #akademyes
Del 19 al 21 de noviembre Akademy-es 2021 se celebrará en línea, el evento más importante para los desarrolladores y simpatizantes de KDE, organizado por KDE España.
Este año se volvemos a tener un gran programa de ponencias, que van desde lo último en Plasma y en proyectos KDE pasando por temas de hardware, programación, ciberseguridad y privacidad.
Y si no te lo crees simplemente échale un vistazo al programa.

Viernes 19
- 18:30 – 20:30 Taller Producción de podcast KDE Express con Software Libre – David Marzal
Se tratarán utilidades como Audacity, ffmpeg, VLC, Konsole, bash, Dolphin, Kate, Hugo, Gitlab Pages, Firefox
Sábado 20
12:00 – 12:10 Ceremonia de apertura – Adrián Chaves, presidente de KDE España
12:10 – 12:50 La colección de parches KDE Qt 5.15 – Albert Astals Cid, desarrollador de KDE
12:50 – 13:40 Kdenlive – Juan Febles, editor de Podcast Linux
13:40 – 14:30 Kalendar – Claudio Cambra, desarrollador de KDE
14:30 – 15:10 Nuevos horizontes en Linux Multimedia con PipeWire – Julián Bouzas, Equipo de Multimedia de Collabora
Descanso
17:00 – 17:50 10 trucos de KDE – Baltasar Ortega, secretario de KDE España
17:50 – 18:40 LliureX se pasa a KDE – Enrique Medina Gremaldos, Lliurex
18:40 – 19:30 Asterisk y las comunicaciones libres – Jesús Pacheco, asesor informático
19:30 – 20:00 Charlas relámpago
Las charlas relámpago tendrán una duración de aproximada entre 5 y 10 minutos.
20:00 – 20:40 ¿Qué es KDE España y a qué se dedica? – Junta KDE España
22:00 Programa social
Domingo 21
12:00 Comienzo de la sesión del domingo
12:10 – 12:50 Wiki Loves, los concursos de fotografía en Wikipedia, Santiago Navarro Sanz, vocal de Wikimedia España, y editor de Wikipedia y de Wikimedia Commons
12:50 – 13:40 Eclipse Foundation – Agustín Benito, Oniro Program Manager
13:40 – 14:30 Firmas digitales en ficheros PDF con Okular – Albert Astals Cid, desarrollador de KDE
14:30 – 15:00 Charlas relámpago
Las charlas relámpago tendrán una duración de aproximada entre 5 y 10 minutos.
Descanso
17:00 – 17:25 Contratos marco de desarrollo y cláusulas de propiedad intelectual – Marelisa Blanco, nolegaltech
17:25 – 17:50 Blockchain y software libre – Mar Diez Henao, nolegaltech
17:50 – 18:40 Plasma Mobile y openSUSE en Pinephone – Adrián Campos, desarrollador de KDE
18:40 – 19:10 Charlas relámpago
Las charlas relámpago tendrán una duración de aproximada entre 5 y 10 minutos.
19:15 – 20:00 Hardware y KDE – Aleix Pol, desarrollador de KDE y presidente de KDE e.V.
20:00 – 20:10 Clausura Akademy-es 2021 – Adrián Chaves, presidente de KDE España
Nota: Las charlas y horarios pueden sufrir ligeras modificaciones dependiendo de la disponibilidad de los ponentes
Vía: KDE España
openSUSE Tumbleweed – Review of the week 2021/45
Dear Tumbleweed users and hackers,
Tumbleweed keeps being predictable when it comes to the update cadence. This week, we could publish 5 fully tested snapshots (1104, 1105, 1106, 1107, and 1110).
The main changes contained in these snapshots were:
- Mozilla Thunderbird 91.3.0
- Mozilla Firefox 94.0.1
- KDE Gear 21.08.3
- Meson 0.59.4
- GNOME 41.1
- Libvirt 7.9.0
- More improvements to rpmlint 2
Based on the staging projects and the snapshot currently under build, we predict to be able to deliver these items soon
:
- Coreutils 9.0
- X.org server 21.1: the reported DPI change has been reverted, as it was much more intrusive than anticipated
- XEN 4.16.0
- Linux kernel 5.15.1: in a later step, the compression method for kernel modules will be changed from xz to zstd
- Rust 1.56
- ICU 70.1
- Bash: moving away from update-alternatives to handle /bin/sh; To allow busybox to step in as ‘sh’ provider, we are switching to a package replacement model (e.g. bash-sh, busybox-sh). Those packages will install the relevant /bin/sh symlinks
- tbb 2021.4: breaks opencv3
- gc 8.2.0: breaks texlive and guile
- openSSL 3.0: No visible progress in the staging. Main blockers so far seems to be python 3.6 and python-cryptography
Haz crecer un bonsai en la terminal de Linux
Un script de bash hace crecer un bonsai completo en la terminal de tus sistema GNU/Linux ¿No es justo lo que necesitabas?

En la terminal de nuestros sistemas GNU/Linux se pueden realizar muchas tareas y configuraciones del sistema, pero siempre es una herramienta que suele ser intimidatoria para las personas que llegan a GNU/Linux.
Pero además de todas esas cosas serias que se pueden hacer en la terminal, también hay tiempo para hacer cosas más divertidas (si eres un friki) en la terminal, por ejemplo ver crecer un bonsai…
Hace un tiempo en el blog ya pudiste leer un artículo sobre algo tan poco útil pero quizás sí friki como es cowsay, en este artículo veremos algo igual de poco útil, pero sí friki y divertido. Además de disponer del código fuente para ver cómo se ha programado.
Se trata de ver cómo crece un bonsai en nuestra terminal. Tenemos dos opciones, una escrita en un script de Bash y la otra escrita en C y disponible en los repositorios de varias distribuciones de GNU/Linux.
Ambas escritas por John Allbritten, disponibles en su repositorios de GitLab y publicadas bajo licencia GNU GPLv3.
Bonsai escrito en Bash
La primera opción es un script de bash que hace crecer un bonsai en nuestra terminal y que admite varias opciones. Para poder disfrutar de ello abriremos una terminal y descargamos el script mediante:
wget https://gitlab.com/jallbrit/bonsai.sh/-/raw/master/bonsai.sh -O bonsai.sh
Le damos permisos de ejecución al archivo mediante: chmod +x bonsai.sh
Y lo ejecutamos mediante: ./bonsai.sh
Para echar un vistazo a la ayuda le podemos añadir la opción -h. Podemos hacer crecer bonsais más grandes, ver cómo crece en directo, añadir un mensaje, etc…
Puedes hacer que estén creciendo diferentes bonsais en un bucle infinito.
Si tienes curiosidad de cómo funciona, abre en un editor el script y diviértete añadiendo funcionalidades, tus propias opciones, etc.
Tienes el código en GitLab:
Cbonsai en los repositorios
El script en bash anterior ha crecido hasta convertirse en un programa escrito en C que realiza la misma tarea y que está disponible en los repositorios de la mayoría de distribuciones de GNU/Linux.
También tiene algunas funcionalidades que el script en bash no tenía. Por ejemplo el modo protector de pantalla, para dejar el script creciendo mientras no estás trabajando con tu equipo y demostrar que eres muy friki.
Tienes el código en GitLab
Estos programas se basan en un generador de bonsais escrito en Javascript, del que también tienes disponible el código fuente.
Más allá del frikismo y de la curiosidad es una buena manera de empezar a destripar el código y aprender cosas nuevas… y darle un toque interesante a nuestra terminal.
El software lo conocí gracias a una captura de pantalla del usuario nemonix en el foro de openSUSE, así que gracias por ese descubrimiento 
¿Te animas a probarlo en tu equipo? ¿Ya lo conocías?

Celebrating 30 years of Linux - is 2021 finally the year of the Linux desktop?
Celebrating 30 years of Linux - is 2021 finally the year of the Linux desktop?
My favorite Linux insider joke is that “The year of the Linux desktop is always next year”. Each year there is a new technology which is expected to achieve breakthroughs. I was asked almost a decade ago to give a talk about this topic. I proved to my audience that the year of the Linux desktop is already here, just not the way most Linux users expect it. Hopefully it will be even easier now!
Linux was born 30 years ago.
I started to use Linux just three years later. The first machine where I installed Linux was an i486 box with 8 MB (not GB!) of RAM. I brought Linux home on floppy disks and did not install a graphical user interface (GUI). Next I installed Linux on an i386 box with 16 MB of RAM, an unbelievably large RAM size at that time. I made my first steps with a GUI on Linux there. I used the FVWM2 window manager on top of X11 and ran Netscape Navigator to browse the web.
Read the rest of my blog at https://www.mndwrk.com/blog/celebrating-30-years-of-linux-is-2021-finally-the-year-of-the-linux-desktop
Confirmadas las jAkaranas de València y Almería de #akademyes 2021
Con el programa a punto de publicarse me complace anunciar también que ya han sido confirmadas las jAkaranas de València y Almería de #akademyes 2021, es decir, sitios físicos donde reunirse con nuestros compañeros del Software Libre y celebrar la Akademy-es de este año.
Confirmadas las jAkaranas de València y Almería de #akademyes 2021
A pocos días del comienzo de Akademy-es 2021 en línea, que se celebra del 19 al 21 de noviembre, y a horas de que se publique su programa de charlas, me congratula anunciar que se han confirmado dos jAkaranas donde poder disfrutar evento online de forma presencial, es decir, contando con la compañía de los simpatizantes del proyecto KDE.
Las ciudades que han confirmado sus jAkaranas son:
-
Almería, sábado 20 de noviembre
- Localización: Sala de audiciones del Teatro auditorio de El Ejido Plaza del Teniente Arturo Muñoz, El Ejido, Almeria, Andalucia, 04700, Espanya
-
Valencia, sábado 20 de noviembre
- Localización: Linux Center C/ Ronda de la Química s/n Edificio ABM L’Andana, 7ª planta (Frente a Parque Tecnológico) 46980 Paterna, Valencia
- Se requiere registro. Pronto más información.

¿Qué es una jAkarana?
La idea de una jAkajarana es similar a una Akademy o Akademy-es presencial, pero en lugar de celebrarse en un único lugar, se celebrarán en varios lugares de forma simultánea. Todas las jAkajarana están integradas dentro de la Akademy-es de este año: durante la jAkajarana se proyectarán las charlas que se impartan en la Akademy, pero sobre todo permitirán socializar y conocer en persona a los otros asistentes y a los colaboradores de KDE de tu ciudad.
- Podrás seguir en directo las actividades online de Akademy-es con otros asistentes
- Podrás ver en vivo las charlas impartidas por ponentes de tu ciudad
- Podrás conocer a colaboradores de KDE en persona
- Habrá actividades sociales especiales en cada jAkarana
Organiza una jAkarana
Así que ya sabes, si no ves tu ciudad en la lista y quieres organizar una jAkarana, envía un cooreo a akademy-es-org@kde-espana.org, contando:
- Tu nombre y si habría más colaboradores locales
- Dónde quieres hacerla (en qué localidad)
- ¿Contrarías con algún local para realizar el evento?
- ¿Se te ocurre alguna actividad social específica para realizar?
Kurz práce v příkazové řádce Linuxu nejen pro MetaCentrum 2022
Nebojte se příkazové řádky Linuxu! Je to mocný a přívětivý nástroj umožňující efektivně zpracovat i velká data a zautomatizovat činnosti. Prakticky shodně funguje příkazová řádka i v Apple macOS, BSD a dalších UNIXových systémech, nejen v Linuxu. Kurz je vhodný pro úplné začátečníky i mírně pokročilé. Jediným vstupním požadavkem je zájem (nebo potřeba) pracovat v příkazové řádce, typicky na linuxovém výpočetním serveru.
Installing openSUSE Tumbleweed on the Enclustra Mars MA3
As part of my school internship at TEM Messtechnik I got the oppertunity to work on the Enclustra Mars MA3, a FPGA SoC with two ARMv7 cores. This post describes the process of getting Linux (more precisely, openSUSE Tumbleweed) to work on this SoC.
Requirements
In order to build and install all the needed files, you’re gonna need the following:
- 1x Enclustra Mars MA3
- 1x Enclustra Mars EB1
- A computer capable of running Linux, in this case openSUSE Tumbleweed
- A computer running Windows (we need it for the flash tool)
- 1x MicroSD Card.
Setting up the build environmentee
Setting up the build environment is not difficult, but it is not a “clean” way of using a Linux system. We’re gonna need some packages that are not maintained anymore and are therefore not avaliable in the openSUSE Tumbleweed repositories. Installing packages from unofficial repositorys can be dangerous for your system though, so the first thing we’re gonna do is create a filesystem snapshot:
snapper create --description "Snapshot before installing Enclustra build environment"
This will create a Btrfs snapshot so that we can rollback (snapper rollback)to the state of the system before installing the build environment. Because no --cleanup-algorithm is specified this snapshot will not get removed after a certain period of time.
First, we need to add some repositorys:
sudo zypper ar https://download.opensuse.org/repositories/Kernel:/tools/openSUSE_Factory/Kernel:tools.repo
sudo zypper ref
Now we can install all the dependencies we need:
sudo zypper install gcc48 gcc48-c++ git autoconf bc curl glibc-32bit mercurial unzip wget make patch openssl-devel python3-termcolor
In addition, we need a really old version of python-dialog, which is not avaliable for Tumbleweed, so we need to install it manually from an unsupported repository:
sudo zypper in https://download.opensuse.org/repositories/openSUSE:/Leap:/42.3/standard/noarch/python-dialog-3.3.0-8.1.noarch.rpm
Under normal circumstances, you should never ever install a package from Leap in Tumbleweed! The only reason we can do this here is that Leap 42.3 won’t change anymore (since it is discontinued) and I tested that everything works. Never do this regularly!!! You have been warned.
We need to set the default compiler:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-4.8 50
Now, we can finally install the buildtool:
git clone https://github.com/enclustra-bsp/bsp-altera.git && cd bsp-altera
Since we want to get openSUSE Tumbleweed running instead of the default (bare bones) Linux Enclustra provides, we do not need to build the root filesystem. We do need to build however a bootloader (U-Boot) and a Linux Kernel. Both these parts are part of the openSUSE distribution, but the versions in the repositorys are not compatible with the Mars MA3, so we need to build the versions provided by Enclustra. The version of the Linux kernel provided is not up to date though, but I won’t go into detail on how to build an upstream Linux kernel in this post.
To start the build process, run
./build.sh -d Mars_MA3/Mars_EB1/MMC -x Linux -x U-Boot
The process is going to take some time, so go grab some tea (or coffee, if you prefer that for whatever reason…).
After the build succeeds, you can find the build results in a folder named out_<timestamp>_<module>_<board>_<bootmode>.
In my case that is out_20211105094426_Mars_MA3_Mars_EB1_MMC.
Partitionizing the SD Card
The SoC expects a specific partitionizing on our SD card, which we need to create manually using fdisk (replace /dev/mmcblk0 with the block name of the SD card):
sudo fdisk /dev/mmcblk0
Use fdisk as the following:
Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x99faaaa1.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x8c918d1b.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 2
First sector (2048-16777215, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-16777215, default 16777215): +2M
Created a new partition 2 of type 'Linux' and of size 2 MiB.
Command (m for help): a2
Selected partition 2
The bootable flag on partition 2 is enabled now.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1,3,4, default 1): 1
First sector (6144-16777215, default 6144):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (6144-16777215, default 16777215): +200M
Created a new partition 1 of type 'Linux' and of size 200 MiB.
Command (m for help): t
Partition number (1,2, default 2): 1
Hex code or alias (type L to list all): c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (415744-16777215, default 415744):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (415744-16777215, default 16777215):
Created a new partition 3 of type 'Linux' and of size 7.8 GiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
After the partitioning is done, we can download the Tumbleweed root filesystem, which gets built by the openSUSE Build Service. Our SoC has an armv7 architecture, so we need the rootfs for that specific architecture.
Download the image wget:
wget http://download.opensuse.org/ports/armv7hl/tumbleweed/appliances/openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l.tar.xz
You’re also gonna need my deploy script, which makes flashing everything to a MicroSD card really simple. Download it and make it executable:
wget https://code.opensuse.org/KaratekHD/MA3/raw/main/f/deploy.py
chmod +x deploy.py
Usage of the deploy script is really simple:
usage: deploy.py [-h] -r ROOTFS -d DEVICE -i INPUT_DIR
Deploy openSUSE Tumbleweed to the Mars MA3.
optional arguments:
-h, --help show this help message and exit
-r ROOTFS, --rootfs ROOTFS
Path to rottfs.tar
-d DEVICE, --device DEVICE
Deviceprefix to deploy to (e.g. /dev/mmcblk0p)
-i INPUT_DIR, --input_dir INPUT_DIR
Build files generated by build.sh
An example of using the deploy script:
./deploy.py \\
-d /dev/sdb \\
-r /home/jens/bsp-altera/openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l.tar.xz \\
-i out_Mars_MA3_Mars_EB1_MMC/
Replace the paths with the ones matching for your situation.
Warning: If your SD-Card is the block device /dev/sdb, use dev/sdb as the parameter for -d. If your block device is e.g. /dev/mmcblk0 , you’ll need to use /dev/mmvblk0p as the parameter for -d.
Also, it is important that you use an absolut path for the rootfs, even if it is located in the same directory.
The script will ask for your root password and then
- Format the partitions of the SD card with the required file systems
- Flash the preloader and the Linux Kernel
- Extract the rootfs to the SD card
An example output would be:
Formatting partition 1 with fat32...
mkfs.fat 4.2 (2021-01-31)
Formatted partition 1
Formatting partition 3 with ext2...
mke2fs 1.46.4 (18-Aug-2021)
/dev/sdb3 contains a ext2 file system labelled 'rootfs'
last mounted on / on Thu Jan 1 01:00:01 1970
Proceed anyway? (y,N) y
Creating filesystem with 15539968 4k blocks and 3891200 inodes
Filesystem UUID: b229ef5a-d94a-4851-bd70-c8c00c52fadb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Formatted partition 3
Flashing preloader...
512+0 records in
512+0 records out
262144 bytes (262 kB, 256 KiB) copied, 0.0645477 s, 4.1 MB/s
Preloader flashed!
Syncing...
Synced!
Mounting /mnt/rootfs
Mounting /mnt/boot
Copying files to /mnt/boot
- uImage
- devicetree.dtb
- fpga.rbf
- u-boot.img
- uboot.scr
Removing everything from /mnt/rootfs...
Extracting rootfs from /home/jens/bsp-altera/openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l.tar.xz to /mnt/rootfs...
Extracted /home/jens/bsp-altera/openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l.tar.xz to /mnt/rootfs
Syncing...
Umounting devices...
Done
After the script did its magic, it’s time to move on.
Building U-Boot
In our experiences, we couldn’t get the SoC to use the U-Boot image deployed to the SD Card. U-Boot is, however, required to boot the Linux kernel, so we need some other way to get U-Boot to run, which, in this case, is to flash it to the QSPI Flash of the SoC itself.
In order to do this, we need to build a version of U-Boot that works from QSPI. To do this, navigate to the build directory and run
./build.sh -d Mars_MA3/Mars_EB1/QSPI -x U-Boot
Now, navigate into the output folder (e.g. ./out_Mars_MA3_Mars_EB1_QSPI) and transfer u-boot.img and preloader-mkimage.bin to the Windows PC.
Setting up the board
In order to get the board to boot from the QSPI Flash (and aafter that from the SD card) and to give us a seral output, we need to set up the dipswitches (see above) as following:
| Dipswitch | Value |
|---|---|
| A1 | On |
| A2 | Off |
| A3 | Off |
| A4 | On |
| B1 | Off |
| B2 | Off |
| B3 | Off |
| B4 | Off |
Now you can connect a Micro-USB cable to USBUB (see the image above) and use it to flash to the QSPI and use a serial console as described below.
Flashing the bootloader
Connect the Board to the Windows PC via USB, power it using the dc input on the evaluation board and click on “Enumerate” in MCT. Make sure no other serial devices are connected to your PC. For example a USB-Jtagger can cause problems. The board should show up in the list.
In the “Operation” drop-down menu, select “Erase”, select “Full chip” and click on the “Erase” button:

In the next step, select “Program” from the “Operation” drop-down menu. Set the Start address to 0, enable “Preserve boundary data” and disable “Boot after programming”. Now select the preloader-mkimage.bin file as the Bitstream file and click on “Program”.
Once the preloader has been flashed, set the Start address to 6000 and select the U-boot.img file as the bitstream file. Keep the rest of the settings as descibed above and click “Program” again.

Connecting to a serial console
Now connect the Board to a PC via USB (TODO @Phillip: Switches für Serielle Konsole?). Use Putty, Minicom, Picocom or whatever tool you prefer to use to connect via serial to the Board, just make sure to set the Baudrate to 115200.

Configuring U-Boot
With a serial console connected, power on the Board. You’ll see some output, but wait until you see a little arrow (=>) in the line at the bottom.
Now, type
setenv bootcmd "run mmcboot"
saveenv
Now your board will boot from the SD card by default. Now it’s time to actually boot Linux, so power off the board. U-Boot does not have a shutdown command, so just pull the power plug.
Booting the Linux operating system
Insert the MicroSD card into the slot on the Board. and power on the board. This time you should get a lot more output then before, because this time it actually boots into Linux. There are gonna be a lot of lines starting with [OK] in green, but also a few starting with a red [FAILED]. That’s fine though, everything works even with these minor failures.
Once it’s done booting, you should see something like this on the serial console:
Welcome to openSUSE Tumbleweed 20211107 - Kernel 4.15.0-g506369939 (ttyS0).
eth0:
localhost login:
That’s it! You succesfully installed openSUSE Tumbleweed on your Mars MA3, sou you can now use it like every regular Tumbleweed machine. The default credentials are root:linux, so make sure to change them using passwd before doing anything else. I also recommend to do a quick zypper dup before starting to work on the SoC.
Further reading
- Enclustra Build Environment documentation
- openSUSE on your ARM board
- Source code for the deploy script
Sábado 20