Dall'avvio da USB all'esplorazione di Open Firmware

mac_os_x.pngÈ 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-f
Dopo 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:

dev /packages/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 (:D), su windows fate Start>Esegui e inserite CMD, quindi premete invio.

Ora digitate
telnet 192.168.1.4

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 è

devalias


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:
dev hd

e usiamo questo comando per listarne le caratteristiche:

.properties

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:

dev hd
ls

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à:

0 > dir usb1/disk@1:12,\


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… :D
Per spegnere il computer digitate semplicemente

shut-down

e premete invio.

Spero Che l'articolo vi sia piaciuto, se volete sapere qualcos'altro in proposito non esitate a scrivere qui sotto… ;)
Pubblicato Sabato 24 Febbraio 2007 - 15:42 (letto 16502 volte)
Comment Commenti (4) Print Stampa

avatarDa: sconosciuto Data: Lunedi 27 Ottobre 2008 - 08:29

Sono affasciato da questo tuo articolo!:O
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

avatarDa: jackoverfull Data: Mercoledi 21 Gennaio 2009 - 23:39

Sono lieto di venir a sapere (un po' in ritardo…ehm, ehm…:!prometto che da ora in poi controllerò meglio i commenti) che ti sia piaciuto.O:)

Personalmente dubito, purtroppo, che sul mac mini ci sia speranza (ne ho uno, su cui non ho potuto provare per vari motivi): come hardware e configurazione è estremamente simile agli iBook G4…

avatarDa: scager Data: Sabato 01 Dicembre 2012 - 07:59

wedding dress Darin bridal dresses

avatarDa: Shanquan43 Data: Venerdi 19 Aprile 2013 - 12:44

fake watches



Le ultime notizie relative a questo argomento

Read Mostrare e nascondere il menu di Spotlight tramite una combinazione di tasti (04/03/2009 - 00:16) letto 9596 volte
Read Come nascondere il menu di Spotlight su Leopard (17/01/2009 - 14:49) letto 6435 volte
Read OpenArena 0.7.6 (24/04/2008 - 17:32) letto 6562 volte
Read Come rimuovere la parte Intel degli eseguibili di Leopard (27/10/2007 - 14:37) letto 7582 volte
Read Le mie prime impressioni su Leopard (27/10/2007 - 01:07) letto 6373 volte
Read OpenArena 0.7.0 (09/07/2007 - 15:12) letto 10829 volte
Read OpenOffice.org in Aqua (06/06/2007 - 00:48) letto 5862 volte
Read Leopard rimandato ad Ottobre (13/04/2007 - 00:33) letto 6012 volte
Read Aggiornamento Mac OS X10.4.9: il resoconto (14/03/2007 - 18:41) letto 6334 volte

Tutte le notizie relative a questo argomento
mac_os_x.png

 
Calendario
Data: 19/04/2024
Ora: 16:40
« Aprile 2024 »
Lu Ma Me Gi Ve Sa Do
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
 
Utenti
Persone on-line:
admins 0 amministratori
users 0 utenti
guests 1 ospiti
 
Cerca