Jump to content

Come creare il nostro installer personalizzato per Chameleon


Smith@@™
 Share

13 posts in this topic

Recommended Posts

In attesa che il cham team sistemi alcuni script serventi allo scopo ...

E' molto semplice, viste le numerose richieste avute in privato, vi spieghero' in linee generali come crearvene uno ad hoc che poi voi personalizzerete, chi piu' e chi meno, in base alle vostre preferenze.

 

Ok, cio' che vi serve:

 

1) PackageMaker, che potete trovare nei Developer Tools nel dvd di installazione. In istallazioni opzionali, selezionate xcode e ... installate. xcode puo' essere tirato giu' anche dal sito apple previa registrazione.

 

2) i file necessari per la creazione del booter, quali appunto boot, boot1h, boot0hfs, fdisk440 (in linee generali questi)

2a) troverete gli ultimi come rev in allegato, dal trunk

2b) potete tirali giu' voi stessi dai repository e compilarli

 

3) uno script che esegua l'installazione dei suscritti file, il boot, il boot1h e il boot0hfs. Ce ne sono alcuni in giro, potete usare quello scritto da elconiglio, potete prendere altri utilizzati in altri pkg sempre per l'installazione di chameleon, o potete scriverne uno voi. I comandi per quei 3 files sono essenzialmente gli stessi.

Ne troverete gia' uno in allegato. E' quello classico e piu' comune, ma pulito e modificato. L'installazione verra' fatta dai 3 files copiati su disco che verranno poi cancellati, cosi' da lasciare more clean.

 

4) 5 minuti del vostro tempo, dal momento in cui avete tutto cio' che serve.

 

Iniziamo. Da /Developer/Applications/Utilities aprite PackageMaker.

 

Ora dal Finder, clic su File e poi New;

 

La prima cosa da fare e' dare un nome ad Organizations. Io con molta fantasia ho dato: com.iSmith@@

In Minimum Target lasciate selezionato Leopard

OK

 

Ora potremmo editare l'interfaccia grafica del nostro PKG come inizio. Io, per velocizzarmi, ho utilizzato per il pacchetto in allegato gli stessi file che gia' utilizzai per il chameleon sulla guida dell'u100. Li trovate in allegato(sono vecchiotti, li preparai un po' di tempo fa, ma utili per farvi un idea di cio' che andrete, volendo, a modificare) Sono localizzati solo in inglese, se avete voglia e tempo, potete localizzare il tutto anche in Afrikaans :P

Modificate la gui come piu' vi pare. Fantasia.

 

Un bel click in alto a destra su Edit Interface. La prima modifica va fatta all'immagine di background, potete scegliere se lasciare quella di default o usarne una personalizzata a piacere.

In sequenza: Introduction, Read Me, License, Finish Up sono essenzialmente simili alla prima, molto intuitivi e non mi soffermo piu' di tanto

Avrete anche la possibilita' di inserire piu' licenze tradotte in varie lingue se state cercando "qualcosa" di piu' generale.

Terminata la parte di gui edit, un bel click sul pallino rosso dell' Interface Editor per passare alla parte principale.

 

Passiamo alla tab configuration e nel campo title diamo un nome al nostro pacchetto. In questo caso Chameleon rev 434555 etcetc.

Possiamo lasciar spuntato solo Volume selected e in Description volendo possiamo lasciare una descrizione generale per quello che stiamo costruendo. Le altre 2 tab possono rimanere untouched.

 

In base allo script creato e a quello che vogliamo fare, va modellato il contenuto. Io ho scelto di creare una cartella chiamata loader con i 4 files su citati. Fatelo, e trascianatela in Drop contents here nella parte sinistra dell'editor.

In Destination va selezionato il percorso dove volete sia estratta la cartella, un po' come gli archivi autoestraenti con winrar su windows. In questo caso ho scelto /cores/chameleon. Non preoccupatevi perche' lo script si occupera' di cancellarla a termine dell'installazione.

Ora passiamo alla tab scripts, in questo caso andremo ad inserire un solo script chiamato postinstall(in allegato) in Postinstall

 

Le possibilta' sono infinite. Potete scegliere di inserire delle choice, ulteriori cartelle, file, e chi piu' ne ha piu' ne metta. Sempre con lo stesso procedimento di qualche rigo piu' su.

 

Nel nostro caso, create una cartella sul desktop e chiamatela Extra, al suo interno una nuova cartella chiamata ancora Extra, al suo interno un ulteriore cartella che con molta fantasia ho chiamato Extensions and so on.

Trascinate, proprio come fatto per la cartella loader, la cartella Extra in Drop contents here. In destinazione ovviamente /

Avremo cosi' la nostra /Extra/Extensions al termine installazione.

 

Sbizzarritevi. Potete anche evitare di far estrarre una cartella in questo modo, magari facendola creare direttamente dallo script, e cosi' via. Date spazio alla fantasia.

Vi creerete un bel pacchetto ad hoc per la vostra configurazionecon kext, extensions, dsdt etc.etc. Con lo stesso script o modificato, come volete.

 

Non dimenticate di dare al contenuto i giusti permessi: root al proprietario e wheel al gruppo :(

Potete cambiare la path di destinazione ovviamente e scegliere un percorso diverso da /cores/chameleon. Di conseguenza modificate lo script 'postinstall'. Be' avete capito oramai, almeno lo spero.

 

Abbiamo finito. Un bel click su Build e attendiamo la costruzione dell'installer.

 

Avete creato il vostro primo pkg. Testatelo :P

 

Ho scritto il tutto mezz'ora fa, se notate castronerie o errori scrivete che al ritorno dalla facolta' correggo. Vi rispondero' stasera, fra un po' si ricomincia e il tempo non e' galantuomo.

Ho cercato di essere il piu' chiaro possibile, per questo caso le linee generali sono queste.

Chiedete anche a Fabio, che vi aiutera' sicuramente.

 

 

Chameleon_Trunk454RC5_embedded.zip

loader.zip

GUI.zip

postinstall.zip

 

*Qui ho utilizzato il piu' nuovo boot0hfs, potete anche riutilizzare il classico boot0. Vi bastera' rinominarlo in boot0hfs senza cosi' andare a ritoccare lo script;)

Link to comment
Share on other sites

Ho appena finito questo abbozzo:

post-464373-1283640653_thumb.png

 

Per ora supporta:

Asus P5K-E WiFi

Zotac GF9300 WiFI ITX

 

Appena posso aggiungo:

Asus P5K-R (anche per P5K-C P5K crossflash)

Gigabyte UD7 X58A

 

Qualcuno ha voglia di aiutarmi a riempirlo di schede madri?

Mi serve la cartella /Extra ed ogni eventuale altro file necessario

 

Il DSDT non deve essere specifico per il processore (dato che viene installata una delle ultime .rev di chameleon2RC5 non servono i p-state nel dsdt)

 

La Scheda Video (a meno che non sia integrata) non deve esser iniettata ne via dsdt, efi string o altro.

Va bene (anzi è consigliato) GraphicsEnabler=Yes in com.apple.Boot.plist

 

Se c'è interesse per la cosa apro un topico apposito e posto il tutto

Link to comment
Share on other sites

Ho appena finito questo abbozzo:

post-464373-1283640653_thumb.png

 

Per ora supporta:

Asus P5K-E WiFi

Zotac GF9300 WiFI ITX

 

Appena posso aggiungo:

Asus P5K-R (anche per P5K-C P5K crossflash)

Gigabyte UD7 X58A

 

Qualcuno ha voglia di aiutarmi a riempirlo di schede madri?

Mi serve la cartella /Extra ed ogni eventuale altro file necessario

 

Il DSDT non deve essere specifico per il processore (dato che viene installata una delle ultime .rev di chameleon2RC5 non servono i p-state nel dsdt)

 

La Scheda Video (a meno che non sia integrata) non deve esser iniettata ne via dsdt, efi string o altro.

Va bene (anzi è consigliato) GraphicsEnabler=Yes in com.apple.Boot.plist

 

Se c'è interesse per la cosa apro un topico apposito e posto il tutto

 

:unsure: Sulla UD7 Gigabyte la rev RC5 non va bene...ho problemi di boot...si avvia ma ho schermo ble.

Per l'extra posso upparlo.

PS:Accendi il tel...

@ Smith scusa per l'OT

Link to comment
Share on other sites

Piccola lista comodo per realizzare gli script (fonte) :

 

$1: Percorso completo al pacchetto d'installazione che Installer sta elaborando. Ad esempio:

/Volumes/Users/michelle/Desktop/Levon.mpkg

$2: Percorso completo alla cartella di destinazione. Ad esempio:

/Applications

$3: Volume di destinazione. Ad esempio:

/
/Volumes/Tools

$4: Root di sistema:

/

$SCRIPT_NAME: Nome dello script eseguibile. Ad esempio:

preflight

$PACKAGE_PATH: Indirizzo pacchetto installazione. Equivale a $1.

$INSTALLER_TEMP: Cartella usata dall'installer per i file temporanei. Gli script dell'installer possono usarla ma non devono sovrascrivere file dell'installer. Viene cancellata alla fine dell'installazione. Ad esempio:

/private/tmp/.Levon.pkg.897.install

Link to comment
Share on other sites

Credo sia un errore inserire troppo, inseriamo e buonanotte ai sognatori, ma... abbiamo davvero bisogno di un NUOVO dvd di installazione ?? Sempre in my honest opinion :blink:

 

Sempre per l'installer di chameleon, obviously

Link to comment
Share on other sites

 Share

×
×
  • Create New...