Category Archives: Trashware

Alpine Linux, perché buttare l’hardware è peccato!

Avevo bisogno di un serverino domestico per alcuni esperimenti e per taccagneria passione per il trashware ho deciso di recuperare il mio “vecchio” (2007) EeePC 701 (Celeron M 900MHz, 2GB RAM, 4GB SSD).

Sono consapevole che un Raspberry Pi 4 sarebbe molto più performante, ma quanto ci avrei messo ad ammortizzare l’investimento?
L’EeePC 701 consuma:

  • 9,5V – 2,5A max → ~24W di picco
  • frequenza media della CPU su un uptime di 62 giorni: 113 MHz:32.73%, 225 MHz:21.17%, 338 MHz:15.11%, 450 MHz:10.52%, 563 MHz:6.91%, 675 MHz:2.72%, 788 MHz:3.57%, 900 MHz:7.28%
  • Una stima verosimile si attesta attorno ad una media di 11W

Tradotto in Euro significa:

  • 11 W × 24 h × 365 giorni = 96.360 Wh ≈ 96 kWh / anno
  • costo medio dell’elettricità in Italia nel 2025 = 0,30 €/kWh
    96 kWh × 0,30 € = ~28,80 € / anno

Un Raspberry Pi 4 Model B invece consuma:

  • 4,5 W × 24 × 365 = 39.420 Wh ≈ 39 kWh / anno
  • 39 kWh × 0,30 € = ~11,70 € / anno

Un Raspberry mi farebbe risparmiare circa 17€ l’anno, ma nuovo costa un centinaio di euro e per rientrare dell’investimento mi occorrerebbero circa 6 anni!

Ma veniamo ai problemi pratici: CPU a 32bit e disco da soli 4GB! Forse non ve ne siete accorti, ma la maggior parte delle distribuzioni ha deprecato il supporto all’architettura Intel 32-bit.

Nell’ordine ho quindi scartato:

  • Debian 12 (supporta i686 ufficialmente “solo” fino a giugno 2028), da amante del retrocomputing non mi ha entusiasmato la scelta di Debian di eliminare il supporto agli Intel a 32bit. L’installazione di base occupa circa 750MB.
  • Slackware 15/current: stabile, ma è complicato contenere la dimensione del sistema di base. L’installazione della maggior parte dei pacchetti delle serie a, ap, l ed n occupa circa 1200-1300MB, in oltre per il software extra ci si deve affidare a repository non ufficiali o ai maledetti Slackbuild.
  • Gentoo: RICOMPILARE UNA DISTRO MODERNA SU UN PC A 900MHZ?!!
  • Slitaz: progetto leggero ed interessante, ma non ha i pacchetti per il software che mi serve.
  • Tiny Core: stesso discorso di Slitaz.
  • Free/Net/OpenBSD: girano tutti senza problemi anche su i586, ma l’installazione minima richiede rispettivamente 1.3GB, 900MB e 1.2GB.
  • Arch Linux 32: uso Arch da 20 anni, c’era ancora installata una vecchia Arch sull’EeePC quando l’ho riesumato, ma mi sono ricordato di questo fork quando ormai era troppo tardi.
  • Void Linux: ha il miglio rapporto leggerezza-facilità d’installazione. Scartata perché ha un gestore di pacchetti con una sintassi troppo particolare per i miei gusti. L’installazione minima richiede circa 700MB.
  • Alpine Linux: non è solo sinonimo di container, può essere installata anche su hardware reale. Usa musl al posto di glibc ed è più leggera e performante di tutte le soluzioni precedenti. Purtroppo il suo installer non permette di gestire manualmente le partizioni, ma dato che l’installazione minima richiede meno di 200 MB ho deciso che valesse la pena effettuare l’installazione tramite chroot (stile Arch).

Installazione Alpine Linux tramite chroot

1. Configurazioni base

setup-hostname -n serverino
setup-keymap it it
setup-timezone -z Europe/Rome
setup-interfaces
passwd

2. Preparare il disco per btrfs

apk add btrfs-progs
cfdisk… [partizioni GPT con sda1 BIOS BOOT e sda2 Linux]
mkfs.btrfs /dev/sda2
modprobe btrfs
mount /dev/sda2 /mnt
cd /mnt
btrfs subvolume create rootvol
umount /mnt
mount /dev/sda2 -o subvol=rootvol,compress=lzo,sdd /mnt
mount –bind /dev /mnt/dev
mount –bind /proc /mnt/proc
mount –bind /sys /mnt/sys
mount -t devpts devpts /mnt/dev/pts -o gid=5,mode=620

3. Installare il sistema di base

setup-disk -m sys /mnt
chroot /mnt /bin/ash
apk update
apk upgrade
apk add grub grub-bios
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda

Filesystem cifrati (parte 3)

Per i malati del trashware ho voluto replicare il test precedente su un vecchio Pentium Dual-Core E5800 3.20GHz privo di accelerazione aes e con soli 4 GB RAM.
In questo caso non ho potuto usare gocryptfs perché supporta come minimo CPU x86-64-v2. Al suo posto, come FS userspace, ho ripiegato per il vecchio EncFS (solo a scopo didattico perché non è più attivamente sviluppato e non è attualmente considerabile sicuro).

Ext4 con fscrypt si è confermato il filesystem con le maggiori performance in scrittura, dm-crypt/LUKS non gli si è discostato di molto e lo ha addirittura superato in quanto a velocità di lettura. EncFS è riuscito a fare meglio solo dello ZFS che purtroppo dopo pochi secondi saturava sistematicamente un core della CPU.
Per trasferire 5GB cifrati con un PC di 15 anni fa occorrono (circa) quindi:

  • 1’06” con EXT4
  • 1’14” con LUKS
  • 3’06” con EncFS
  • 4′ con ZFS

Velocità in lettura

Ci faccio un serverino (parte 2)

C’eravamo lasciati con una domanda: quale fosse il sistema operativo migliore per ottenere il meglio da quel Pentium 200 con 48MB RAM, hard disk da 2GB e scheda ethernet NE2000.

Il collo di bottiglia di quel bolide era la scheda di rete ISA a 10Mbit e tutti i sistemi operativi provati hanno superato abbondantemente il limite di trasferimento di 900 KB/s di quella scheda, quindi probabilmente anche DOS non ci avrebbe sfigurato.
Per dare comunque un senso a questo test, ho installato sulla replica di quel PC una scheda di rete RTL8139C PCI a 100 Mbps ed ho provato a spremerlo con alcuni trai principali OS per server disponibili all’epoca:

  • Windows 2000 Server: facciamo lo sforzo di fantasia di immaginare uno studente 19enne con $999 da buttare investire per il sistema operativo del suo serverino domestico
  • Debian Woody 3.0 (kernel 2.4.18): la distribuzione più di cool disponibile in quel momento
  • Linux Mandrake 9.0 Dolphin (kernel 2.4.19): la distribuzione che usavo sul desktop di tutti i giorni
  • OpenBSD 3.1: perché davvero la usai su quel PC (anche se non quella specifica versione), per vedere come si comporta un sistema BSD su quell’hardware e perché il suo sistema di base comprende server web ed ftp, così non devo ingrullire a cercare pacchetti su mirror di mirror di mirror sperando che il sysadmin si sia scordato di cancellarli
  • SCO Openserver 5.0.6: nello stesso mondo immaginario in cui posso spendere due milioni di lire per Windows server non ho difficoltà a tirare fuori un milione e mezzo per acquistare la licenza base dello SCO UNIX

Come avevo già fatto per il test su macchina virtuale, anche qui ho misurato la velocità di trasmissione via http col tool ab con un carico di 100 connessioni simultanee per un totale di 10000 connessioni caricando un documento da 18,6 KB. Per verificare la velocità massima di trasferimento via ftp ho invece eseguito 5 upload e 5 download di un file da 100 MB, ho fatto la media dei tempi e ne ho calcolato la velocità.

Con mia grande sorpresa Windows 2000 ha battuto la concorrenza in 2 prove su 3: distribuzione di pagine html statiche e upload via ftp (apprezzate l’onestà perché avrei potuto insabbiare tutto). Mandrake, pur essendo una distribuzione orientata all’uso desktop, si è comportata molto bene superando Debian in ben 2 prove. La cosa che più mi ha infastidito di Mandrake è stata il suo lunghissimo tempo di avvio: quasi 2 minuti contro i 30 secondi circa di tutti gli altri sistemi operativi. OpenBSD si è difeso bene mantenendo valori intermedi in tutte le prove. SCO Openserver, come già era successo nei test su macchina virtuale, è stato il sistema operativo più lento in tutte le prove. A titolo informativo segnalo che SCO è stato di gran lunga il più lento nel processo di installazione, durato oltre un’ora e mezzo, ed è stato l’unico sistema operativo a non supportare nativamente l’RTL8139.

Classifiche

WEB server
1) Windows 2000
2) Debian Woody
3) Linux Mandrake 9.0
4) OpenBSD 3.1
5) SCO Openserver 5.0.6

FTP-UPLOAD
1) Windows 2000
2) Linux Mandrake 9.0
3) OpenBSD 3.1
4) Debian Woody
5) SCO Openserver 5.0.6

FTP-DOWNLOAD
1) Mandrake 9.0
2) OpenBSD 3.1
3) Debian Woody
4) Windows 2000
5) SCO Openserver 5.0.6

WINDOWS 2000
IIS/5.0
WEB UP: 4600 KB/s

FTP RX: 4100 KB/s
FTP TX: 2800 KB/s
Mandrake 9.0 (2.4.19)
Apache/1.3.26
WEB UP: 3180 KB/s
Proftpd 1.2.5
FTP RX: 3600 KB/s
FTP TX: 4950 KB/s
Debian Woody (2.4.18)
Apache/1.3.26
WEB UP: 3560
Proftpd 1.2.4+1.2.5RC
FTP RX: 2425
FTP TX: 3028
OpenBSD 3.1
Apache/1.3.24
WEB UP: 1595 KB/s
OpenBSD FTPD
FTP RX: 2450
FTP TX: 3550
SCO Openserver 5.0.6
Netscape-FastTrack/2.01
WEB UP: 1315 KB/s
WU-FTP2.1+SCO-2.6.1
FTP RX: 1845
FTP TX: 1806

Digitale Civile

distretto_economia_civile

Al via il progetto Digitale Civile del Comune di Empoli, in collaborazione con numerose associazioni di volontariato del territorio, tra cui GOLEM.

Hai mai pensato di donare il tuo vecchio computer?
Il progetto Digitale Civile mira a lenire gli effetti del divario digitale nei confronti dei cittadini, con priorità per gli studenti che, in virtù delle misure di contenimento della diffusione del virus, hanno l’esigenza di dotarsi di strumenti adeguati per lo svolgimento delle attività di didattica a distanza.

Per maggiori informazioni, consulta la pagina dedicata.

Rocambolesca riparazione di un hard disk Seagate

Connettore seriale TTL 3v3 di un disco Seagate

Quando il vostro hard disk improvvisamente smette di funzionare, senza aver mai dato nessun segnale premonitore, se è un Seagate forse potete sempre fare qualcosa.

Alcuni dischi Seagate Barracuda sono dotati di un firmware bacato (7200.11) che, in maniera del tutto casuale, va in blocco e impedisce del tutto la comunicazione SATA. In tale circostanza, il disco non viene più riconosciuto dal sistema operativo (fdisk, dmesg, syslog) né dal BIOS: appare insomma come se non fosse nemmeno attaccato al computer.

Si può tuttavia tentare un barbatrucco: resettare i dati SMART tramite l’interfaccia seriale di debug dell’hard disk. Questo metodo miracoloso dovrebbe dare il tempo necessario per ricopiare i preziosi dati su un altro supporto, possibilmente più affidabile.

In questa pagina archiviata (in inglese) si possono trovare tutte le istruzioni, da seguire alla lettera (non scherza, da seguire veramente alla lettera, compreso il collegare opportunamente tutte le masse).

Ora se volete scusarmi vado a casa a farmi venire un infarto.

Vincent Vega