Passa al contenuto principale

· 4 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Era da molto tempo che mi era stata richiesta la possibilità di aggiungere una GUI ad eggs, sembra che finalmente sia giunta l'ora.

Ho cominciato questo progetto durante il periodo delle feste di Natale e fine anno, mi è servito tra l'altro per formarmi con la libreria QT che non avevo mai usato.

Adesso è passato un po' di tempo, ho maturato un po' di esperienza e quindi - come dire - posso vergognarmi di meno di quello che ho realizzato, in sostanza un aiuto per chi con eggs è alle prime armi.

Ho cercato di riempire i vari campi con lunghi, tediosi e spropositati tooltip ed ho fatto del mio meglio, comunque visto che questo progetto è opensource, può essere migliorato da ognuno e ciascuno può collaborare.

L'interfaccia è questa:

penGUI main window

C'è una toolbar con quattro bottoni:

  • dad per configurare eggs;
  • produce per creare la ISO;
  • kill per rimuovere le ISO generate e lo spazio di lavoro;
  • readme un rimando alla sezione PenGUI sul README di eggs.

Non ho aggiunto troppi bottoni, per semplificare, difatti le operazioni che servono con eggs per rimasterizzare un sistema sono essenzialmente queste.

I menu

Tutte le altre opzioni, sono riportate nel menù, abbiamo:

  • File

    • Calamares
    • Kill
    • Status
    • Cuckoo
    • Exit
  • Edit

    • eggs.yaml
    • tools.yaml
  • Tools

    • Clean
    • PPA
    • Skel
    • Yolk
  • Wardrobe

    • Get
    • List
    • Show
    • Wear
  • Help

    • Users' guide
    • Blog
    • Repository
    • Telegram
    • About

Francamente non mi sembra di aver dimenticato niente, l'unica esclusione - voluta - è Cuckoo che ho si inserito nel menu File ma è disablilitato.

Naturalmente PenGUI utilizza eggs per eseguire i sui compiti, quindi eggs deve essere installato, nel caso eggs non sia installato verrà visualizzato un messaggio ed, eventualmente aperto un browser per installarlo.

Bottoni della toolbar

toolbar

dad

dad

Come in eggs il comando dad va a modificare la nostra configurazione che si trova in /etc/penguins-eggs.d ed in particolare nel file eggs.yaml.

La differenza è che qua avete un form da riempire, invece di una interfaccia CLI nuda e cruda.

dad-form

Una volta inseriti i dati, verrà aperto un Terminale di root e si procederà alla copia degli stessi su /etc/penguins-eggs.d/eggs.yaml

eggs è pronto a produrre la ISO!

produce

produce

Nella form di produce è possibile inserire tutte le varie opzioni presenti nel comando di eggs, diciamo che la sua funzione è costruire il comando utilizzando una interfaccia grafica.

produce-form

Una volta effettuate le scelte, premete sul bottone "Generate" ed il comando vi apparirà nel form stesso. A questo punto potete produrre la ISO semplicemente cliccando sul bottone adiacente, verrà anche qui aperto un Terminale di root ed egge verrà avviato con i parametri generati.

Kill

kill

Kill semplicemente richiama sudo eggs kill di eggs sempre attraverso un Terminale di root.

Readme

readme

Come descritto in precedenza è un semplice rimando alla sezione su PenGUI del README di penguins-eggs.

Scaricare ed installare PenGUI

PenGUI viene caricato sulla pagina di penguins-eggs su sourceforge, e precisamente potete scaricarlo dal link PenGUI.

L'installazione, trattandosi di un pacchetto Debian è piuttosto semplice e standard: dpkg -i pengui-0.2.9_amd64.deb.

Il pacchetto, inoltre viene caricato anche sulla PPA di eggs, per cui se la avete configurata, verrà aggiornato automaticamente ad ogni rilascio.

That's all peoples!

Buon divertimento.

· Lettura di 1 minuto
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Some time ago I received this message about an eggs problem with plasma:

I have an error on calamares installer.
when i want to install the iso. during the partitioning automatically. it has the following error:

job set the label on partition /dev/sda1 to root partition table of partition /sda/sda1 does not support setting names. job ignored

plasma

error

The error is caused by Plasma settings → Removable Storage → Removable Devices → Uncheck On Login and On Attach and solved problem, calamares installed the system fine.

The Prince of Persia also sent us a new splash screen error

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Il Ritorno dello Jedi è il terzo episodio di Guerre Stellari, uscito nel 1983.

Forse è l'età - per questo mi deve essere rimasto in testa - con le Guerre Stellari quello che devo dire non c'entra niente, però volevo raccontarvi la novità del gradito ritorno dell'architettura i386 su penguins-eggs.

penguins-eggs è un programma scritto in typescript quindi compilare è qui utilizzato in maniera un po' improria. Sarebbe più corretto scrivere come sono riuscito a generare nuovamente il pacchetto su l'architettura i386 non più supportata da node.

Qua dobbiamo ringraziare la sua Maestà Debian.

Cercando di aiutare un utente alle prese con LMDE 6 "Faye" ho notato che sulla macchina era presente node18, grazie alla versione pacchettizzata da Debian.

Su Debian bullseye è presente solo node12, ed essendo passato da tempo a node16 - non si può fare - ma qua, con la versione 18 mi è venuto il dubbio e l'idea di provarci.

Eggs è costruito con oclif, e genero il pacchetto con lo stesso framework che - tra l'altro - racchiude l'eseguibile di node nel pacchetto stesso.

Se su Debian node18 esiste, perchè non provare a sostituirlo con un semplice link?

Ha funzionato!

Il ritorno dello Jedi

Nota La storia è naturalmente un po' più lunga e non priva di una certa fatica, ma è la stessa che mi ha portato - usando sostanzialmente lo stesso schema - ad ottenere una versione arm64 funzionante.

Ma di questo parleremo la prossima volta.

E come la mettiamo con Visual Studio code?

Non sò quante volte ho bestemmiato in turco la mancanza di code su i386, ho tentato con lite, un editor LUA un po' somigliante; ho smadonnato con sublime - bello, ma diverso - alla fine, non usando più di tanto i386, m'ero adattato a geany.

Ecco il sistema per installare l'ultima versione di code funzionante su i386.

wget https://az764295.vo.msecnd.net/stable/c7d83e57cd18f18026a8162d042843bda1bcf21f/code_1.35.1-1560349847_i386.deb 

sudo dpkg -i ./code*.deb

Era pure facile! A saperlo, però.

Il futuro dei colibri

Naked - la versione CLI - e Colibri sono le due ISO ufficiali che pubblico per ogni rimasterizzazione di Arch, Debian, Devuan ed Ubuntu.

Colibri è interessante per chi vuole cimentarsi con gli stessi strumenti che utilizzo per creare eggs, naturalmente raccomando la versione amd64, ma attualmente è possibile utilizzare sia arm64 che i386 senza troppe rinunce.

In sostanza viene installato il desktop XFCE - senza troppi fronzoli - nodejs, npm, pnpm e l'editor code o codium nel caso di arm64.

Avere lo stesso sistema di sviluppo su tutte e tre le architetture supportate aiuta non poco diurante il debug.

A quando una versione per RISCV?

Ad inizio dicembre dovrebbe arrivarmi un computer a scheda singola VisionFive 2 Quad-core RISC-V StarFive JH7110 quad-core RISC-V con ben 8GB di RAM.

Il progetto Proxmox-port, grazie al quale ho trasformato la mia Raspberry Pi 4 in un server Proxmox VE, promette bene anche per quanto rigurda l'architettura RISCV.

Vediamo che succede, ci spero!

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

How to build a reproductive, naked (CLI) system

Note: This article is an updated version of the previous post addaura, the script now is extended to include derivatives.

We are going to describe how to go from a minimal standard installation to a complete remasterable system using get-eggs scripts.

This procedure work on Arch rolling, Debian (buster, bullseye, bookworm), Devuan (chimaera and daedalus) and Ubuntu (bionic, focal and jammy) and - actually - on derivatives.

Arch

I started with latest version of archiso: archlinux-2023.09.01-x86_64.iso.

Then, used archinstall to get a minimal installation. On Disk configuration choose Use a best-effort default configuration layout, then btrfs or ext4, as you prefer.

Among the packages I added: git, lsb-release, others packages will be installed later by get-eggs.

At this point, we MUST configure network, I just choose the most basic: Copy ISO configuration to installation.

Finally select install and wait it finish. Archinstall will propose you to chroot to continue configuration, answer no and reboot.

Debian/Devuan/Ubuntu

On Debian and Devuan we start with a common netinst, without install nothing except standard system utilies

standard system utilies

When the installation finish, reboot the system.

After reboot, we now must install git and sudo. Log on your installed system, and:

  • su
  • apt install git sudo
  • /usr/sbin/adduser artisan sudo

We can now logout, and we are ready to the next step.

The procedure its about the same on Devuan.

After reboot, we need just to install git to be ready: sudo apt install git.

On Ubuntu, we don't have net-install but we can use server edition, again without install nothing except the minimal base. Here, at the end of installation I use to remove packages cloud-init and needrestart as we are not interested on.

Get and run get-eggs (all)

  • git clone https://github.com/pieroproietti/get-eggs
  • cd get-eggs
  • sudo ./get-eggs.sh

That will happen

eggs will be installed and configured properly for the chosen distribution.

Arch

get-eggs.sh will install few packages bash-completion, dialog, man-db, nano, openssh and wget and will add AUR repository to pacman.conf.

Then will install penguins-eggs.

Debian/Devuan and Ubuntu

get-eggs.sh will install new ppa for penguins-eggs, then will install eggs and its dependencies.

Get wardrobe and wear a costume (all)

Once eggs was installed, I proceeded to load the wardrobe and "dress" the system with the colibri costume.

  • eggs wardrobe get
  • sudo eggs wardrobe wear colibri At this point after rebooting, I found myself in the colibri graphical system.

Installing calamares

We can install calamares with the command: sudo eggs calamares --install.

Clean

After that, we can clean cached packages with command: sudo eggs tools clean.

Remastering our custom system

Well, we are ready to remaster the system, just a little reconfiguration and cleaning before:

  • sudo eggs dad -d
  • sudo eggs tools clean
  • sudo eggs produce --max --addons adapt

That's all folks!

arch-btrfs-colibri

debian

Videos

These videos were made simply using kazam on a window, live, no audio or editing, I would need help preparing something more professional.

· 4 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Quando è uscita la Raspberry Pi 4 con ben 4 GB di RAM, l'acquistai,non poteva mancare alla mia esperienza!

Invece, per quasi due anni mancò e di brutto, nonostante avessi preso anche un case con disco rigido SSD da ben 250 GB.

Installai Raspian, poi qualcosaltro... Vidi che la potevo usare come un PC con prestazioni scarse, avevo di fronte a me un i7 con 16 core, 16 GB di memoria e finì a prendere prima polvere, poi ad essere custodita in un cassetto.

La nascita di eggs per ARM è strettamente legata ad un tentativo fatto più per scrupolo che per convinzione di aiutare un utente che voleve rimasterizzare Linux Mint Debian Edition 6, uscito a settembre.

Gli consigliai di provare con la versione di eggs per i386, che era rimasta a due anni prima, magari facendo qualche modifica in /etc/os-release per fargli accettare LMDE6.

Il bello che anche funzionò, ma non ero soddisfatto.

Notai pure che LMDE6 disponeva comunque di nodejs 18.x, ed il motivo per cui ero stato costretto ad interrompere la versione per i386 era che nodesource non aggiornava più le versioni a 16 bit, la cui ultima era node12.

Chissà se può funzionare, devo aver pensato.

E provai a far girare penguins-eggs con la versione di nodejs per i386.

Andava... allora non mi restava che fare il pacchetto!

Sostituendo all'eseguibile di node un link a /usr/bin/node ed immettendo nodejs come dipendenza del pacchetto, questo funzionava egregiamente - anzi - era più leggero della versione per amd64, visto che non contenteva il binario di node.

Naturalmente vi furono anche altre modifiche dovute alla differenza di processore.

La versione per arm64

A questo punto, sono anni che produco una versione non funzionante di eggs per ARM, perchè non provare la stessa operazione su arm?

Già ma quale: armel, armxx o arm64?

Dopo qualche prova, capii che la versione giusta era arm64 e provai con lo stesso script modificato per i386. Naturalmente non funzionò al primo colpo... anzi.

Il fatto di non disporre di una Raspberry o meglio di non saperla usare mi costrinse a utilizzare Proxmox VE per emulare una macchina virtuale con ARM64.

Non è troppo difficile ma tediosamente lento... in qualche modo però mi dava il modo di "pensare" e spesso anche di cucinare o fare dell'altro.

Ad ogni modo, ottenuta la macchina virtuale, iniziarono le prove... un'oretta a tentativo per una naked su arm64 del peso di circa 400 MB... un po' spararsi sui cosidetti.

Ma andò bene, il bambino nacque pur senza una vera e propria mamma.

Dove far girare la ISO creata

All'epoca, parliamo di inizio mese, il fatto che Raspberry utilizzi di massima uboot al posto di UEFI mi era ignoto, così come l'esistenza di un progetto per avviare raspberry con UEFI.

Cercai intorno tra conoscenti e non, trovai il "prodotto" e finalmente potevo far girare la ISO.

Si, ma non vedeva la WIFI, attacca e stacca fili, la tastiera comperata per lavorarci comunque partiva DOPO che s'era avviata... frustrazioni a non finire.

Un giorno installai manjaro ARM in versione per Raspberry e capii che dovevo mangiarne di biada per correre come loro... Un gioiello, veloce e facile da usare!

Però a me interessava altro, lo scopo non era farmi un piccolo PC ma avere la possibilità di testarci Proxmox VE di cui avevo trovato due versioni non ufficiali proprio per Raspberry appunto.

Questo avrebbe naturalmente agevolato non poco lo sviluppo, disporre di un virtualizzatore basato sul processore arm64 stesso invece di faticare ad emularlo.

Proxmox VE 8 arm64

Questa è la configurazione di una VM per arm64 su una installazione x64.

agent: 1
arch: aarch64
bios: ovmf
boot: order=scsi0;scsi1;net0
cores: 4
efidisk0: local-lvm:vm-103-disk-0,efitype=4m,pre-enrolled-keys=1,size=64M
ipconfig0: ip=192.168.2.251/32,gw=192.168.2.1
memory: 4096
name: arm64-clean
nameserver: 192.168.2.1
net0: virtio=62:F1:E4:BD:B9:FB,bridge=vmbr0
numa: 0
ostype: l26
scsi0: local-lvm:vm-103-disk-1,size=32G
scsi1: none,media=cdrom
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=cb608992-87ee-4641-8caf-412d24748e1b
sockets: 1
vga: serial0

· 2 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Ventoy permette oltre all'avvio delle classiche immagini ISO, IMG anche l'utilizzo di immagini denominate vtoy. Tali immagini sono costituite da un file vDisk di dimensioni fisse del tipo .vhd, .vdi o `.raw``.

Questa procedura crea, utilizzando Proxmox VE, una installazione Linux basata su vtoy, potete anche consultare la documentazione originale dove viene spiegato lo stesso procedimento utilizzando virtualbox.

Creazione di un vDisk vtoy

Per prima cosa ci creiamo una cartella denominata vtoys per i nostri dischi in creazione. Ho scelto il persorso /zfs/vtoys, ma naturalmente dipende dalla vostra configurazione.

sudo mkdir /zfs/vtoys

Quindi mi vado a creare il nostro vDisk, in formato vhd:

sudo dd if=/dev/zero of=/zfs/vtoys/passero.vtoy bs=1G count=16

Apro Proxmox VE e creo una VM, ad esempio 102, la salvo. A questo punto, utilizzando l'interfaccia grafica di proxmox, rimuovo il disco fisso presente.

passero-4

Successivamente edito il file di configurazione della macchina virtuale /etc/pve/qemu-server/102.conf ed aggiungo il nostro vdisk: scsi0: /zfs/vtoys/passero.vtoy, il risultato finale sarà simile a questo:

boot: order=scsi0;ide2;net0
cores: 1
cpu: x86-64-v2-AES
hotplug: disk,network,usb
ide2: none,media=cdrom
memory: 2048
meta: creation-qemu=8.0.2,ctime=1697609683
name: passero
net0: virtio=66:5D:89:D8:D3:1C,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: /zfs/vtoys/passero.vtoy
scsihw: virtio-scsi-single
smbios1: uuid=54c19e93-6059-47d1-b86b-1c4f35b32de1
sockets: 1
vga: qxl
vmgenid: 14db629c-0ab4-42e1-9454-b410f44fd73f

Nota che l'unica modifica fatta all'originale è la riga:

scsi0: /zfs/vtoys/passero.vtoy

Salvo il file e, nuovamente dall'interfaccia grafica di Proxmox, seleziono Option ed imposto l'avvio della VM dal nostro vDisk: scsi0: /zfs/vtoy/passero.vtoy.

passero-6

Rendiamo la nostra VM compatibile con Ventoy

Scarichiamo la ISO da https://github.com/ventoy/vtoyboot/releases e montiamola, quindi:

tar -xf /media/artisan/Vtoyboot/vtoyboot-1.0.30.tar.gz
cd vtoyboot-1.0.30
sudo ./vtoyboot.sh

vtoyboot modificherà l'initrd.img della nostra installazione, rendendo l'installazione compatibile con ventoy.

Copio il vDisk su una chiavetta Ventoy

A questo punto possiamo copiare il nostro 'passero' su una unità esterna ed avviarlo tramite Ventoy.

Il vantaggio, rispetto ad una normale ISO live, è che abbiamo un sistema scrivibile sul quale potremo salvare le nostre sessioni di lavoro.

passero-vtoy

Creazione di una chiavetta/disco con Ventoy

Personalmente utilizzo un piccolo disco ssd che, rispetto alle normali chiavette, mi consente una maggiore velocità e durata.

Le istruzioni per crearsi una chiavetta o un disco con Ventoy sono riportate il questo link.

· 5 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Una volta creato e testato eggs per l'architettura ARM64, abbiamo il problema di provarlo su hardware reale.

Non essendo un esperto del caso, ho chiesto assistenza a chi conosce meglio, specificatamente al buon Jon West di BlissOS ed al "solito" Stefano Capitali di Manjaro, che mi ha poi re-indirizzato a Furkan che si occupa delle versioni ARM per Manjaro stesso.

Jon mi ha avvisato che, per quanto di sua conoscenza, i dispositivi ARM64 utilizzano soprattutto uboot come bootloader al posto di GRUB, Furkan mi ha allargato un po' di più la prospettiva spiegandomi che esistono diverse versioni di Manjaro ognuna per degli specifici dispositivi e che, non tutti i dispositivi ARM sono compatibili UEFI, ma alcuni si: dai grandi sistemi come Ampere, a sistemi anche molto piccoli il rockpro64 di pine64, o il rock64 di radxa, entrambi con il rockchip rk3399.

Ho continuato quindi a documentarmi e mi sono imbattuto in Raspberry Pi 4 UEFI Firmware Images, che - nello specifico - fa proprio il caso nostro in quanto consente di avviare RPI4 con UEFI e, sembra da USB come specificato nell'articolo ESXi on ARM - Installing ESXi on a Raspberry Pi in bibliografia.

Disponendo quindi di un abbastanza datato RPI4 - forse con 8 GB di RAM - mi sto accingendo a prepararmi al grande salto.

Installazione

Scarica l'ultimo archivio dalla repository Releases.

Crea un SD card o un disco USB, con almeno una partizione formattata come FAT16 o FAT32

Nota: Avviando da USB o da ESP richiede un versione di PI EEPROM recente (così come una versione del firmware UEFI). Se state utilizzando l'ultima versione del firmware UEFI e trovate che il boot da USB o da ESP non si avvia, visitate https://github.com/raspberrypi/rpi-eeprom/releases per aggiornare la vostra EEPROM.

Estraete tutti i file dell'archivio nella partizione che avete creato precedentemente.

Notate che - a parte questo README.md, che potete rimuovere liberamente - non dovete cambiare assolutamente i nomi dei file e delle directory estratte.

Utilizzo

Inserita la card SD accesa la vostra Raspberry Pi, dovreste vedere uno schermo multicolore (che indica che il bootloaded embedded sta leggendo i dati dalla partizione SB/USB) quindi, appare il logo Raspberry in bianco e nero una volta che il firmware UEFI è prondo.

A questo punto, potete premere il tasto ESC per entrare nel setup, F1 per lanciare la shell UEFI e - se fornito - avere un bootloader UEFI in `efi/bootaa64.efi`` che potete avviare (sarà il vostro default se non verrà intrapresa alcuna azione)

uefi boot

Metodo

Ho scritto questa parte ancora prima di provarla. L'ho fatto presso il negozio DNetware computer di Tor Sapienza a Roma, su un missile i9 per gamer in preparazione ed una chiavetta USB con adattatore per SD card.

Create an msdos partition table

  • sudo parted --script /dev/sdb mklabel msdos

Create, format, and label a 10M fat32 partition

  • sudo parted --script /dev/sdb mkpart primary fat32 0% 10M
  • sudo mkfs.vfat /dev/sdb1
  • sudo fatlabel /dev/sdb1 RPI-FW

Get the UEFI firmware onto the SD card

  • sudo mount /dev/sdb1 /mnt/
  • Download from RPi4 UEFI Firmware
  • sudo unzip Downloads/RPi4_UEFI_Firmware_v1.35.zip -d /mnt/
  • sudo umount /mnt/

A questo punto la card SD può essere usata per avviare la RPi e vi troverete nel firmware UEFI.

Non resta che creare la chiavetta con la normale procedura descritta nella guida.

Funziona!

Oggi, con l'aiuto dell'amico Walter di DNetware computer, finalmente ho avuto il "coraggio" di aprire il minicase del mio Raspberry ed effettuare la prova.

Abbiamo semplicemente formattato tutta la SD card con fat32 direttamente da uno dei computer Windows in costruzione, quindi - effettuato il download del firmware - il contenuto è stato decompresso nell'unica partizione creata: una SD è da 16GB. In effetti sarebbero bastati pochi Kb per il firmware.

A questo punto ho avviato il Raspberry che, correttamente, ha riconosciuto la chiavetta USB sulla quale avevo posto la ISO del sistema operativo e, con soddisfazione il piccolo s'è avviato.

Dopo un tentativo, non riuscito di installazione, ho effettuato nuovamente una ulteriore prova, Questa volta, però, il boot è stato effettuato da un disco SSD da 128 GB, sempre formattato con fat32, sul quale avevo installato ventoy. Anche in questo caso il disco è stato riconosciuto correttamente, ventoy ha creato la lista delle ISO disponibili e, selezionata egg-of-debian-bookworm-arm64 il sistema si è avviato correttamente.

La soddisfazione è enorme: eggs riesce a rimasterizzare buona parte delle distribuzioni Linux e su tre architetture di processore diverse: amd64, i386 ed adesso anche arm64.

L'utilità - al momento - è ancora poca, e manca infine l'installazione su Raspberry ed ARM in genere, ma ormai è questione di tempo e di test.

Ringrazio molto l'amico Walter, ed attendo notizie su eventuali repliche, vero Franco Conidi?

El “salto de la muerte” de la gimnasia que teme Simone Biles

E' nato, è nato!

E così dopo una ulteriore avventura con Franco, lottando contro i Titani, con problemi di saturazione della memoria per lui, ed incapacità di capire come abilitare il boot sul sistema installato per me, il giorno 13 ottobre 2023, il primo uovo da Raspberry 4 si è schiuso: nato, è nato!

is-born!

Downloads

Al momento sto creando immagini Debian bookworm ARM64, quindi, le trovate sulla pagina di penguins-eggs di sourceforge sotto Debian.

Per avviarle, naturalmente è necessario predisporre il Raspberry per il boot UEFI come indicato in precedenza.

Buon divertimento!

Bibliografia

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Ricordati di santificare le feste.

A Zagarolo in provincia di Roma la festa è una - oltre al patrono San Lorenzo - ed è la prima domenica di ottobre: la Sagra dell'uva!

Che c'entra questo in un articolo dove andremo a trattare come adattare la versione attuale di penguins-eggs a LMDE 6 i386?

Certo, potrebbe sembrare un mistero.

In realtà però è piuttosto semplice: sono originario di Zagarolo e le "radighe", radici per chi non è del paese, non si dimenticano mai.

Dalle prime versioni di penguins-eggs, utilizzo nodesource come repository per nodejs. Da molti anni però nodesource non rilascia più la versione i386. Per molto tempo, facendo i salti mortali, sono rimasto legato all'ultima versione disponibile per i386 - la versione node8 - poi ho abbandonato, passando direttamente a node16.

Con l'uscita di Linuxmint LMDE 6, mi è stato chiesto se era possibile rimasterizzare anche la versione i386 e così mi sono trovato a rimetterci le mani.

penguins-eggs v8.17.17

Pur disponendo di tutti i sorgenti della versione 8.17.17 la stessa NON può essere transpilata senza "pesanti" interventi.

Ho optato, quindi - per fare una prova - ad utilizzarla lo stesso ma andando a modificare direttamente i file transpilati ed installati.

Tutto sommato è riuscito abbastanza semplice. Dopo aver installato penguins-eggs v.8.17.17 sono andato a modificare dei file che si trovano in /usr/lib/penguins-eggs/lib/classes e cioè, /usr/lib/penguins-eggs/lib/classes/distros.js sostituito debbie con faye, e nella riga successiva ho sostituito buster con bookworm

In verità vi era pure qualche altra cosa, su ovary.ts credo, ma ho prodotto la ISO - sabato - ed ha comuque funzionato.

Semplificare l'esistenza

Naturalmente allineare la versione i386 a quella amd64 sarebbe stato l'ideale per avere una sola versione e così - stamattina - ho ricominciato a provare.

Io utilizzo per creare il pacchetto deb, oclif che fa un po' tutto da solo ed è stato splendido, specialmente agli inizi.

Aprendo /usr/lib/penguins-eggs/bin ho visto che oclif pone l'eseguibile di node in questa posizione. Tale eseguibile è utilizzato per lanciare il pacchetto in luogo del canonico /usr/bin/node.

Ho provato allora a rifare il pacchetto eggs-v9.5.26 per i386, rimuovendo in DEBIAN/control i riferimenti ad amd64 e sostituendoli con i386, quindi aggiungendo nodejs alle dipendenze, per vedere cosa succede.

Niente, non succede niente.

Però, sostituendo all'eseguibile di node in /usr/lib/penguins-eggs/bin/node un link a /usr/bin/node installato con apt, il tutto torna a funzionare!

L'unica accortezza è appunto eseguire questa operazione dopo l'installazione.

Naturalmente, nei prossimi giorni, proverò ad automatizzare anche questo, includendo la creazione del link direttamente nello script di post-installazione.

Ma, per oggi direi che basta così e buona Sagra dell'uva a tutti!

Sagra dell'uva 2023

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

How to get a colibri

We are going to describe how to go from a minimal standard installation to a complete remasterable system using addaura scripts.

This procedure work on Arch rolling, Debian (buster, bullseye, bookworm), Devuan (chimaera and daedalus) and Ubuntu (bionic, focal and jammy).

Arch

I started with latest version of archiso: archlinux-2023.09.01-x86_64.iso.

Then, used archinstall to get a minimal installation. On Disk configuration choose Use a best-effort default configuration layout, then btrfs or ext4, as you prefer.

Among the packages I added: git, lsb-release, others packages will be installed later by addaura.

At this point, we MUST configure network, I just choose the most basic: Copy ISO configuration to installation.

Finally select install and wait it finish. Archinstall will propose you to chroot to continue configuration, answer no and reboot.

Debian/Devuan/Ubuntu

On Debian and Devuan we start with a common netinst, without install nothing except standard system utilies

standard system utilies

When the installation finish, reboot the system.

After reboot, we now must install git and sudo. Log on your installed system, and:

  • su
  • apt install git sudo
  • /usr/sbin/adduser artisan sudo

We can now logout, and we are ready to the next step.

The procedure its about the same on Devuan.

On Ubuntu, we install with the server edition, again without install nothing except the minimal base. Here, at the end of installation I use to remove package cloud-init we are not interested on.

After reboot, we need just to install git to be ready: sudo apt install git.

Get and run addaura (all)

  • git clone https://github.com/pieroproietti/addaura
  • cd addaura
  • sudo ./addaura.sh

That will happen

eggs will be installed and configured properly for the chosen distribution.

Arch

addaura.sh will install few packages bash-completion, dialog, man-db, nano, openssh and wget and will add AUR repository to pacman.conf.

Then will install penguins-eggs.

Debian/Devuan and Ubuntu

addaura.sh will install new ppa for penguins-eggs, then will install eggs and its dependencies.

Get wardrobe and wear a costume (all)

Once eggs was installed, I proceeded to load the wardrobe and "dress" the system with the colibri costume.

  • eggs wardrobe get
  • sudo eggs wardrobe wear colibri At this point after rebooting, I found myself in the colibri graphical system.

Installing calamares

We can install calamares with the command: sudo eggs calamares --install.

Clean

After that, we can clean cached packages with command: sudo eggs tools clean.

Remastering our custom system

Well, we are ready to remaster the system, just a little reconfiguration and cleaning before:

  • sudo eggs dad -d
  • sudo eggs tools clean
  • sudo eggs produce --max --addons adapt

That's all folks!

arch-btrfs-colibri

debian

Videos

These videos were made simply using kazam on a window, live, no audio or editing, I would need help preparing something more professional.

· 2 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Stamattina, dopo aver rilasciato penguins-eggs-v9.5.26-1 mi sono accorto di un grave errore: Arch rimasterizzato non riesce ad avviarsi!

Fino a ieri, tutto OK.

Rimasterizzando blendOS LXQT che utilizza gli stessi script per mkinitcpio: tutto bene.

Rimasterizzando Garuda plasma lite, aggiornato allo stesso giorno tutto OK.

Cercare di capire che cosa sta succedendo non sembrava alla mia portata.

Dopo un giorno di scervellamenti, mi sono reso conto che, avendo portato il codice per la compatibilità con archiso dalla classe distro.ts al file archiso.yaml in /etc/penguins-eggs/archiso.yaml, non avevo però inserito Arch come compatibile con se stesso!

Il risultato era che le derivate mi funzionavano, Arch no.

Stamattina di buzzo buono, mi sono messo quindi a rilasciare le nuove versioni di Arch: naked, colibri e plasma che sto includendo nel wardrobe con il nome albatros. Se seguite il link, lo trovate sotto costumes.

La "ricompensa" - probabilmente casuale - è che mi sono accorto pocanzi che le stelle di gradimento hanno fatto un botto, passando da 280 a 297 in un solo giorno.

Speriamo continui!

Se qualche grafico è in linea e vuole collaborare, cerco uno sfondo con un albatros che vola su uno sfondo abbastanza scuro - problemi di vista.

Le nuove versioni le trovate qua.

Buona domenica a tutti.

albatros