How To clone our Solaris Sun boxes:
Create flash-archive
flarcreate -n "s01 flash" -c -R / -x /atlashome /atlashome/carsten/s01.flar
Our configuration
Currently s05 is our testing Jumstart-Server. Edit Template-file /root/bin/jet_template and edit e.g. flash_archive_locations (cf. JET).
Use the script
/root/bin/set_boot.sh jumpstart s11
to activate jumpstart for s11 (node must be in dhcpd.conf of our dhcp-server). Reboot s11 and set bios-boot-devices first to net-boot. After 15 minutes s11 should be installed.
TODO: Boot from 10G-card? Create final flash-image? Updates via flash differential-archives?
A good tutorial can be found here:
http://wiki.c0t0d0s0.org/index.php?title=JumpstartTutorial
- Download an install JET: /opt/SUNWjet/ contains all the tools you need
- Copy install media via /opt/SUNWjet/copy_solaris_media cdrompath... to /export/home/install and share this directory
- Create template ./make_template sXY custom sds flash
- Edit /opt/SUNWjet/Templates/sXY:
base_config_ClientArch=i86pc
base_config_ClientEther=0:14:4f:a6:d2:68
base_config_ClientOS=10
1. base_config_sysidcfg_nameservice="DNS { domain_name=atlas.local name_server=10.20.10.2 search=atlas.local }" # ???
base_config_sysidcfg_nameservice=NONE
base_config_sysidcfg_network_interface=e1000g0
base_config_sysidcfg_ip_address=10.20.20.XY
base_config_sysidcfg_netmask=255.0.0.0
base_config_sysidcfg_root_password="PASSWDHASH???"
base_config_sysidcfg_system_locale="C"
base_config_sysidcfg_timeserver=10.20.40.10
base_config_sysidcfg_timezone="Europe/Berlin"
base_config_sysidcfg_terminal=vt100
base_config_sysidcfg_security_policy=NONE
base_config_sysidcfg_protocol_ipv6=no
base_config_sysidcfg_default_route=10.20.10.2
base_config_nodename="sXY"
base_config_defaultrouter="10.20.10.2"
base_config_dns_domain="atlas.local"
base_config_dns_nameservers="10.20.10.2"
base_config_dns_searchpath="atlas.local"
base_config_ntp_servers="10.20.40.10"
base_config_networkifs="e1000g0"
base_config_networkif_e100g0="netmask 255.0.0.0 hostname s11 address 10.20.20.11"
sds_root_mirror="c5t4d0"
sds_use_fmthard="yes"
sds_database_locations="rootdisk.s7:5"
sds_database_partition="s7:32"
flash_archive_locations="nfs://10.20.20.5/export/home/s05.flar"
- Make: "./make_client -f sXY"
- The important Jumpstart-files are stored in /opt/SUNWjet/Clients/sXY, like "sysidcfg" and "profile".
- Enable TFTP in /etc/inetd.conf and restart inetd with svcadm
- Edit /tftpboot/boot/grub/menu.lst which should look like
default=0
timeout=30
title Solaris_10 Jumpstart
kernel /I86PC.Solaris_10-1/multiboot kernel/unix - install -B install_config=10.20.20.5:/opt/SUNWjet,sysid_config=10.20.20.5:/opt/SUNWjet/Clients/s11,install_media=10.20.20.5:/export/home/install/media/Solaris_10,install_boot=10.20.20.5:/export/home/install/media/Solaris_10/boot
module /I86PC.Solaris_10-1/x86.miniroot
- Take care to add the - install between "kernel/unix" and "-B ...". This argument enables "Custom Jumpstart" - otherwise system will per default boot into an interactive menu (options "text" or "nowin"). This may be a bug in Jumpstart...
- Add the following lines to dhcpd.conf on your dhcp-server for your Jumpstart-Clients:
next-server 10.20.20.5;
filename "pxegrub.I86PC.Solaris_10-1";
- Reboot client and choose netboot during start...
Ideas:
- Wrong entries in sysidcfg will cause the start of an interactive installation. E.g. the "root_password"-entry must not be too long.
- Instead of /tftpboot/boot/grub/menu.lst pxegrub first looks for /tftpboot/menu.lst.01. Here we can place a custom boot-menu
- Use custom_scripts_f to execute a script afer jumpstart-installation (e.g. for disabeling the installation boot-menu)
Jumpstart
If you dont want to use JET you can easily do such things by hand:
Create and export the Jumpstart/Installation-directory e.g. "/jumpstart" and make sure that nfs-options are set to "ro,anon=0".
Then copy the installation-media-files to your harddisk:
# e.g. mount the image
lofiadm -a /tmp/sol-nv-b79b-x86-dvd.iso /dev/lofi/1
mount -F hsfs -o ro /dev/lofi/1 /mnt
# and copy files via
/mnt/Solaris_11/Tools/setup_install_server /jumpstart/solaris_installation
In fact this may be not necessary for we just want to do flash installation.
Then youve got to create Jumpstart-configuration files:
/jumpstart/rules
hostname s11 test_begin test_profile -
# or
any - test_begin test_profile -
/jumpstart/test_profile
# profile keywords profile values
# ---------------- -------------------
install_type flash_install
archive_location nfs 10.20.20.3:/rz2pool/flash/archive1s09_.flar
partitioning explicit
filesys c5t0d0s0 20652 /
filesys c5t0d0s1 2000 swap
What about creating pre and post-install-scripts:
/jumpstart/test_begin
Then execute ./check and rules.ok is createt if syntax is ok.
/jumpstart/sysidcfg
system_locale=en_US
timezone=MET
timeserver=localhost
network_interface=primary {netmask=255.255.255.0 protocol_ipv6=no}
terminal=vt100
nfs4_domain=dynamic
security_policy=NONE
name_service=NONE
service_profile=limited_net
root_password=changeme
Execute:
cd /jumpstart/solaris11/Solaris_11/Tools/
./add_install_client -i 10.20.20.11 -p 10.20.20.3:/jumpstart/ -c 10.20.20.3:/jumpstart/ s11 i86pc
Enable TFTP and make sure that /tftpboot/boot/grub/menu.lst
default=0
timeout=30
title Solaris_11 Jumpstart
kernel /I86PC.Solaris_11-1/platform/i86pc/kernel/unix -B install_config=10.20.20.3:/jumpstart/,sysid_config=10.20.20.3:/jumpstart/,install_media=10.20.20.3:/jumpstart/solaris11
module /I86PC.Solaris_11-1/x86.miniroot
Then reboot and choose netboot during start...