Solaris 11 sparc wanboot notes boot network

por | 15 agosto, 2016

guia rápida
1. En el servidor para crear la imagen:
installadm create-service -a sparc

2. en el boot prompt

setenv network-boot-arguments host-ip=192.168.24.225,router-ip=192.168.24.1,subnet-mask=255.255.255.0,file=http://192.168.24.213:5555/cgi-bin/wanboot-cgi

boot net

Solaris 11 sparc wanboot notes

This page's purpose is to be a guide for how to manually configure your own wanboot server by hand, rather than being "forced" to use oracle's "installadm create-service" lock-in.

Reasons why this is desirable:
Oracle's docs claim you need a DHCP server, and to run "mDNS", to install over the network. Either you deal with that mess, or you have to install from DVD.

THIS IS NOT TRUE!

You can successfully use sparc "Wanboot" methodology. No DHCP or mDNS required. Just remember to update your "network-boot-arguments" string, along the lines of

file=http://1.2.3.4:5555/cgi-bin/wanboot-cgi

(basically, it needs to match whatever the "root_server" line from the wanboot.conf file says)

Now, if you WANT to muck around with DHCP servers, and/or you want to use Solaris 11's "installadm create-client" stuff, more power to you. But if on the other hand, you'd rather just update the openboot network-boot-arguments setting on each server, then it's good to know you still can do that sort of thing.

It's interesting to know that, if you use "boot net", rather than "boot net - install", it will give you a mini-menu on whether you want a shell prompt, or to install Solaris, and also will ask you about disk usage, etc. So, you can also avoid setting up a "system profile" this way, also.

What I've tried

At the moment, I'm using a solaris 11 x86 machine to bootstrap putting the install files in the right place, but I think the information on this page, will give you the information to extract and copy the files by hand if you need to.

Since I already had the solaris 11 x86 machine, I only had to do 3 steps of pre-install configuration, to install on sparc over the network:

  1. x86-srv# installadm create-service -a sparc
  2. (on sparc) ok setenv network-boot-arguments (...host-ip,hostname,router-ip,subnet-mask,file...)
  3. (on sparc) ok boot net

Do note that the "create-service" subcommand, by default, downloads the full solaris install files from oracle. There is no need to download the iso separately. If you have already done so, however, you may reference it with
installadm create-service -s /path/to.iso
(I think. Havent tested it)

What installadm create-service -a sparc does

First of all, it downloads the appropriate image and drops it into /export/autoinstall/solaris11-sparc. The data here appears to be just the "sol-11-1111-ai-sparc.iso" image, extracted.

Next, it enables tftp, pointing to /etc/netboot

Next, it lofs mounts the above dir, to /etc/netboot/solaris11-sparc, AND /etc/netboot/default-sparc

Next, it creates two almost identical "system.conf" files under /var/ai/service. One under subdir "default-sparc", and one under "solaris11-sparc". It then lofs-mounts those files specifically, to /etc/netboot/(THATNAME)/system.conf

Config files created

wanboot.conf

Note1: this is the "stock" output. But people used to using wanboot,can see it is trivial to change "root_server" to their usual wanboot. server
Note2: It can take filesystem paths, rather than http relative paths.
Note3: It's VERY picky. You MUST access the boot_archive through "boot/platform/sun4v", NOT "platform/sun4v". Create a symlink
boot/platform -> ../platform
if you need to.
It also needs to be in the exact same path that the installadm util sets it up for. Otherwise, even if every file is the same, something gets confused, and starts complaining about failing to load boot/platform/sun4u/boot_archive/solaris.zlib

root_server=http://1.2.3.4:5555/cgi-bin/wanboot-cgi
root_file=/export/auto_install/solaris11-sparc/boot/platform/sun4v/boot_archive
boot_file=/export/auto_install/solaris11-sparc/platform/sun4v/wanboot
system_conf=system.conf
encryption_type=
signature_type=
server_authentication=no
client_authentication=no

system.conf

Note that this is the "stock" output. I THINK that the "install_service" just means "the subdir under the tftp tree where you get bootstrap files from. In contrast, the "install_svc_address", I think is meant to say where the "AI profile" comes from. Mind you, that same address/port is also where the files get served from. So... not entirely sure on that one.

install_service=default-sparc
install_svc_address=$serverIP:5555