Installare solaris 10 su sparc via rete usando un server linux

IMPORTANTE, solaris 10 non va d accordo con nfs v 4 se sapete come fare io qua sono <br /> tutto cio' che leggete non e' solo farina del mio sacco ma e' parte di un HOWTO pescato in rete ed usato come base, perfezionandolo con cio' che ho dovuto fare per farlo andare <br /> <br /> <br /> Ingredienti per la ricetta <br /> <br /> Una macchina centos5 o altra distro e i seguenti programmi installati <br /> tftpd, bootpramd, rarpd nfs server e portmap <br /> <br /> la iso del DVD di solaris 10 che potete scaricare dal sito sun previa registrazione gratuita.<br /> Una sparc che supporti il solaris 10.<br /> un programma di terminale come per esempio minicom ( linux) o hyper terminal (windows) .<br /> Un cavo null modem per collegarvi alla sparc .<br /> <br /> Inutile dire che le due macchine debbono essere collegate nella stessa subnet altrimenti le cose si complicano assai.<br /> <br /> sparc - sara' il nome host della macchina solaris <br /> <br /> 192.168.0.2 - IP che assegneremo alla macchina solaris <br /> <br /> 192.168.0.1 - IP della macchina linux che fara' da server <br /> <br /> C0A80002 - e' la traduzione in esadecimale del IP che abbiamo assegnato alla sparc <br /> <br /> 08:00:20:a1:59:0a - MAC address della macchina solaris <br /> <br /> Per conoscere il mac address della sparc , accendetela , dopo il conteggio della memoria premete STOP+A per fermare il conteggio, al prompt dell' opb digitate banner e segnatevi il mac address <br /> Per conoscere quale sia il tasto stop se state usando una cavo seriale e un programma di emulazione sappiate che e equivale a un send break.<br /> <br /> /mnt/sol10 la directory dove copieremo l'intero dvd di solaris, a chi si sta chiedendo perche' devo copiare il dvd per intero, rispondo che dovro' modificare un file nel dvd affinche l'installazione possa funzionare.<br /> <br /> <br /> Aprire il file <br /> <br /> /etc/hosts<br /> <br /> ed aggiungerci una voce in cui dichiarate ip e nome macchina, i programmi bootparamd e rarpd usano hosts per la risoluzione dei nomi, quindi usate questo cosi' siete sicuri.<br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br /># Do not remove the following line, or various programs<br /># that require network functionality will fail.<br />127.0.0.1 localhost.localdomain localhost<br />192.168.0.1 install.dominio.it install<br />192.168.0.2 sparc.dominio.it sparc<br /><br /></pre> </div> <br /> /etc/ethers<br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br /> 08:00:20:a1:59:0a 192.168.0.2<br /><br /></pre> </div> <br /> /etc/bootparams<br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />sparc root=192.168.0.1:/mnt/sol10/Solaris_10/Tools/Boot \<br /> rootopts=192.168.0.1:rsize=8192,wsize=8192,vers=3 \<br /> boottype=192.168.0.1:in \<br /> install=192.168.0.1:/mnt/sol10 \<br /><br /></pre> </div> <br /> Il file bootparams definisce quali e che opzioni verranno passate al sistema che fara' una richiesta bootparamd , io non le conosco tutte ma a parte il boottype = in le altre mi sembrano esplicative , forse le piu' oscure potrebbero essere rsize e wsize, io ho provato con 32768 con risultati pessimi, ossia la sparc non portava a termine nemmeno il boot.<br /> <br /> /etc/exports<br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />/mnt/sol10 sparc(ro,no_root_squash)<br />/mnt/sol10/Solaris_10/Tools/Boot sparc(ro,no_root_squash)<br /><br /></pre> </div> <br /> anche qui, spieghiamo.<br /> il formato del file exports e' /directory_da esportare sistema(opziono di nfs) alla voce sistema possiamo sostituire ip ,una rete oppure il mondo che si rappresenta con * ( asterisco) cio' aumenta la sicurezza ecco perche' nell'esempio vedete sparc che e' il nome host della sparc che gli abbiamo assegnato.<br /> <br /> /etc/xinetd.d/tftp<br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />service tftp<br />{<br /> socket_type = dgram<br /> protocol = udp<br /> wait = yes<br /> user = root<br /> server = /usr/sbin/in.tftpd<br /> server_args = -v -v -s /tftpboot<br /> disable = no<br /> per_source = 11<br /> cps = 100 2<br /> flags = IPv4<br />}<br /><br /></pre> </div> <br /> le opzioni importanti sono -v -v -v utile per il debug, e /s tftpboot questo significa che tutti i file che tftpbootd servira' sono relativi alla directory /tftpboot <br /> per farvi capire:<br /> se la macchina chiede pippo, tftpbootd con l'opzione s cerchera' e inviera il file fisico /tftpboot/pippo , mentre senza l'opzione -s cerchera di inviare il file /pippo con ovvie conseguenze ossia che non lo trova e voi diventate scemi a capire dove e' l'inghippo <br /> <br /> /etc/sysconfig/nfs<br /> <br /> in questo file su centos-5.1 sono presenti molte opzioni tutte commentate , dovrete decommentare SOLO queste 2 <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;">RPCNFSDARGS=&quot;--no-nfs-version 4&quot;<br /><br />RPCMOUNTDOPTS=&quot;--no-nfs-version 4&quot;<br /><br /></pre> </div> <br /> e lasciate commentate le altre.<br /> <br /> Per le altre distro, sappiate che i daemon nfs devono esplicitamente vietare l'uso di nfs versione 4 <br /> <br /> Bene, ora copiamo il contenuto della iso nella directory appositamente creata, che nel nostro caso e' /mnt/sol10 <br /> <br /> Prima montiamo la iso in loop cosi' da leggerne il contenuto <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install ~]# mount /tmp/soloaris10dvd.iso -o loop /mnt/cdrom<br /><br /></pre> </div> <br /> Spostiamoci in /mnt/cdrom e copiamo l'intero contenuto nella nostra /mnt/sol10 <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install ~]# cd /mnt/cdrom<br /><br />[root@install cdrom]# ls<br />Copyright installer JDS-THIRDPARTYLICENSEREADME License Solaris_10<br /><br />[root@install cdrom]#<br /><br /></pre> </div> <br /> copiamo <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install cdrom]# cp -R * /mnt/sol10 <br /><br /></pre> </div> <br /> quando ha finito, dobbiamo andare in <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install sol10]# cd Solaris_10/Tools/Boot/sbin/<br /><br /></pre> </div> <br /> editiamo il file install-discovery<br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install sbin]# vi install-discovery<br /><br /></pre> </div> <br /> Cercate questo pezzo di codice <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"> # update the hosts file with the proper name to address<br /> # translation for our install server, if we are net DHCP booting<br /> if [ -n &quot;$is&quot; ]; then<br /> echo &quot;`/sbin/dhcpinfo SinstIP4` $is&quot; &gt;&gt; /etc/inet/hosts<br /> fi<br /><br /> if [ -n &quot;${Installfs}&quot; ] ; then<br /> /sbin/mount -F ${Installtype} -o vers=3 ${Installfs} /cdrom \<br /> &gt;/dev/null 2&gt;&amp;1<br /><br /></pre> </div> <br /> <br /> la riga incriminata e' <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"> /sbin/mount -F ${Installtype} -o vers=3 ${Installfs} /cdrom </pre> </div> <br /> tentiamo di spiegarla, si sta dicendo al sistema sparc di montare via nfs il percorso esportato dal server di installazione, in /cdrom della macchina che intendiamo installare <br /> <br /> nel file originale al posto di vers=3 c'e' ro che significa read_only quindi dovete sostituire ro con vers=3 come vedete nel pezzo di codice allegato.<br /> <br /> <br /> Ci siamo quasi, manca una parte fondamentale, ossia il file che dobbiamo far scaricare dalla sparc via tftp, questo file dipende dall'architettura ma generalmente, a meno di sistemi strani e' sun4u <br /> <br /> quindi andiamo nella directory <br /> <br /> <div class="codeheader">Codice:</div> <div class="code"> <pre style="margin-top: 0pt; display: inline;"><br />[root@install sol10]# cd Solaris_10/Tools/Boot/usr/platform/sun4u/lib/fs/nfs/<br /><br /></pre> </div> e copiamo il file inetboot nella directory /tftpboot fatto cio' creaiamo un link simbolico a questo file che sara' l'ip esadecimale che abbiamo gia definito, la sparc una volta che ha ricevuto l'ip dal rarpd fa una richiesta tftpget di un file che ha il nome dell'ip in esadecimale che gli abbiamo assegnato <br /> <br /> quindi una volta copiato il file inetboot in /tftpboot digiteremo ln -s /tftpboot/inetboot /tftpboot/C0A80002<br /> <br /> fatto cio' siamo quasi pronti.<br /> <br /> ora faccia ripartire tutti servizi coinvolti <br /> <br /> service restart xinetd <br /> service restart rarpd<br /> service restart bootparamd<br /> service restart portmap <br /> service restart nfs <br /> <br /> <br /> <br /> portiamoci sulla sparc, e digitiamo al prompt dell opb boot net -v che significa fai il boot da rete e si verboso<br /> <br /> spero sia leggibile e applicabile, i file che vedete vengono direttamente dalla mia macchina, quindi a parte gli ip sono quelli che stanno funzionando , se notate errori o passi incomprensibili vi sarei grato se me li faceste notare, saro' felice di correggerli.<br /> <br /> Piccoli tips,<br /> La sparc ad un certo punto scrivera configuring hme0 e ci mettera' un pochino, durante questa fase il sistema lancia un file che si chiama get_netmask che dovrebbe in teoria ritornare la netmask di un host passatogli some parametro, non ricevendola ( non funziona con macchine diverse da sparc) deduce la netmask dal ip quindi se usate 192.168.0.0 usate pure la corrispondente netmask di classe C , se come nel mio caso usate un ip privato di classe A per il server ma con una classe C come netmask, dovete vambiare il broadcast sulla scheda di rete dell install server in modo che sia per per esempio 10.255.255.255 e non 10.0.0.255 altrimenti quando la sparc fara' un reverse arp non gli rispondera' nessuno e l'installazione fallira'. <br /> <br /> Questo howto e' liberamente copiabile, traducibile a patto che citiate l'autore ossia Antonio Catani che sarei io<br /> <br /> la maggior parte delle informazioni da me trovate sono reperibili qui<br /> <br /> <a target="_blank" href="http://marvin.eclipsedminds.org/%7Evirtus/wiki/doku.php?id=netboot-solaris-linux"><br /> http://marvin.eclipsedminds.org/~virtus/wiki/doku.php?id=netboot-solaris-linux<br /> </a><br /> <br /> dude68 (AT) tiscali dot it

SMF 2.0.17 | SMF © 2013, Simple Machines
TinyPortal © 2005-2012

Indietro all'articolo