È soltanto di ieri il
post in cui annunciavo di essere riuscito ad avviare un Mac PPC da USB, operazione notoriamente ritenuta impossibile da molti elementi della comunità Apple.
L'operazione in sé si è rivelata, in effetti, semplicissima (semplice avvio con il tasto "opzione" premuto), quello che rimaneva misterioso era il motivo per cui la cosa non funziona su tutti i Mac PPC, ma solo su alcuni. Personalmente ho provato l'operazione su cinque Mac (due iBook G4, due iMac G3 e un iMac G5), riuscendo a completarla esclusivamente sugli iMac G3.
Esplorando l'albero dei dispositivi di
Open Firmware ne ho finalmente scoperto il perché.
Sedetevi dunque davanti al vostro Mac preferito e scoprite come sono fatte le sue USB dal punto di vista di Open Firmware, assaporando per un po' l'ebrezza di usare una shell testuale diversa dalla classica quelle classiche di UNIX o del dos: la shell
forth…
Per prima cosa attaccate il vostro disco esterno e avviate il vostro amato Mac in Open-Firmware tenendo premuti all'avvio i tasti
mela-opzione-o-fDopo un attimo vi si presenterà una schermata bianca con alcune linee informative e vi si richiederà di rilasciare i tasti. Fatelo.
Probabilmente noterete che il software stampa un
ok a schermo. Questa sarà l'usuale risposta di Open Firmware: dopo ogni comando eseguito con successo verrà restituito un
ok.
Questo passo non è indispensabile ai fini dalla nostra esplorazione, ma converrete sulla sua comodità…
Nell'ambiente Open Firmware avete ben poche delle comodità di un sistema completo, perché non usare un terminale? Possibile che non si possa accedervi in remoto? Ovviamente no: Open Firmware è un software molto completo e sofisticato e permette questo e altro.
Se avete un altro computer (non per forza un Mac) connesso in rete con la macchina avviata in Open Firmware potrete infatti connettervi a questa via telnet, il più classico dei sistemi per comandare un computer a distanza, supportato indifferentemente da OS X, Windows o Linux (e di cui si può installare un client anche su Mac OS Classico).
Per prima cosa selezionate il pacchetto relativo a telnet:
ora avviate telnet sulla porta ethernet, assegnategli un ip (che dev'essere valido e della stessa sottorete dell'altra macchina) e redirezionate l'imput e l'output su di esso:
" enet:telnet,192.168.1.4" io
ovviamente
192.168.1.4 è l'indirizzo che ho dato al mio iMac, voi cambiatelo di conseguenza…
"fatta la legge, trovato l'inganno", direte voi: in questo caso non viene stampato il classico
ok. In realtà esso
viene stampato, ma ciò avviene sul dispositivo di output corrente, ovvero il server telnet, che voi ancora non potete vedere…
Andate sull'altro computer e preparatevi alla connessione. Per farlo dovete aprire una sessione di terminale.
Su Mac OS X l'applicazione Terminale è posta in Disco>Applicazioni>Utility, su linux ha varie locazioni, a seconda della distribuzione, ma non credo di dovere stare qui a dirvi dove si trova (
), su windows fate Start>Esegui e inserite
CMD, quindi premete invio.
Ora digitate
dove, chiaramente, dovrete adattare l'indirizzo ip a quello della vostra macchina avviata in Open Firmware.
Il terminale dovrebbe rispondere, dopo un attimo, con
Trying 192.168.1.4...
Connected to 192.168.1.4.
Escape character is '^]'.
ok
siete dentro!
Ed ora passiamo allo scopo di questo post…
Per prima cosa vedete che "alias" di dispositivi ha il vostro mac.
Un alias di dispositivo funziona esattamente come un alias Mac OS: è un "puntatore" utilizzato per comodità, per evitare di dover scrivere percorsi completi come
/pci@f2000000/mac-io@17/ata-4@1f000/disk@0.
Il comando per listare tutti gli alias del vostro Mac è
Vi verrà restituita la lista in questione, esaminatela pure con calma.
Andiamo a vedere le "proprietà" di qualche dispositivo…
Selezioniamo, ad esempio, il nostro disco rigido:
e usiamo questo comando per listarne le caratteristiche:
il mio Mac risponde così:
name disk
device_type block
ok
Un po', scarno, non trovate?
Andiamo allora a vedere qualcosa di più interessante, ad esempio la nostra scheda di rete:
0 > dev enet ok
0 > .properties
vendor-id 0000106b
device-id 00000024
revision-id 00000000
class-code 00020000
interrupts 00000001
min-grant 00000040
max-latency 00000040
devsel-speed 00000002
fast-back-to-back
name ethernet
device_type network
network-type ethernet
removable network
category 6e657400
compatible gmac
built-in
address-bits 00000030
max-frame-size 000005ee
reg 00007800 00000000 00000000 00000000 00000000
02007810 00000000 00000000 00000000 00020000
02007830 00000000 00000000 00000000 00010000
stats 00000004 00000004 0000030d 00000000 00000000
local-mac-address 000a9569 7df2
assigned-addresses 82007810 00000000 f5200000 00000000 00200000
82007830 00000000 f5100000 00000000 00100000
ok
(Ricordate che Open Firmware stampa l'ok ad ogni comando eseguito con successo senza andare a capo, in questo caso, quindi dovete dare il comando
dev enet.)
Molto più interessante, non trovate?
Sentitevi pure liberi di esaminare tutti i dispositivi che vi pare, quindi continuate la lettura…
Noterete, tral'altro, come tentando di selezionare alcuni dispositivi vi venga restituito un errore. Il motivo è semplice: sono dispositivi non utilizzati (ad esempio la porta adb, rimasta nell'albero dei dispositivi come relitto d'altri tempi…).
Finita l'esplorazione? Ottimo.
Ora vediamo di vedere il contenuto fisico di un dispositivo.
Date questi comandi:
Noterete come vi venga restituito un semplice "ok", con nient'altro a corredo. Il motivo è semplicemente che… all'hd non ci sono attaccati dispositivi. "Grazie tante", direte voi, ma ora andiamo a vedere cosa abbiamo nelle porte usb, che sono il fulcro di questo post…
Sul mio iMac, dando retta alla lista degli alias, mi trovo due usb: usb0 e usb1. Se però guardo gli alias del mio iBook (sul quale, ricordo, il boot da USb non è riuscito) noto che ho usb0, usb1, usb2, usb-1a, usb-1b, usb-1c, usb-2a, usb-2b e usb-2c. Un numero spropositato di usb, considerando che in realtà ce ne sono solo due…o almeno, così parrebbe…
Dunque torniamo a selezionare una delle USB, provatele tutte finché non ottenete qualcosa del genere:
0 > dev usb0 ok
0 > ls
ff944b70: /hub@1
ff944d78: /device@1
ff944ef0: /keyboard@0
ff945280: /eject-key@1
ff9455e8: /mouse@2
ok
Che cosa abbiamo qui? Andiamo a vedere…
/hub@1: lo hub interno della tastiera apple keyboard;
/device@1: la prima porta USB dello hub, nel mio caso non occupata;
/keyboard@0: la tastiera vera e propria;
/mouse@2: come avrete già capito, il mio mouse.
Notate come sia possibile selezionare (e listarne il contenuto) lo hub, ma non la tastiera o il mouse: essi non possono avere sottodispositivi.
Passiamo alla seconda porta usb, a cui è attaccato l'hd esterno:
0 > dev usb1 ok
0 > ls
ff944840: /disk@1
ok
ebbene sì: esso viene visto e rilevato dall'iMac G3. Cosa che, invece, non accade sugli iBook e sul G5. Il motivo, a pensarci bene, è semplice ed è lampante osservando la lista dei dispositivi: per questi Mac tutti i dispositivi USB sono collegati ad un unico hub interno (cosa che, stando a sentire gli esperti, è fisicamente vera), quindi nessuno dei dispositivi che possiamo attaccare noi, disco compreso, può essere collegato alla base di un dispositivo USB. E, a quanto pare, open firmware non rileva i dispositivi USB a piena potenza, quali un disco USB, quando non sono attaccati alla base, mentre rileva quelli a bassa potenza, come una tastiera o un mouse.
Ecco svelato l'arcano!
Facciamo ora un'ulteriore verifica: andiamo a vedere se esso è realmente il nostro hd. Il comando
dir, come accade nel dos, lista il contenuto di una cartella (o di un dispositivo…):
0 > dir usb1/disk@1:\
12292 2/24/ 7 12:22:38 .DS_Store
2/23/ 7 17:13:29 .Spotlight-V100
2/24/ 7 12:22:51 .Trashes
2/23/ 7 17:25:51 .vol
2/23/ 7 19: 1:45 Applications
2/23/ 7 18:52: 3 automount
3/28/ 5 6:42:12 bin
3/23/ 5 2:36:40 cores
3584 2/23/ 7 19: 2: 7 Desktop%20DB
2 2/23/ 7 17:22:58 Desktop%20DF
2/23/ 7 18:48:53 Desktop%20Folder
3/23/ 5 2:36:40 dev
11 2/23/ 7 17:22:31 etc
2/23/ 7 19: 0:36 Library
9 2/23/ 7 18:58:12 mach
597956 2/23/ 7 18:58:11 mach.sym
4313028 3/26/ 5 22:15:41 mach_kernel
3/23/ 5 2:36:38 Network
2/23/ 7 18:58:11 private
3/28/ 5 4:10:35 sbin
1/12/ 7 1:30:16 SeaMonkey.app
3/21/ 5 4:19: 9 System
2/23/ 7 18:48:53 TheVolumeSettingsFolder
11 2/23/ 7 17:22:31 tmp
2/23/ 7 18:48:53 Trash
2/23/ 7 17:22:14 Users
3/24/ 5 1:48:15 usr
11 2/23/ 7 17:22:33 var
2/23/ 7 18:59:13 Volumes
2/23/ 7 17:13: 5 %00%00%00%00HFS+%20Private%20Data ok
0 >
Ebbene sì: è proprio il nostro disco!
Se volete osservare il contenuto di una partizione particolare aggiungete
numerodipartizione, dopo i due punti. ad esempio per osservare la partizione numero 12 si farà:
Se non specificate una partizione verrà selezionata automaticamente l'ultima partizione
"benedetta".
Riassumendo possiamo concludere che
1) il boot da USB è possibile su qualsiasi Mac
NewWorld che abbia le USB attaccate direttamente alla scheda madre, senza passare da hub, virtuali o reali che siano, indifferentemente dal tipo di USB (1 o 2);
2) Open Firmware è un sofisticato e potente ambiente, molto superiore ad una qualsiasi bios, più un sistema operativo che un vero e proprio firmware.
3) L'albero di Open Firmware riproduce molto fedelmente il modo in cui i vari dispositivi sono collegati al Mac.
Ah, niente paura, non intendo abbandonarvi in una sessione di Open Firmware senza che conosciate il modo corretto per uscirne…
Per spegnere il computer digitate semplicemente
e premete invio.
Spero Che l'articolo vi sia piaciuto, se volete sapere qualcos'altro in proposito non esitate a scrivere qui sotto…
Le ultime notizie relative a questo argomento Mostrare e nascondere il menu di Spotlight tramite una combinazione di tasti (04/03/2009 - 00:16) letto 9596 volte
Come nascondere il menu di Spotlight su Leopard (17/01/2009 - 14:49) letto 6435 volte
OpenArena 0.7.6 (24/04/2008 - 17:32) letto 6562 volte
Come rimuovere la parte Intel degli eseguibili di Leopard (27/10/2007 - 14:37) letto 7582 volte
Le mie prime impressioni su Leopard (27/10/2007 - 01:07) letto 6373 volte
OpenArena 0.7.0 (09/07/2007 - 15:12) letto 10829 volte
OpenOffice.org in Aqua (06/06/2007 - 00:48) letto 5862 volte
Leopard rimandato ad Ottobre (13/04/2007 - 00:33) letto 6012 volte
Aggiornamento Mac OS X10.4.9: il resoconto (14/03/2007 - 18:41) letto 6334 volte
Tutte le notizie relative a questo argomento
Sono affasciato da questo tuo articolo!
Penso che presto cercerò di fare la stessa cosa con il mio Mac Mini G4! Volevo mettere su Leopard ma ho solo un disco USB e quindi pensavo che non ce l'avrei mai fatta! Se ci riesco ti faccio sapere, così magari puoi inserire anche il MacMini tra la lista delle macchine testate con questo metodo!
Ciao