Passa al contenuto principale

Enterprise Linux

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

E' passato un po' di tempo dall'ultimo articolo del blog, ma non invano.

Oltre a fedora, sono finite nel cestino delle uova anche AlmaLinux e RockyLinux, le due maggiori distribuzioni opensource compatibili con RedHat Enterprise Linux.

Tutto questo naturalmente ha richiesto impegno e lavoro, abbiamo praticamente la possibilità di rimasterizzare qualsiasi distribuzione Linux.Ok mancano ancora VoidLinux e Gentoo, ma deve valerne la pena.

Programmare è un bel mestiere, ma difficilmente è fine a se stesso. Pur non guadagnando nulla da questo progetto, se non il piacere di avere amici sparsi praticamente in tutto il mondo, devo capire se c'è interesse.

AlmaLinux e RockyLinux sono adatti ad un uso professionale. Anche OpenSuSE è attualmente rimasterizzabile con penguins-eggs e Debian ed Ubuntu sono pure ottime soluzioni server spesso utilizzate. Però da esperienza personale ho notato, che almeno in Italia, molte organizzazioni tendono ad usare RedHat ed usano/usavano CentOS, per il loro funzionamento.

Per queste grandi organizzazioni, avere la possibilità di creare delle ISO personalizzate ed installabili delle loro applicazioni server, potrebbe essere vista come una ottima opportunità.

Vediamo se c'è interesse, personalmente lo spero.

Per concludere, serviva una immagine su AlmaLinux e RockyLinux per introdurle. L'ho trovata e fa parte di un interessante articolo di managedserver: AlmaLinux VS Rocky Linux, quali sono le differenze chiave? Buona lettura!

Red Hat Enterprise Linux 9.5

Novità: proprio mentre scrivevo questo post, ho scoperto che il 13 novembre Red Hat Enterprise Linux 9.5 è stato rilasciato!

Oggi è il 15, vediamo come risponderanno ed in quanto tempo AlmaLinux e RockyLinux.

AlmaLinux 9.5 beta

E la risposta è arrivata immadiatamente, AlmaLinux ha annunciato in data odierna AlmaLinux 9.5 Beta.

Rimasterizziamo?

Ho scaricato l'attuale versione AlmaLinux-9.5-beta-1-x86_64-minimal.iso e proveremo a rimasterizzarla.

Il primo passo naturalmente è l'installazione.

Selezionata l'installazione minima, ho definito una installazione su ext4 con una partizione di swap, veramente ho barato riutilizzando le partizioni della Debian installata sulla stessa VM. Ho assegnato la password all'utente root: evolution, quindi ho creato un utente artisan con la stessa password. Ho incluso artisan nel gruppo wheel per abilitare il sudo.

L'installazione sta andando, regolarmente.

Installazione di penguins-eggs

Una volta completata l'installazione e riavviato, installeremo git, quindi:

  • git clone https://github.com/pieroproietti/penguins-eggs
  • cd penguins-eggs/PREREQUISITES/almalinux
  • sudo ./nodesource.sh # per installare nodejs >18
  • sudo ./install.sh
  • cd ~/penguins-eggs
  • sudo ./install-eggs-dev

Finita l'installazione di penguins-eggs, non ci resta che rimasterizzare la nostra AlmaLinux 9.5 beta.

Un solo comando:

eggs love

Alla fine del processo otterremo la nostra ISO, denominata: egg-of_almalinux-9.5-naked_amd64_2024-11-15_2029.iso

Installare la nostra versione

Per effettuare una successiva installazione tutto quello che dovremo fare è inserire l'immagine in una VM o copiarla su DVD o chiavetta, ed avviare il nuovo sistema.

Saremo automaticamente loggati, e non ci resta che far partire l'installazione!

Potete scaricare l'esperimento direttamente dal cestino delle uova e, mi raccomando, fresche!

egg-of_almalinux-9.5-naked_amd64_2024-11-15_2029.iso.

Vestiamo la nostra naked

Possiamo customizzare la nostra versione anche utilizzando il wardrobe di eggs, non dobbiamo far altro che:

  • eggs wardrobe get
  • sudo eggs wardrobe wear colibri

Ecco il risultato!

Due parole sul wardrobe

Il wardrobe è costituito essenzialmente da un file .YAML, in questo caso fedora.yml e da una sysroot nella quale vanno copiate le varie customizzazione.

Il file YAML è utilizzato per installare i pacchetti, la sysroot viene copiata in /.

Tutta questa è la magia!

Potete trovare il wardrobe su penguins-wardrobe, eseguire il fork e farvene uno vostro, oltre che - naturalmente - usare l'originale.

Aggiornamento del 19 novembre 2024

AlmaLinux - a distanza di soli 5 giorni, quindi, dall'uscita di RHEL 9.5 - ha già rilasciato la release 9.5 definitiva.

A ruota avremo anche RockyLinux 9.5, anche se per il momento, non sono riuscito a trovare indicazioni in merito.

Direi che il ritardo è minimo rispetto al vantaggio di vivere liberi, mettere le mani sul prodotto quando esce poter valutare subito, non tra due, tre mesi o peggio. come normalmente succede.

Ho rimasterizzato la nuova AlmaLinux 9.5 e la potete trovare nel basket

LastOSLinux

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

The methods behind the madness

For years Linux users have been set in their ways, just like me and windows, they are so used to walking the fine line of tinkering with things enough to get them working for them but without breaking things. Well I entered this with the goals of blowing it up. Progress at any costs to my own system functioning. Linux surprisingly stood up to much of my abuse and when things got broken, Linux offered ways of recovery/solutions. This was the areas I focused my attention as the unstable things are like living on the edge of progress and the most change can be accomplished.

The push back from the Linux users, many who never downloaded it is insane, some judge it and many don't even finish reading what I had to say. They hone in on 1 sentence or look at 1 screenshot, form their reply and complain, their minds are less open than their OS is. But this is an observation and not all of them do this, it just seems strange to me until I also moved away from windows due to people changing it from how I like mine to run and I now understand them and their reasons.

The goals I have will differ from those already on their mission of switching to Linux, who have had some time to find what works and what they like/tolerate. But that right there is the true cost of learning Linux... Time. Many people will not waste their time learning yet another system, they never even enjoyed using windows in their lives so far but they had no real choice but to push through learning it. So instead of throwing away the skills and methods they have already learnt, I am adding them into Linux, so it is less alien to them. I have worked on a lot of home users PC and seen how they set them up, seen what they use and what they break. Heard what their issues have been. For 30 years I've been "the computer guy" but really I was doing the same tasks over and over for everyone. I noticed this and started automating everything I did. No more forgetting how I did something, no more missing steps, Automation gave the same result every time. So I shared all this publicly. That is how LastOS grew to what it is today.

If Microsoft didn't keep reverting my changes on my own installs and moving their tools, renaming things, dropping features and removing options, I'd still be on it, but every month after the updates I was faced with "what have they broken on me this month". I was sick of fighting with it, it's bad enough fighting with browsers and security, with websites breaking themselves to look modern and work with phones, for example "pressing the cursor down key on many search boxes and pressing enter used to select the autocomplete text, on my shopping apps this is no longer the case, they expect you to touch the autocomplete text with your finger, the cursor key does nothing on a PC now". I don't want my OS to be that same fight too. What make Linux great is nothing happens unless you allow it and you tell it to. Windows was getting too random and inviting chaos into my life. Linux let me take back control. It does have a few of its own "random features", but we can work around these mostly.

The way to stick to Linux is by making it fun to solve the issues or enjoy learning the new things you need to, you get a big reward when you finally solve a problem. This is increased when you share your problem and solutions with others. Many of the things you learn along the way can then be used to improve other solutions you've used in the past.

Many have walked this path before you and are willing to help, even if some have turned a little stale from spending too long down a rabbit hole, or they keep seeing people falling off the same cliff every time they start their journey, even when they are warned about them. We each need to remember, progress is progress and should be celebrated. Even sometimes we need to fall off a few cliffs to get the knowledge and motivation to press through the harder things that will come up later in our journey. Just start trusting others are doing things for the right reasons and not being hard to deal with, stubborn or malicious. By me offering a new solution doesn't mean I am taking anything away from others on their journey. I am just giving them the signs and safety equipment to help them successfully complete their journey from Windows to Linux.

I am happy to see people customising it to be their own, that was the intention all along. My theme is just for starting users off, I like it myself, but knew others wouldn't. But to me modding has always been about the features and never about the theme, even grandma could change the wallpaper, icons and colors - that doesn't make it a custom OS, it only makes it personalised. Although I do personalise my OS a little too, it has custom tools and settings that most users will never discover on their own, unless they have the very thing we both mention you need - time. Many people don't have a lot to spare, I hoped by pre configuring things and making it into a really fast and simple install, that they would be willing to give it a go to see if it works for them too, I mean all the things I do can be undone and removed and all the things you do on vanilla mint will be possible on this.

I haven't reinvented the wheel, I am just putting more around it to make it all easier to use and understand. But without giving time to backup their data and break their install a few times, users will not stick to Linux, the fact is Windows is reliably mediocre and many have learned to tolerate it in their lives. I only ask that they give the same to Linux, it is a different tool to windows but can do almost all the same things. It's not better/worse or harder, just different and we all know how much people like change, he he he - but look at my long post above, Windows has been making major changes for years, if you've learnt to tolerate all that, then why can't you adopt a penguin? Even if you just keep both and "play" with your Linux when you have some time and mental space to learn something new - variety is the spice to life and with Linux there isn't one way to do any task - there is a selection of ways. Linux has too much customisation. but the good thing is - all of it is optional, you don't have to press the buttons, turn the knobs and pull the lever... unless you want to, it'll keep on working if you just leave it alone and only do what you want as well. Just because others are using it to change the world, doesn't mean you have to do the same.

Linux gives you choices and it's up to you to make the ones you will benefit from. But please don't just stay comfortable on Windows - it may be shiny and new, it may be solid, but beneath the surface they no longer care about making a tool that is the best way for you to use it, they are making tools that do the basics while at the same time trying to get more money out of you - Subscriptions, clouds and "trust me bro attitudes"... Microsoft are heading to a walled community as much as Apple did to get its billions.It's time for a change and people need to speak with their habits and wallets for their non work critical machines. The more users that are on Linux the more it will grow and flourish. It's not for everyone I get that, but if you have any time at all, it's for a good cause.

If your wanting to take the first step to get from Windows to Linux, here is a way (Note you must know how to learn to or know how to use Rufus or Ventoy to make a Bootable USB, Or simply burn a DVD of it, this is the only stepping stone to starting... and don't forget to backup your important data and photos before you start the journey.

About LastOSLinux

The download is a 4.6gb ISO file, semi direct link to ISO download from sourceforge.

Builder Scripts (to make your own ISO from scratch, includes Penguins Eggs as the very first step after the manual jobs): LastOSLinux v24.08.17.01

Also my build works on top of Mint v22, meaning when Mint v22 gets updated in December to v22.1, LastOSLinux will to, I was well aware of the issue with Distro's dying when I decided how to go about this. In other words, so long as Debian, Ubuntu and Mint Survive - LastOSLinux will too.

I am not doing what others try and make a distribution, instead I am using a solid base and packing my toolset on top of that... and making the code freely available so anyone can mod my mod or help me with mine.

Like I said, I've been doing this for windows for 20 years, I know how it all works and instead of me learning Linux for myself, I avoided doing this and focused on making my existing methods work in Linux, so that it's authentically Windows feeling. Now that this is done, I'll go learn some Linux things to make my release more attractive to Linux users as well, but before I begin doing that I intend to make a bunch of tutorial videos on how to use it all, how to make apps/games for the store etc etc. There is no point in having new tools if no one knows how to use them safely.

I am just getting things started and with over 1350 download in less than 7 days, I am motivated to help this project thrive.

Here You can get more info and the forum.

Enjoy

Glenn aka LiveFreeDead

theme-selector

way to fedora

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

E così, ridendo e scherzando è finita l'estate ed è maturato l'esordio di fedora 40 su penguins-eggs!

E' stata una avventura difficile, anche se ormai il fatto di lavorare con più distribuzioni comincia ad essere un aiuto invece che uno svantaggio, le conoscenze fatte cercando di adattare Alpine mi sono risultate utili anche per Fedora.

In questi mesi ho lavorato in contemporanea per Alpine, Fedora ed OpenSuSE e naturalmente su Debian ed Arch per cercare di venirne a capo.

Alpine è stato importante sia per la leggerezza, sia perchè essendo diverso mi ha costretto ad immengermi in mkinitfs ed a scrivere sidecar, per avviarlo. Dracut, tutto sommato potrebbe essere più semplice ma manca di una documentazione intuitiva.

Non è una critica, ci vuole molto di più a scrivere il software che ad impararlo ma dracut è stato veramente ostico sino a che - magicamente - ha funzionato.

Bene, abbiamo aggiunto Fedora , sia pure con il neessario rodaggio ancora da effettuare.

Attualmente penguins-eggs è il uno strumento unico - nel suo genere - e per quanto riguarda la capacità di adattarsi a differenti distribuzioni, pensare a gentoo non è più un tabù, anche se tempo fa mi piacque funtoo che nel frattempo... ma vediamo un po' che succede.

Innanzitutto c'è bisogno di una riarrangiata del codice, ovviamente in prima stesura si cerca la strada più breve, l'importante è che funzioni. Dopo anche la manutenzione ha il suo perchè e mettere a fattor comune funzioni diverse è un modo per risparmiare tempo.

Su Alpine e Fedora poi, abbiamo due grossi problemi: il primo si chiama UEFI ed il secondo calamares ma, anche krill - per Fedora, ancora non pienamente adattato.

Però diciamolo pure a chiare lettere: se qualcuno non viene a dare una mano, prima o poi sarò costretto a chiudere la bottega ed addio sogni di gloria.

Per cui la speranza è che qualcuno segua, si innamori del progetto e contribuisca a portarlo avanti.

Secondo me è utile e riunisce in un solo Linux, differenti ramificazioni oltre al fatto che - volendo - se ne potrebbe a questo punto crearne un propria.

pacchetto fedora

Non esiste ancora un pacchetto di installazione di penguins-eggs su fedora, bisognerà scriverlo partendo da qualche esempio con nodejs.

krill installater

Al moment krll su fedora è piuttoso dispettoso, non configura i locales e qualche volta si pianta. E' nato ieri, è pure normale, ma toccherà sistemarlo.

Per il momento consigli di installare con: `sudo eggs install -u² saltando tutte le configurazioni.

calamares installer

Sarebbe comodo trovare un esempio di configurazione di calamares su Fedora, non dubito ve ne siano ma non ne conosco - vengo da Debian - se qualcuno ha degli esempi prego contattarmi.

fedora

OpenSuSE

Naturalmente un prossimo target è openSuSE.

way to Alpine (reprise)

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

E' passato un mese, forse due dall'inizio dell'avventura con Alpine Linux visto che ho cominciato dopo metà giugno.

Punti di forza

Usare eggs con Alpine linux può essere veramente un piacere, rimasterizzare è un soffio, crearsi la propria versione con XFCE, plasma, gnome, etc veloce (vi sono i costumi del wardrobe di eggs: colibri ed albatros e funzionano egregiamente).

Per quanto riguarda l'hardware non ho modo di fare test, lavoro esclusivamente su macchine virtuali, ad ogni buon conto c'è un pacchetto linux-firmware che può essere aggiunto con doas apk add linux-firware e che dovrebbe "renderla" compatibile con i maggiori hardware presenti. Niente nvidia naturalmente, ma meglio così.

Dal mio punto di vista di sviluppatore di penguins-eggs, non ho voluto includere questo pacchetto perchè pesa 700 MB e rende quindi Alpine Linux meno leggera da rimasterizzare anche se - a parità di configurazione - più leggera di Arch - anche aggiungendo i firmware - e pesante la metà di Debian senza includere gli stessi.

Ostacoli

Da una parte è stata una esperienza bellissima ed alcune cose sono venute più facili del previsto: costruire un colibri per sviluppare penguins-eggs direttamente su Alpine, constatare le dimensioni minime della distro - con ovvie conseguenze sul debug, etc.

D'altra parte ci sono alcuni scogli che mio malgrado ancora non riesco a superare:

  • non ho ancora trovato il modo per avviare la ISO senza andare in recovery shell per montare overlayfs. Il risultato è aggirabile tramine lo script sidecar.sh, ma per l'utente finale e pure per me medesimo è una grande scocciatura.
  • ancora peggio con aports. Sono al terzo tentativo di effettuare il merge dal mio fork, per il momento ancora non se parla e, francamente essere bloccato così, dopo tanto impegno nello sviluppo, nel porting di eggs e nel costruire il pacchetto è, come dire: un pò "pesante"; (*) vedi nota
  • calamares, per qualche ragione - probabilmente mancanza di librerie - è presente sino alla version 3.18-8, ma non nella versione corrente 3.20-2 e neppure in edge. .

Conclusioni

A mio avviso penguins-eggs potrebbe essere lo strumento per portare Alpine Linux verso i desktop.

Capisco che attualmente tutti ci stiamo allontando dal desktop per andare su dispositivi touch ed Alpine da questo lato è ben fornita con PostmarketOS, però è sempre una possibilità e, comunque lo sviluppo avviene ancora su desktop.

Inoltre per un esercito di "smanettoni" può essere sorprendente far girare le ultime versioni dei desktop con dimensioni e pretese pari a metà o meno di quanto previsto da altre distribuzioni.

Ad esempio, la mia colibri, su Arch misura: 1,8 GB, su Debian boowwork è di 1.3 GB menre la versione Alpine è di solo 743 KB.

La foto sotto è una versione di Albatros costruita utilizzando il wardrobe di eggs su un sistema Alpine Linux... i686! Il peso? Circa 1,2 GB.

(*) Nota: Se qualcuno è pratico di git rebase, squash con git, etc magari mi può dare una mano. Non mi sento completamente a digiuno del resto, ma non riesco a capire il problema.

way to Alpine

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

Da qualche giorno - inizio luglio 2024 - sto impegnandomi, sarà il caldo, a portare penguins-eggs su Alpine Linux.

Naturalmente non è un processo semplice, Alpine è una distribuzione non derivata da Debian o da Arch e, pertanto, abbastanza diversa.

Per fare esperienza e saggiare le mie capacità, ho iniziato con il crearmi una macchina di sviluppo, il mio famigerato colibri, avvero una macchina abbastanza leggera con xfce, code, nodejs e pnpm per lo sviluppo di penguins-eggs.

Lo scopo ormai può dirsi riuscito, dispongo di una VM configurata perfettamente allo scopo ed è tracciato tutto quanto il percorso sul documento WAY-TO-ALPINE.md.

A che punto siamo con la creazione di una ISO?

Se avete già letto WAY-TO-ALPINE.md avete già una risposta: filesystem.squashfs completo, ISO avviabile da BIOS, mancanza di un initramfs che monti il filesystem.squashfs ed esegua il chroot in eggs.

A chi posso rivolgermi per una collaborazione?

Pure se sto continuando ad andare avanti, è evidente che mi servirebbe la collaborazione di una persona esperta di Alpine Linux, per trovare la soluzione.

Se qualcuno è in linea batta un colpo, avere penguins-eggs su Alpine Linux potrebbe facilitare la diffuzione della Distribuzione e permetterne una customizzazione a portata degli utenti finale. Inoltre, data la sua leggerezza sarebbe possibile effettuare nuomerosi test.

Mi serve aiuto però... magari anche da uno sviluppatore.

ISO to IMG

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

Nella puntata precedente abbiamo visto come rimasterizzare una MicroSD per RaspberriPi, creando una immagine .img.

Possiamo fare questo a partire da una immagine ISO per arm64 creata con eggs su una VM arm64?

Proviamo

Ho scaricato egg-of_debian-bookworm-naked_arm64_2024-04-14_1821.iso, la monto ed estraggo i file.

Sulla ISO ci sono 4 cartelle:

  • grub
  • efi
  • isolinux
  • live

Isolinux, qua non serve proprio, le altre due non sono sicuro. Quello che ci occorre è il contenuto di live:

  • filesystem.squashfs
  • initrd.img-6.1.0-20-arm64
  • vmlinuz-6.1.0-20-arm64

In soldoni dalla partizione bootfs dovremmo far partire vmlinux che a sua volta utilizzerà initrd-img, questo dovrebbe montare quindi filesystem.squashfs come in effetti succede su una VM.

filesystem.squashfs è 469M, diciamo che con una immagina da 1G dovremmo avere spazio a sufficienza.

Andiamo a creare un raspi.img da 1G, suddiviso in due partizioni: bootfs e rootfs.

Per non sbagliare, partiremo da una immagine esistente e sicuramente funzionante.

Scaricare immagine raspi 2024-07-04-raspios-bookworm-arm64-lite.img.xz

decomprimere l'immagine

unxz 2024-07-04-raspios-bookworm-arm64-lite.img.xz -k

Ridenominazione dell'immagine

mv 2024-07-04-raspios-bookworm-arm64-lite.img raspi.img

La nostra immagine root=PARTUUID=a3f161f3-02

sudo losetup -fP raspi.img
sudo losetup -a

Ridimensionare la partizione

sudo kpartx -av /dev/loop1 # loop0 è usato dall'immagine ISO

troviamo:

add map loop1p1 (252:5): 0 1048576 linear 7:1 8192
add map loop1p2 (252:6): 0 4481024 linear 7:1 1056768

montiamo rootfs

sudo mount /dev/mapper/loop1p2 /mnt/rootfs

copiamo il tutto

sudo rsync -aAXv   /media/artisan/naked/live/ /mnt/rootfs/

Andiamo a montare bootfs

sudo mount /dev/mapper/loop1p1 /mnt/bootfs

La configurazione su ISO

Queste sono le linee di configurazione di grub.cfg nella ISO live

linux /live/vmlinuz-6.1.0-20-arm64
append initrd=/live/initrd.img-6.1.0-20-arm64 boot=live components locales=en_US.UTF-8 cow_spacesize=4G

e questo è il cmdline.txt funzionante, della chiavetta precedente:

console=serial0,115200 console=tty1 root=PARTUUID=a3f161f3-02 rootfstype=ext4 fsck.repair=yes rootwait initrd=/live/initrd.img-6.1.0-20-arm64 boot=live components locales=en_US.UTF-8 cow_spacesize=2G

Qui non abbiamo /live/, quindi dovremmo, forse, aggiungere a cmdline:

initrd=/initrd.img-6.1.0-20-arm64 boot=live components locales=en_US.UTF-8 cow_spacesize=2G

semplificando, riscrivo in questo modo:

initrd=/initrd.img-6.1.0-20-arm64 console=serial0,115200 console=tty1 root=PARTUUID=a3f161f3-02 rootfstype=ext4 fsck.repair=yes rootwait boot=live locales=en_US.UTF-8

smontiamo tutto

sudo umount /mnt/bootfs
sudo umount /mnt/rootfs
sudo kpartx -d /dev/loop1

A questo punto raspi.img dovrebbe essere pronta per essere registrata su usb.

Questo è il boot dell'immagine prodotta

Noto che in init line 246 segnala l'assenza di /scripts/live... Ma in effetti questo file è presente, difatti facendo l'analisi di initrd.img-6.1.0-20-arm64 lo troviamo.

Analisi initrd.img-6.1.0-20-arm64

Il nostro file initrd.img-6.1.0-20-arm64 è compresso con zstd, possiamo rilevarlo con il comando:

file initrd.img-6.1.0-20-arm64

A questo punto possiamo decomprimerlo:

zstd -d -k  initrd.img-6.1.0-20-arm64 -o initrd.img

Quindi creiamo una directory content per riversare i dati:

mkdir contents
cd contents
cpio -id < ../initrd.img

contenuto di initrd.img-6.1.0-20-arm64

ls 
bin conf etc init lib run sbin scripts usr

ls scripts
bin conf etc init lib run sbin scripts usr

quindi, il file /scripts/live esiste...

Perchè non lo trova?

file /scripts/live

Il file /scripts/live esiste ed esiste /bin/live-boot

# Live system filesystem mounting			-*- shell-script -*-

. /bin/live-boot

live_top()
{
if [ "${live_top_used}" != "yes" ]; then
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-top"
run_scripts /scripts/live-top
[ "$quiet" != "y" ] && log_end_msg
fi
live_top_used=yes
}

live_premount()
{
if [ "${live_premount_used}" != "yes" ]; then
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-premount"
run_scripts /scripts/live-premount
[ "$quiet" != "y" ] && log_end_msg
fi
live_premount_used=yes
}

live_bottom()
{
if [ "${live_premount_used}" = "yes" ] || [ "${live_top_used}" = "yes" ]; then
[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/live-bottom"
run_scripts /scripts/live-bottom
[ "$quiet" != "y" ] && log_end_msg
fi
live_premount_used=no
live_top_used=no
}


mountroot()
{
# initramfs-tools entry point for live-boot is mountroot(); function
Live
}

mount_top()
{
# Note, also called directly in case it's overridden.
live_top
}

mount_premount()
{
# Note, also called directly in case it's overridden.
live_premount
}

mount_bottom()
{
# Note, also called directly in case it's overridden.
live_bottom
}

L'initrd è corretto, ho usato lo stesso della chiavetta usb, il file /script/live esiste purtroppo non riesco a superare questo scoglio.

Suggerimenti?

ancora su raspberry

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

Lavorare con taspberry è bellissimo, tuttavia dal punto di vista della rimasterizzazione abbiamo un problema: la mancanza di grub e la presenza di uboot.

Non sarebbe nemmeno male, ma eggs è strutturato per lavorare con grub ed isolinux, calamares lo stesso, quindi sinora le immagini realizzate per amd64 hanno girato esclusivamente su una versione di Proxmox VE come macchine virtualizzate su un Raspberry 4.

In questo modo abbiamo a disposizione una modalità di installazione standard ed in effetti inizializzando il lettore di CD con la notra immagine ISO riusciamo ad installare regolarmente il sistema con calamares.

Tuttavia, abbiamo bisogno di far girare il nostro lavoro su hardware reale e non emulato e ci scontriamo con l'assenza di un lettore CDROM, l'assenza di grub, etc.

Ho quindi provato a creare una immagine .img per rapberry raspi.img partendo dall'immagine lite, e metterla su chiavetta USB per vedere cosa succede.

Scaricare immagine raspi 2024-07-04-raspios-bookworm-arm64-lite.img.xz

decomprimere l'immagine

unxz 2024-07-04-raspios-bookworm-arm64-lite.img.xz -k

Ridenominazione dell'immagine

mv 2024-07-04-raspios-bookworm-arm64-lite.img raspi.img

La nostra immagine root=PARTUUID=a3f161f3-02

Aggiungere lo spazio necessario

Poichè il filesystem rootfs della mia raspberry ha circa 6GB di dati, mentre l'immagine lite ha circa 2,1 GB di spazio, occorre ingrandire l'immagine. Utilizzeremo il comando qemu-img resize:

qemu-img resize -f raw raspi.img +5G

Associa il file .img a un dispositivo loop:

sudo losetup -fP raspi.img

verifica

sudo losetup -a

espansione della partizione con gparted

sudo gparted /dev/loop0

Creazione dei dispositivi di mappatura delle partizioni:

sudo kpartx -av /dev/loop0

Verifica i dispositivi di mappatura creati:

ls /dev/mapper

monta rootfs

sudo mount /dev/mapper/loop0p2 /mnt/rootfs

esegui copia

sudo rsync -aAXv /zfs/raspi_backup/rootfs/ /mnt/rootfs/
sudo nano /mnt/rootfs/etc/fstab

Ed impostare fstab come segue:

Proc            /proc           proc    defaults          0       0
PARTUUID=a3f161f3-01 /boot/firmware vfat defaults 0 2
PARTUUID=a3f161f3-02 / ext4 defaults,noatime 0 1

monta bootfs

sudo mount /dev/mapper/loop0p1 /mnt/bootfs
sudo rsync -aAXv /zfs/raspi_backup/bootfs/ /mnt/bootfs/

edit /mnt/bootfs/cmdline.txt

sudo nano /mnt/bootfs/cmdline.txt

edita cmdline e rimetti la partizione corretta

console=serial0,115200 console=tty1 root=PARTUUID=a3f161f3-02 rootfstype=ext4 fsck.repair=yes rootwait splash quiet splash plymouth.ignore-serial-console

smonta

sudo umount /mnt/bootfs
sudo umount /mnt/rootfs

Rimuovi i dispositivi di mappatura delle partizioni:

sudo kpartx -d /dev/loop0

Rilascia il dispositivo loop:

sudo losetup -d /dev/loop0

Scrittura dell'immagine su MMC o chiavetta

A questo punto non ci rimane altro che scrivere la nostra immagine su una microsd o una chiavetta USB. Utilizzeremeo rpi-installer selezionando immagine custom e quindi la nostra immagine raspi.img.

Terminata la scrittura non ci resta che avviare il nostro raspberry e goderci l'ebbrezza del boot con la nostra immagine.

sourceforge

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

Sto avendo sempre più problemi nello scaricare le ISO da sourceforge.

Non comprendo il motivo, ma la faccenda è grave perchè alla fine non permette agli utenti di provare le varie versioni, etc.

Sino a non molto tempo fa, avevo una percentuale di download settimanali in cui circa la metà erano ISO e l'altra metà i pacchetti di eggs.

Da qualche tempo, la percentuale delle ISO si è notevolmente abbassata, non ne capivo le ragioni ma trovandomi a volte a scaricare delle semplici immagini naked per aggiornarle, mi sono trovato con tempi di attesa lunghi.

Quanto lunghi? Diciamo che, paradosso faccio prima ad effettuare un upload sulla mia pagina sourceforge che a scaricare il file che ho immesso.

Occorre perciò trovare delle alternative e mi sto guardando intorno.

Meta.io

Ho messo alcune ISO - per iniziare - su meta.io, le trovate sulla pagina download.

Le iso che trovate nella pagina, sono: colibri, voyager e LastOSLinux. La prima per sviluppo, particolarmente mirata alla creazione e mantenimento di penguins-eggs, la seconda una recente scoperta nella sua versione Debian e la terza il frutto di una collaborazioni in itinere con con il team di LastOS.

Per gli altri download al momento sempre sulla pagina surgeforge.

Tuxfamily.org

Ho provata ad iscrivermi su tuxfamily.org il progetto è in attesa di esame.

Suggerimenti?

Se avete suggerimenti o offerte di hosting potete scrivermi.

Raspberry Pi4 e Pi5

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

Oggi, dopo molto tempo, torno a scrivere qualcosa sul blog, tanto tempo è passato da fine gennaio, quando ho presentato PenGUI ancora in stato non funzionante.

Nel tempo l'ho corretta e vedo che attualmente marcia spedita a download su sourceforge, presto sarò libero da altri impegni e la potremo perfezionare.

Ma oggi voglio semplicemente descrivere le mie impressioni di utilizzo di Raspberry. Possiedo da tempo un Raspberry 4 che ho utilizzato per creare le ISO per ARM e per la compilazione di PenGUI su arm64 e, sto svrivendo attualment da una Raspberry PI con 8 GB di RAM connesso alla rete domestica.

Rete domestica un corno, perchè comprende una server Proxmox VE su amd64 sul quale sinora ho svolto il mio lavoro, una Pi 4 con 4 G di RAM, che mi funge sia da server per le macchine virtuali arm64 che da git domestico con l'ottimo Forgejo.

Naturalmente essendo col tempo diventato un esperto della customizzazione di sistemi operativi Linux, con sommo piacere opero su tutte e tre le macchine, più le svariate macchine virtuali con la mia customizzazione colibri.

Devo dire che è comodo, ho sempre una certa difficoltà - sarà anche l'età - a passare da un Desktop ad un altro. Per anni ho utilizzato di tutto, simo a stabilizzarmi su cinnamon di Linux Mint. Attualmente, anche per problemi di vista, mi viene comodo xfce che ha il vantaggio di ridimensionare i caratteri del terminale. Si, lo sò che basta installare un altro terminale su cinnamon e si campa tale e quale, ma mi trovo meglio ed è più leggero. Inoltre, da tempo ho "standardizzato" il mio ambiente di lavoro e lo posso installare con un sol colpo di eggs wardrobe wear colibri.

amd64

Su comune PC, parto dalla netinstall di Debian 12 bookworm che installo come dire "naked" ovvero con il minimo indispensabile e senza GUI,

arm64

Per rasberry sto utilizzando la versione lite di Raspberry Pi OS - basata su Debian 12 bookworm - senza interfaccia grafica, che customizzo successivamente utilizzando eggs.

L'ambiente che viene fuori è esattamente lo stesso, poi è chiaro che su raspberry mi troverò raspi-config ed il boot con uboot da configurare con /boot/firmware/cmdline.txt, mentre su PC avremo grub.

In sostanza, sto scrivendo dalla stessa tastiera e lo stesso monitor di sempre: tra farlo da raspberry Pi 5 o dalla mia quotidiana stazione di lavoro non cambia nulla.

I cavi, la vista e la vecchiaia

Odio attaccare e staccare i cavi, averne troppi, etc. Naturalmente sinora ho sempre staccato ed attaccato tastiera, mouse, monitor e cavo di rete da un PC ad un altro.

Ora, visto che tutto sommato mi viene comodo, sto provando ad utilizzare il nuovo Rasberry come unico computer da utilizzare direttamente. Si ha il vantaggio di non attacare e staccare cavi, abbassarsi per collegare la rete, etc. Il rasberry è naturalmete connesso in WIFI e va onestamente, per caricare e scaricare le ISO posso farlo con la rete cablata sul fisso e da Raspberry utilizzare quest'ultimo.

Ah, naturalmente al diavolo le MicroSD - sto lavorando con un drive ssd portatile attaccato alla USB3 ed alimentato direttamente dal Raspberry.

Vediamo come procede, per il momento, sarà un'oretta che il mio Pi 5 è attaccato. non scada affatto, ero molto preoccupato.

raspberry

penGUI: GUI for penguins eggs

· 4 minuti di lettura
Piero Proietti
penguins-eggs author
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.