免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1988 | 回复: 1
打印 上一主题 下一主题

how to diskless install solaris from a linux install server? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-07 14:23 |只看该作者 |倒序浏览
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.

论坛徽章:
0
2 [报告]
发表于 2004-11-07 14:31 |只看该作者

how to diskless install solaris from a linux install server?

what an ugly disply of my post. It get rid of all space charcters.
So I attach the original file here.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP