- 论坛徽章:
- 0
|
Please forgive me to write this notes in English.
in breif, you have 2 choices to enjoy a diskless solaris installation.
Method One: (x86 pxe)+dhcp+tftp+nfs
client pc action remote
x86 pxe bootrom------------give me ip-------------->;[dhcpd]
<-----your ip & tftp options------------`
------give me nbp.SUNW.i86pc-------->;[tftpd]
<--------nbp.SUNW.i86pc-----------------`
load what got ---------give me SUNW.i86pc--------->;[tftpd]
<------------SUNW.i86pc-----------------`
load what got ----------get mountd param --------->;[tftpd]
<--------SUNW.i86pc options-------------`
---------mount remote root---------->;[nfsd]
load kernel at remote root and this kernel leads the follow booting
Method Two: (x86 floppy)/(sparc firmware)+rarp+bootp+nfs
client pc/sparc action remote
x86 boot floppy------------give me ip-------------->;[dhcpd]
sparc firmware, type "boot net" ------------------->;
<-------------your ip ------------------`
--------get boot parameter---------->;[bootp]
<--tell you where to mount remote root--`
---------mount remote root---------->;[nfsd]
load kernel at remote root and this kernel leads the follow booting
NOTES:rarp+bootp don't need nbp.SUNW.i86pc and SUNW.i86pc at all
The following is the detail steps to build your solaris install server.
The os of this install server can be linux, solaris, aix, ..., any unix.
In my example is a linux box.
S1: You should download the iso files from www.sun.com and burn them into CDs.
You copy the content of all cd into your install server file system.
Pay ATTENTION to the webstart install and v1 install CDs.
These two CDs cotain ufs mini-root system.
You need mount these two CDs in a solaris system first
and rip BOTH s0, s2 out to your file system.
You should take a help from some solaris users in this step.
as an example to install solaris 9 09/04 x86 version
I copy each cd content to following dirs.
/data/diskless/install/x86/solaris/9_0904/inst/s0 <- webstart install cd
/data/diskless/install/x86/solaris/9_0904/inst/s2
/data/diskless/install/x86/solaris/9_0904/v1/s0 <- traditional install cd
/data/diskless/install/x86/solaris/9_0904/v1/s2
/data/diskless/install/x86/solaris/9_0904/v2 <- install cd2
/data/diskless/install/x86/solaris/9_0904/lang <- language cd
/data/diskless/install/x86/solaris/9_0904/comp <- companion cd
ATTENTION: Your should reserve the file links and /dev nodes during copying.
so try "cp -RP /your_cdrom_mount_point /your_cdrom_image_dir"
or "cd /your_cdrom_image_dir; find /your_cdrom_mount_point -depth | cpio -ov | cpio -iv"
or "cd /yuur_cdrom_image_dir; tar cf - -C /your_cdrom_mount_point | tar xf -" for more safe
S2: export the cd image directorys.
as example my exports is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/diskless/install/x86/solaris/9_0904/inst/s0 *(ro,sync,no_root_squash,insecure)
/data/diskless/install/x86/solaris/9_0904/v1/s2 *(ro,sync,no_root_squash,insecure)
/data/diskless/install/x86/solaris/9_0904/v2 *(ro,sync,no_root_squash,insecure)
/data/diskless/install/x86/solaris/9_0904/lang *(ro,sync,no_root_squash,insecure)
/data/diskless/install/x86/solaris/9_0904/comp *(ro,sync,no_root_squash,insecure)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
so start nfsd "/etc/init.d/nfs restart"
S3: add your clients's MAC & ip address to /etc/ethers & /etc/hosts
as example my /etc/ethers is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0:c0:a8:fc:03:4d d300v
0:a0:c9:d1:84:95 p2
0:a0:c9:8f:d5:bc p3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
as example my /etc/hosts is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192.168.11.44 p2
192.168.11.45 p3
192.168.11.46 d300v
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
so start rarp "rarp -e". DON'T omit -e.
NOTES: It's important for rarpd to answer client's ip without retrieve anything.
Do you remember what I said before.
The rarp method don't retrieve any boot image unlike dhcpd way.
NOTES: your client ip can be read during booting sparc or x86 boot floppy.
S4: add your client's bootparameters to /etc/bootparams
as example my /etc/bootparams is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p3 root=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 install=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 boottype=:in rootopts=:rsize=8192
p2 root=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 install=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 boottype=:in rootopts=:rsize=8192
d300v root=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 install=192.168.11.111:/data/diskless/install/x86/solaris/9_0904/inst/s0 boottype=:in rootopts=:rsize=819
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
so start bootparamp "bootramap".
NOTES: in this example p2,p3,d300v has the same parameters.
But you can set them to different sources
in order to install different version solaris for each client.
install= is the nfs export install dir from your install server
install= can be any directory but root= must be the mini-root of webstart cd or v1 cd.
root= only a path related to install=. root= don't require to be a nfs export dir.
in this example they are same.
NOTES: 192.168.11.111 is the ip of my linux install server.
NOTES: If you are installing a sparc machinem just stop here.
Now you have fun to boot your sparc and type "boot net" in your OPENBOOT firmware prompt.
Look what happened? A successful installation boot just like booting from cdrom?
NOTES: Absolutly you need copy and export solaris install cdrom image if you are installing sparc.
My example is work for x86 pc.
NOTES: you can boot your pc from a floppy.
The floppy image is "Solaris_9/Tools/d1_image" at v2 CD.
to make your floppy "dd if=Solaris_9/Tools/d1_image of=/dev/fd0"
NOTES: Boot your pc from this floppy and press F2 to following the instructions.
Finally you will stop to select a boot source.
If you network card is supported by solaris.
You will see a net option here and just select it and press F2 to start a remote installation.
After ip acquiring and nfs mini-root mount, a remote installation will begin.
S5: config the tftpd server.
copy "boot/solaris/nbp" at your webstart cd s0 directory into your /tftpboot and rename nbp to nbp.SUNW.i86pc
copy "usr/platform/i86pc/lib/fs/nfs/inetboot" at your webstart cd s0 directory into your /tftpboot and
rename inetboot to SUNW.i86pc
so start your tftpd "/etc/init.d/xinetd restart".
don't forget to check if tftp correctly works with your /tftpboot.
and check that xinetd has enable to listen to tftpd. Check what under /etc/xinetd
S6: config the dhcpd server.
as a minimal example, my /etc/dhcpd.conf is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# global settings
allow booting;
allow bootp;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
# solaris x86 pxe boot
option space SUNW;
option SUNW.SrootIP4 code 2 = ip-address;
option SUNW.SrootNM code 3 = text;
option SUNW.SrootPTH code 4 = text;
option SUNW.SinstIP4 code 10 = ip-address;
option SUNW.SinstNM code 11 = text;
option SUNW.SinstPTH code 12 = text;
option SUNW.SbootFIL code 7 = text;
#client machine group
class "SUNW.i86pc" {
match if substring (option vendor-class-identifier, 0, 10) = "SUNW.i86pc";
vendor-option-space SUNW;
option SUNW.SrootIP4 192.168.11.111;
option SUNW.SrootNM "192.168.11.111";
option SUNW.SrootPTH "/data/diskless/install/x86/solaris/9_0904/inst/s0";
option SUNW.SinstIP4 192.168.11.111;
option SUNW.SinstNM "192.168.11.111";
option SUNW.SinstPTH "/data/diskless/install/x86/solaris/9_0904/inst/s2";
}
#network ip planning
subnet 192.168.11.0 netmask 255.255.255.0
{
option domain-name "home.net";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name-servers 202.96.209.133, 202.96.209.5, 202.96.199.133;
option routers 192.168.11.1;
range 192.168.11.201 192.168.11.209;
next-server 192.168.11.111;
server-name "192.168.11.111";
filename "nbp.SUNW.i86pc";
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
so start your dhcpd "/etc/init.d/dhcpd restart".
NOTES: 192.168.11.111 is the ip of my linux install server.
NOTES: dhcpd is only work for x86, so don't try this if you are installing a sparc.
NOTES: boot pc from your build pxe rom. An Etherboot boot floppy will not work here in my experience.
After a dhcp scan, nbp.SUNW.i86pc will first be loaded.
An solaris boot message will display here.
If your pc's network card is not supported by solaris, you will stuck here.
If in this situation, you had to installed from cdrom and install 3rd network driver later.
If lucky, your pc will soon load the second image SUNW.i86pc and mount remote nfs mini-root
and start a normal installtion remotely.
NOTES: As I known, Intel eepro100 is support by solaris natively.
As a review:
S1,S2,S3,S4 are need for method two which works for both sparc and x86.
S1,S2,S5,S6 are need for method one which works for only x86.
SUN SPARC OPENBOOT FIREWARE IS POWERFUL. |
|