You told me everything about a PoisonApple

Se mi fossi lasciato sfuggire l’offertona di una decina di giorni fa presso i negozi @Work di Torino, non me lo sarei mai perdonato. Ecco dunque l’ultimo arrivato in casa SukkoPera:

Chiudendo un occhio sulla mia ridicola sagoma riflessa ;), si tratta di un iMac 24 pollici (ora fuori produzione) revisionato e perfettamente funzionante, portato a casa a 599 Euro.

Ovviamente, ero e rimango un utente GNU/Linux, per cui il mio primo lavoro su tale mirabolante macchina è stato quello di installarci MacOS X e Slackware in dual boot. Quelli che seguono sono i passi che ho seguito. So che ci sono centinaia di guide al dual-boot in giro per la rete, ma io non ne ho seguita nemmeno una ed ho fatto di testa mia, come da Slackwarista D.O.C. ;).

  1. Avviare dal DVD di MacOS X Snow Leopard (tenendo premuto ‘C’ all’accesione).
  2. Quando compare la prima schermata, dal menù Utility lanciare l’Utility Disco.
  3. Partizionare il disco come desiderato. Il mio iMac ha un disco da 320 GB, che ho così suddiviso:
    • /dev/sda1: Partizione di sistema EFI
    • /dev/sda2 (70 GB): MacOS X
    • /dev/sda3 (50 GB): Slackware
    • /dev/sda4 (200 GB): Dati

    Ignorando quella di sistema, la prima partizione è quella che ho poi indicato come target dell’installazione; la seconda è stata temporaneamente lasciata come spazio libero; per la terza ho scelto il filesystem HFS+ senza journal (vedremo dopo perché).

  4. Installare MacOS X a piacimento.
     
     
  5. Avviare il MacOS X appena installato e installare rEFIt.
  6. Riavviare il Mac due volte, finché non compare il menù di rEFIt, quindi da esso lanciare il Partitioning Tool e sincronizzare le tabelle delle partizioni.
  7. Avviare dal GParted Live CD (o equivalente, come ad esempio SystemRescueCd) e creare una partizione ext4 (o con il filesystem Linux preferito) nello spazio precedentemente lasciato libero. Questo è necessario perché, per poter ospitare senza troppe complicazione MacOS X e GNU/Linux, il disco deve avere una tabella delle partizioni ibrida GPT/MBR. Se creassimo la partizione con il classico (c)fdisk, la partizione sarebbe unicamente visibile nella struttura MBR e non sarebbe possibile avviarla.
  8. Riavviare, lanciare il Partitioning Tool di rEFIt e sincronizzare nuovamente le tabelle delle partizioni.
  9. Avviare dal DVD di Slackware e procedere all’installazione nella partizione appena creata.
     
     
  10. Godersi il dual boot :).
     

Credo che si potesse evitare il passaggio 6 semplicemente non lasciando la partizione come spazio libero, ma formattandola con qualunque filesystem e riformattandola poi come necessario durante l’installazione di Slackware. Forse avrei anche potuto crearla da Utility Disco ma non ci ho pensato subito, ed ho preferito riportare la procedura esattamente come l’ho svolta.

La più grande pecca di questa procedura, dovuta alla mia scarsa familiarità con EFI e la GPT (in particolare non ho idea se si possano utilizzare più di 4 partizioni con la tabella ibrida, cosa che richiederebbe l’utilizzo di partizioni estese nella struttura MBR), è che ho dovuto installare Slackware interamente in una partizione, senza suddividere / da /var e /boot come mi piace tanto fare. Addirittura, non ho potuto creare nemmeno una partizione di swap! Mi adatterò utilizzando un banale file di swap, sperando che le performance non ne risentano troppo (suvvia, in fondo la belva ha 2 GB di RAM! :p ).

La scelta del filesystem HFS+ non journaled per la partizione dei dati è dovuta al fatto che Linux è in grado di montare tale filesystem in lettura e scrittura, mentre se avessi attivato il journaling, Linux avrebbe montato la partizione read-only. In questo modo ho a disposizione parecchio spazio per scambiare dati tra i due sistemi operativi, anche se al prezzo di qualche pericolo in più in caso di spegnimento “irregolare” della macchina, ma in fondo ho un UPS mica per niente! :)

Vi terrò aggiornati su ulteriori esperimenti!

ffmpeg: Audio encoding failed

Qualche giorno fa, mentre encodavo qualche nuovo video per i Decade tramite il buon ffmpeg, sono incappato nel seguente errore:

[libmp3lame @ 0x80a64b0]lame: output buffer too small (buffer index: 9195, free bytes: 597)
Audio encoding failed

La soluzione è stata semplicemente quella di aggiornare LAME alla versione più recente. Quando è successo avevo la 3.98.2; ora sono passato alla 3.98.4 e il problema è sparito.

Il mio pacchetto della nuova versione per Slackware 12.2 è disponibile qua. Per chi volesse utilizzarlo su altre versioni della distribuzione, il relativo port per Slackmatic si trova qua. Maggiori informazioni sul mio repository arriveranno appena ho tempo ;).

Slow dawn

Credevo che le assurdità dei miei PC fossero terminate quella volta (tra l’altro, non saprei dire ancora oggi come ho risolto di preciso quel problema), ma mi sbagliavo.

In questi giorni sto migrando il server principale di SukkoNet da una macchina ad una più nuova. Sto migrando un servizio alla volta, e documentando il tutto, per condividere poi alla fine i frutti delle mie fatiche (e, in questo, sto apprezzando molto il nuovo Blocco Note di Google). Chiaramente, le prime migrazioni da effettuare erano quella dei dati (e qua ne ho approfittato per passare ad un RAID-1 su due dischi da 1 TB) e quella della “infrastruttura” che mi permette di navigare (il firewall e dnsmasq, in essenza).

La prima operazione è stata piuttosto semplice, anche se ho deciso di compierla in un modo piuttosto peculiare, ma di questo parlerò un’altra volta.

La seconda operazione è stata altrettanto semplice: copio la configurazione di dnsmasq, copio gli script del firewall, applico quelle poche modifiche necessarie (i.e.: cambiare l’IP della macchina su cui il tutto gira), sposto cavi, antenne e schede, testo la connessione e… Tutto pare funzionare alla grande! Lancio un rapido download di prova dalla console, e raggiungo l’incredibile velocità di 400 kb/s, cosa di cui non credevo la mia ADSL (4 mbit) fosse capace!

Bene, tutto a posto. A questo penso di poter proseguire la configurazione comodamente da remoto, così mi trasferisco nella mia stanza col fido MacBook. Per verificare la connettività, provo a fare lo stesso download da lì, ma… è molto più lento di 400 kb/s! Immediatamente penso che possa essere colpa della rete wireless, quindi faccio ssh sul nuovo server e lancio il download da lì, ma prova, riprova e riprova ancora, la velocità varia da un minimo di 10 ad un massimo di 70 kb/s, con una media attorno ai 40. Il pensiero successivo mi suggerisce che forse il sito da cui provo a scaricare è improvvisamente deceduto, quindi mi reco nuovamente alla console fisica del server per verificare questa teoria: lancio per l’ennesima volta il download, e… 400 kb/s!!!

Fermo restando che la lentezza potrebbe anche andarmi bene, in realtà il download in generale risulta molto “spezzettato”, e anche la navigazione ne risente (pagine che non si aprono o si aprono solo parzialmente), ma, soprattutto, la cosa assolutamente inspiegabile! Sono giorni che ci penso ormai, ma non trovo nessuna spiegazione plausibile per cui il download di uno stesso file, effettuato sulla console fisica della macchina o via SSH sulla stessa macchina, possa presentare velocità così diverse (o velocità diverse in generale).

Ma la cosa ancora più assurda è che se mi loggo sulla console del server, e da lì faccio ssh verso il Macbook, il download va a 400! E, ancora peggio, se da lì faccio ancora ssh verso il server, va sempre a 400!!!

Non è colpa del firewall, perché ho provato a disattivarlo, ma non cambia niente. Non c’è nemmeno alcun conflitto di interrupt, altrimenti non mi spiego come sia possibile quanto enunciato al paragrafo precedente

Non so dire se il problema si verificasse anche sul server vecchio, dato che non ricordo di avere lanciato un download dalla sua console. Certo è che ora mi viene il dubbio che tutte le volte che ho infamato l’ADSL di Libero forse ho sbagliato.

Io non so più dove sbattere la testa. Qualcuno ha idee? Il sistema operativo è Slackware 12.2, con il kernel 2.6.27.7-smp.