Ethernet on the BananaPi M2 Zero
Even though it does not look like it does, the BPI-M2 Zero also has a wired ethernet interface. Unfortunately, it is disabled by default in its device tree blob.
But enabling it is easy:
# copy into /root
cp /boot/dtb/sun8i-h2-plus-bananapi-m2-zero.dtb .
# decompile
dtc -I dtb sun8i-h2-plus-bananapi-m2-zero.dtb \
-O dts -o sun8i-h2-plus-bananapi-m2-zero.dts
# edit
vi sun8i-h2-plus-bananapi-m2-zero.dts # :-)
# compile
dtc -i dts sun8i-h2-plus-bananapi-m2-zero.dts \
-O dtb -o /boot/custom.dtb
How do you need to edit the DTB file?In the "ethernet@1c30000" block, you need to apply this "diff":
- status = "disabled";
+ status = "okay";
+ phy-handle = <0x4d>;
+ phy-mode = "mii";
phandle = <0x4b>;
The "phy-handle" value is taken from the "phandle" of the "ethernet-phy@1" block a few lines down. Then another change is adding an alias for ethernet0 to the "aliases" block:
aliases {
serial0 = "/soc/serial@1c28000";
serial1 = "/soc/serial@1c28400";
+ ethernet0 = "/soc/ethernet@1c30000";
};
Ethernet will work without that, but we'll need this for setting the MAC address later.
Now reboot and try it out in a temporary way. Either by:
- interrupting u-boot and doing setenv fdtfile custom.dtb (no "saveenv" yet!), then "boot"
- editing the GRUB menu, adding an additional line after "initrd..." that reads devicetree /boot/custom.dtb
Wild Wood | Commodore 64 Game
lichess.org un servidor de ajedrez libre y gratuito contruido con #softwarelibre
lichess.org es uno de los servidores dedicados al ajedrez sin anuncios, gratuito para disfrutar de todas sus opciones y creado con software libre

Cual gambito de dama, abro la partida de publicaciones en el blog de este nuevo año 2021, ofreciendo un nuevo artículo, para ti fiel lector o lectora que recalas de manera casual o premeditada a este pequeño rincón propio del proceloso internet.
Y en esta ocasión escribo sobre ajedrez, ese gran juego (o más que eso) enigmático, infinito e inabarcable que pone a prueba nuestra inteligencia y ejercita nuestras neuronas, memoria, y un sin fín de cosas más.
Ya desde los duelos míticos del siglo pasado entre Kasparov y Karpov, el ajedrez es algo que alguna vez me llamó la atención, pero que por mis nulas cualidades a la hora de jugar dejé de lado.
También porque no era algo muy popular en la pequeña ciudad donde vivo, y jugar con alguien más era algo muy difícil. Pero hoy en este recién estrenado 2021 del siglo 21, jugar partidas en línea con otros oponentes gracias a internet es muy sencillo.
Hay muchos servidores de ajedrez, de diversos tipos y características. Los hay de pago, gratuitos con ciertas opciones de pago, con unas opciones u otras.
De entre todas las opciones que existen, hoy quería dar a conocer y difundir sobre lichess.org, un servidor de ajedrez libre, gratuito y con el código fuente publicado bajo licencias libres y disponible en GitHub.
lichess.org es un servidor de ajedrez sin publicidad, soportado por una comunidad que lo mantiene con código y donaciones, que puedes visitar de manera anónima o puedes abrirte una cuenta para mantener un registro de tus progresos, interactuar en la comunidad, etc.
Porque lichess.org es más que un sitio para solo jugar a ajedrez. Es un lugar donde aprender, desde lo básico e ir progresando y avanzando en dificultad y conocimientos. También puedes ir practicando y conociendo los movimientos, ataques, aperturas y demás tácticas del ajedrez.
También por supuesto es un lugar de encuentro para librar partidas con jugadores y jugadoras de todo el mundo. Partidas de diversa duración y diversas características, torneos.
Y más, porque también es una “comunidad” donde compartir con esas personas, en sus partidas retransmitidas, foro, etc.
Podrás estudiar más tarde tus partidas, repetirlas, cambiar la jugada, etc. Podrás exportar partidas e importarlas, jugar contra la máquina, aprender y disfrutar del ajedrez.
También puedes crear grupos o unirte a algún grupo con intereses comunes con personas que conozcas y jugar partidas.
En el apartado estético, la web está traducida al español entre otros muchos idiomas, gracias a la comunidad. Tiene un estilo moderno y creo que bastante funcional.
También dispone de una API documentada para poder crear clientes que interactúen con el servidor y tu cuenta. También de aplicación para Android disponible desde la tienda de Google.
Tiene la opción de tema oscuro o claro y por supuesto muchas otras opciones de “customización” a la hora de escoger color del tablero, tipos de piezas, vista en 2D o 3D y otras opciones.
Y todo esto creado con un software licenciado bajo licencias libres y con el código disponible en GitHub. Lo que para mí es un aliciente importante y muy interesante.
Desde hace un tiempo lo estoy visitando en modo anónimo, pero estoy pensando en abrirme una cuenta, para ir aprendiendo lo básico a la hora de enfrentarte al tablero de ajedrez y guardar mis progresos.
Sí, ya sabía mover las piezas por el tablero, ¡pero iba a lo loco! sin pies ni cabeza, ni estrategia, ni visión. No espero convertirme en un experto, simplemente disfrutar del ajedrez de vez en cuando y aprender. ¿echamos una partida?
Enlaces de interés

Guía de Nvidia Optimus en Debian (Intel + Nvidia)
Siempre lo comento, KDE Blog es un blog que prácticamente lo lleva solo una persona pero siempre está abierto a colaboraciones de otros (y de hecho las agradezco). Este es el caso de Héctor Sales, usuario entusiasta de GNU/Linux y amigo que nos presentó hace tiempo Cómo instalar Nvidia Optimus en Debian o Cómo instalar Nvidia Optimus en Ubuntu, y que hoy nos trae otro interesante artículo titulado «Guía de Nvidia Optimus en Debian (Intel + Nvidia)» con el que optimizar el uso de nuestro hardware. Espero que os sea de utilidad.
Guía de Nvidia Optimus en Debian (Intel + Nvidia)
Después de algún tiempo hemos decido actualizar la guía de Nvidia Optimus en Debian (Intel +Nvidia).
Estos son los dos métodos soportados:
- Using PRIME Render Offload (Método recomendado por nvidia y solamente disponible a partir de Debian 11 actual Testing, se necesita la versión de xorg 1.20.7 o superior).
- Using NVIDIA GPU as the primary GPU (que saldrá publicado más tarde)
Empezaremos con el primero, el cual nos permite utilizar nuestra gráfica intel integrada como predeterminada y la tarjeta nvidia dedicada para tareas más específicas.
Mi sistema actual es Debian Testing KDE y mis GPU’s :

Partimos de la base que ya tenemos instalado el driver de nvidia en Debian Testing, sino es así:
$ sudo apt install nvidia-driver
..o bien:
$ sudo apt install nvidia-detect
Una vez instalado el driver privativo de nvidia, creamos el archivo nvidia.conf, en la ruta «/etc/X11/xorg.conf.d» con el siguiente contenido:
$ sudo nano /etc/X11/xorg.conf.d/nvidia.conf
Section «ServerLayout»
Identifier «layout»
Option «AllowNVIDIAGPUScreens»
EndSection

Después podemos cerrar sesión o, mejor aún, reiniciar la máquina para asegurarnos todos los cambios.
Una vez logeados en el sistema podemos añadir esto a nuestro .bashrc o .bash_aliases lo siguiente:
prime () {
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"
}

Cada vez que queramos ejecutar con nuestra nvidia algún programa solamente tenemos abrir una consola y escribir lo siguiente:
Ejemplo :
$ prime firefox

Y próximamente explicaremos el otro método soportado: Using NVIDIA GPU as the primary GPU
CD-ROMs von Klett unter Linux nutzen
Der Klett Verlag bietet zu vielen seiner Lehrwerke auch Begleitmaterialien auf CD ROM an.
Die Anwendung auf diesen CDs öffnet tatsächlich nur HTML-Datei, so dass sich die CDs durch direktes Öffnen der Datei index.html Datei auch wunderbar auf nicht-Windows-Systemen nutzen ließen.
Häufig wird dann aber eine kaputte Seite dargestellt, und die Fehlerkonsole des Browsers beschwert sich über fehlende Dateien, z.B. für die Schriftarten.
Des Rätsels Lösung ist, dass diese Dateien auf der Ebene des Joliet-Dateisystems als versteckt markiert sind und für Anwendungen so normalerweise nicht sichtbar sind.
Unter Windows kümmert sich die Klett-Anwendung darum diese vor dem Öffnen der index.hml sichtbar zu schalten.
Mit dem Wissen darum, dass die Dateien auf Dateisystemebene versteckt sind, kann man die CDs auch unter Linux wunderbar nutzen.
Die Lösung findet sich dann beispielsweise auf askubuntu.com: Die CD muss mit der Option unhide eingebunden werden.
Während normalerweise auch Nutzer CDs mounten können, muss dies in diesem Fall allerdings durch Root gemacht werden, da Nutzer keine Optionen beim Mounten angeben dürfen. Auf meinem openSUSE-System führe ich also folgende Schritte aus:
mkdir /tmp/klett
sudo mount -o unhide -t iso9660 /dev/sr0 /tmp/klett
Danach ist die CD mit allen Dateien in /tmp/klett verfügbar und ich kann z.B. mit einem xdg-open /tmp/klett/index.html den Inhalt öffnen.
Zur Erklärung der obigen Kommandozeile:
- Mit
mkdir /tmp/klettlege ich ein temporäres Verzeichnis an. Es in/tmpanzulegen erspart es mir hinterher aufräumen zu müssen. -
sudoist Notwendig, da ein normaler Nutzer keine Optionen angeben kann. -
-o unhidemacht die normalerweise versteckten Dateien sichtbar. -
-t iso9660gibt explizit an welches Dateisystem verwendet wird.mountkann dies normalerweise auch automatisch erkennen. -
/dev/sr0ist mein optisches Laufwerk.
How to fix the Teamspeak Audio mute problem on Linux
In this article, I’m gonna show you how to fix tix the TeamSpeak Audio mute problem on Linux. It has been tested on my machine, you can see details below.
| Part | Model |
|---|---|
| Operating System | OpenSUSE Tumbleweed |
| Desktop Environment | KDE Plasma 5.20.4 |
| Host | X470 AORUS ULTRA GAMING |
| Kernel | 5.10.1-1-default |
| Window Manager | KWin |
| CPU | AMD Ryzen 5 2600 (12) @ 3.400GHz |
| GPU | NVIDIA GeForce GTX 1060 6GB |
| PulseAudio Version | 14.0-rebootstrapped |
The problem
When using TeamSpeak on Linux, you may have experienced this issue: Starting TeamSpeak mutes certain applications, such as Spotify or VLC. This is pretty annoying, especially while gaming, since you constantly have to tab out of your game, open the volume control applet and unmute the application, only to see it getting muted later. This is not a solution, so let’s fix it.
The fix
Fixing this is pretty straight forward (See the OpenSUSE Wiki). All you have to do is commenting out the line load-module module-role-cork in /etc/pulse/default.pa. If you know what you’re doing, cou can do this yourself, but I’ll give step-by-step instructions below.
Using KDE Kate
- Hit [Alt] + [Space].
- Enter
kdesu kate /etc/pulse/default.paand hit [Enter]. - Search for the line saying “load-module module-role-cork” (Hint: Use [Ctrl] + [F])
- Put a
#in front of it. It should look now look like the following:### Cork music/video streams when a phone stream is active # load-module module-role-cork - Save the file ([Ctrl] + [S]) and close the window.
- Open krunner by pressing [Alt] + [Space] and type
pulseaudio -k && pulseaudio --start[Enter].
Using GNOME gedit:
- Open a terminal window.
- Start a root session. On Ubuntu/Debian based systems, I recommend using
sudo bash, on SUSE/RHEL based systems usesu -. Enter the required password, if you are prompted to. - Edit the file
/etc/pulse/default.pa. For doing so, type:gedit /etc/pulse/default.pa - Search for the line saying “load-module module-role-cork”
- Put a
#in front of it. It should look now look like the following:### Cork music/video streams when a phone stream is active # load-module module-role-cork - Save the file ([Ctrl] + [S]) and close the window.
- Exit the root session by typing
exit. - Kill the PulseAudio Server:
pulseaudio -k - Start it again:
pulseaudio --start
Using the terminal (universal method)
- Open a terminal window. On KDE Plasma, this is done by opening the Kickstarter Menu and searching for “Konsole”.
- Start a root session. On Ubuntu/Debian based systems, I recommend using
sudo -s, on SUSE/RHEL based systems usesu -. Enter the required password, if you are prompted to. - Edit the file
/etc/pulse/default.pa. For doing so, type:vim /etc/pulse/default.pa - Search for the line saying “load-module module-role-cork”. For doing so, enter a
/and the line afterwards, so/load-module module-role-cork. See this wiki entry for more help regarding searching in VIM. - Enter editing mode by hitting the key
ion the keyboard. Now you will be able to edit the text file. - Now out comment the line by putting a
#in front of it. It should now look like the following:### Cork music/video streams when a phone stream is active # load-module module-role-cork - Now hit escape in order to exit editing mode and type
:wqand hit Enter. This will save the file and exit vim. - End the root session by using
exit. - Kill the PulseAudio Server:
pulseaudio -k - Start it again:
pulseaudio --start
Sources
Further Reading
GRUB, u-boot, kernels and DTB loading (on the BPi M2 Zero and others)
While I was experimenting with the BananaPi M2 Zero board, I soon needed to adopt its device tree file (dtb).
Fortunately, the friendly members of the openSUSE:Factory:ARM community quickly hinted me at the grub2 "devicetree" command which can be specified similar to "linux" or "initrd" to name a file that's loaded as device tree.
Unfortunately, there is no way to make this really persistent, short of editing the grub generator scripts which will get lost on every grub2 update.
The other option would be to decompile the board's DTB file ("/boot/dtb/sun8i-h2-plus-bananapi-m2-zero.dtb" in my case), change and then recompile it, replacing the original file. This has two downsides: first, it will get overwritten with every update of the "dtb-sun8i" package (no idea how often this will be the case) and second, you might want to have the original file as fallback ready. In general, editing package managed files is not a good idea in my book, if it can be avoided it should be.
So I looked into the "who loads which device tree file" and found out that actually the dtb is loaded by u-boot, even before grub starts. U-boot has the name of the board built-in and thus the file name it is looking for. Additionally it has a search list of directories that it searches to find the dtb file. So the simplest way to apply your own dtb file would probably be to put it, with the original file name into the search path after the original file. I tried this approach at first, but then went for explicitly specifying a different filename, which is just not as subtle in case you need to debug this years later ;-)
So the method is relatively easy:
- put your modified dtb file into /boot, I named it custom.dtb.
- boot into u-boot, interrupt booting on the serial console
- in u-boot console, enter setenv fdtfile custom.dtb
- in u-boot console, enter saveenv
Disponible el vigesimotercer número de la revista digital SoloLinux
Ya tenemos disponible el vigesimotercer número de la revista digital SoloLinux la cual, como siempre, podéis leer online o descargar para poder disfrutar en vuestro lugar de vacaciones si tenéis una conexión de internet limitada o donde queráis, que para eso el Software Libre promueve la libertad.
Disponible el vigesimotercer número de la revista digital SoloLinux
La introducción es repetitiva, pero es que es interesante hacer un poco de historia. Hubo un tiempo en que las revistas sobre Linux digitales estuvieron de moda. Tenemos todavía publicándose Atix y Full Circle Magazine (en inglés, gracias Vampiro Nocturno), pero antes teníamos a Linux+, Papirux, Begins o TuxInfo, por citar algunas discontinuadas.
Desde hace un tiempo una revista digital SoloLinux tiene su entrada mensual en el blog, tener todas las alternativas posibles para compartir conocimiento es algo que caracteriza al Conocimiento Libre.
Y es loable que incluso en fiestas tan señaladas como las de final de año sean capaces de publicar su recopilatorio. ¡Muchas gracias por vuestro trabajo!
En palabras de sus creadores:
«No faltamos a nuestra cita mensual, la noche ha sido larga, pero aun así seguimos al pie del cañón. Uno de enero del 2021, primer día del año.
Desde SoloLinux os deseamos un feliz y prospero año nuevo, y que mejor manera de celebrarlo que descargando el nuevo número de la revista sololinux.«
Más información: Revista Sololinux N23

Así que, ya tenemos disponible el vigésimosegundo número de la revistas digital SoloLinux, el cual llega cargado de contenidos y con el siguiente índice.
|
SEGURIDAD Como configurar Firewalld en CentOS 8 Instalar y configurar FirewallD en Debian 10 Escanear un servidor linux con Nikto Permisos de archivo estándar simples en linux MANUALES Instalar el repositorio RPM Fusion en Fedora, CentOS y RHEL Crear y administrar máquinas virtuales con Virt-Manager Uso del comando stat en linux Anarchy – Instalar Arch Linux para novatos Instalar el Kernel 5.10 LTS en Ubuntu o Linux Mint Instalar un servidor Debian 10 con Yunohost Montar un servidor casero con FreedomBox Instalar XFCE 4.16 en Ubuntu 20.04 o Linux Mint Uso del comando Nslookup en linux Uso del comando Netstat en linux |
REDES Monitorizar la red con Iptraf Uso del comando route en linux NOTICIAS Características del Kernel 5.10 LTS (disponible la RC-6) CentOS se muere – Bienvenido Rocky Linux Linux vs MacOS – Sus principales diferencias Entrevista a un Sysadmin Linux en 17 preguntas SOFTWARE Instalar Tixati Torrent en Ubuntu 20.04 y otros linux HARDWARE Que son los inodos en linux Mantener los controladores Mesa actualizados OPINIÓN DEL LECTOR La opinión de Raydel Comas Rodríguez La opinión de Erwin Andres Espitia |
La revista puede ser descargada o simplemente visualizarla en línea, ya que se cuelga en diferente servicios como Calameo. A continuación os dejo los enlaces de descarga y visualización directa de todos los números publicados hasta la fecha.
Además, recordar que desde el número anterior se ha abierto el canal oficial sololinux.es de Telegram: https://t.me/sololinux_es
Descarga:
Sololinux #23 Diciembre 2020
[/one_half]
Visualización directa:
Evidentemente, este proyecto no se centra en exclusivo a los contenidos de su web y está abierto a colaboraciones de todo tipo. De esta forma si estas interesado en insertar publicidad en nuestra revista, o quieres que publiquemos algún articulo que hayas escrito tu mismo, puedes contactar con «Adrián» por correo electrónico: adrian @ sololinux. com
Muchos ánimos en este proyecto que ya parecer estar consolidad y que que facilita la difusión del Software Libre de una forma que ya no es tan habitual en estos tiempos pero que es igual de válida y necesaria en algunas ocasiones.
WordPress with container 練習小記
WordPress with container 練習小記
OS: openSUSE Leap 15.2 in Azure
今天來寫 WordPress 的練習文章
現在 WordPress 的使用率已經越來越高了, 今年的一些讀書計劃的內容內也有 WordPress 的規劃
首先就使用 container 的方式來進行練習.
規劃架構
使用 openSUSE Leap 15.2 VM in Azure 作為 container host
使用 container 方式執行 MySQL 與 WordPress
建立獨立的 container network 給 WordPress 與 MySQL
好處是可以使用名稱的方式連接
建立 container volume web-data
掛載 MySQL 的 /var/lib/mysql 以利後續維護與升級
可以考慮另外建立獨立的 volume 來存放 WordPress 的 Plugin
在 Azure 內建立 openSUSE Leap 15.2 的 VM
SSH 連線虛擬機器, 並使用 > sudo su - 切換為管理者 root
啟動 docker 服務
# systemctl start docker
首先觀察主機上的 volume
# docker volume ls
DRIVER VOLUME NAME
建立 volume
# docker volume create web-data
web-data
觀察資訊
# docker volume ls
DRIVER VOLUME NAME
local web-data
# docker volume inspect web-data
[
{
"CreatedAt": "2021-01-03T06:04:30Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/web-data/_data",
"Name": "web-data",
"Options": {},
"Scope": "local"
}
]
可以觀察 web-data 在本機上面的 mountpoint
一樣, 建立之前先觀察資訊
# docker network ls
NETWORK ID NAME DRIVER SCOPE
0362ba8e433b bridge bridge local
1e4986872739 host host local
0ac3b895fef7 none null local
建立 network
# docker network create web-network
457bc7fc24f0b26796f32f5f3191853b9363a3a83e07044cf8d4fe5bd8a213fa
再次觀察資訊
# docker network ls
NETWORK ID NAME DRIVER SCOPE
0362ba8e433b bridge bridge local
1e4986872739 host host local
0ac3b895fef7 none null local
457bc7fc24f0 web-network bridge local
爲何要建立 network, 因為預設 bridge network 不能用名稱解析, 這樣會連接不到
可以參考官方的說明: Differences between user-defined bridges and the default bridge
User-defined bridges provide automatic DNS resolution between containers
Containers on the default bridge network can only access each other by IP addresses, unless you use the --link option, which is considered legacy
另外一篇文章
開始佈署 MySQL
# docker run --name web-mysql --network web-network -e MYSQL_ROOT_PASSWORD=rootpassword -e MYSQL_DATABASE=wp -e MYSQL_USER=sakana -e MYSQL_PASSWORD=sakanapassword -d mysql:5.7
開始佈署 WordPress
# docker run --name web-wordpress --network web-network -e WORDPRESS_DB_HOST=web-mysql:3306 -e WORDPRESS_DB_NAME=wp -e WORDPRESS_DB_USER=sakana -e WORDPRESS_DB_PASSWORD=sakanapassword -p 80:80 -d wordpress
因為只是實驗, 所以上面的相關密碼就用簡單的方式
如果要更安全的方式可以考慮使用 docker secret
參考 Wordpress dockerHub
Docker Secrets 方式可以考慮 -e WORDPRESS_DB_PASSWORD_FILE=/run/secrets/mysql-root
進行測試
首先在 Azure 上的網路安全性群組, 先開放 port 80 可以存取
接下來連線 VM 的對外 IP
就會進入 WordPress 的安裝畫面
語系選繁體中文 -- > 繼續
輸入相關資訊
點選 安裝WordPress
大功告成
點選 登入
使用剛剛建立的帳號密碼
就可以進行登入
接下來就可以進入後台轉寫文章, 進行設定
或是觀察自己的第一個 WordPress 了
另外也有看到 docker-compose 安裝方式, 先放在下面, 以後再說
docker-compose 安裝
在 minikube 上架設 Stateless Wordpress
又離 WordPress 進了一步
~ enjoy it
Reference