**************************************************** ********** ********** ********** Basic Jumpstart Server Setup ********** ********** by: David Gutierrez ********** ********** dave@SPAMNOT.anysystem.com ********** ********** Last Update: 8/05/03 @12:43pm ********** ********** ********** ********** Created for Anysystem.com ********** ********** ********** **************************************************** 1) Load Solaris 8 via CD-ROM on any machine with the following options/parameters: Full Installation + OEM Support (be sure to use both CDs - do not "SKIP" CD 2 when it asks you to put it in) hostname: jserv IP address: 10.0.0.1 subnet: 255.255.255.0 When asked for a name service, choose "NONE" Partitions should be set up as the following: slice name size 1 swap 1024 0 / {all free space} 2) When the system boots into Solaris, create /export/install. mkdir /export/install 3) Share the entire drive. This is not recommended in normal situations, but since this server is going to be used on a network limited to each work area, there is really no danger of any hacking going on. The only person with access to the machine is the only person who vi /etc/dfs/dfstab Add the following text to the end of the file: share -F nfs -o ro,anon=0 /export/install 4) Put in Solaris CD 1 of 2. cd /cdrom/sol*/s0/Sol*/Tools ./setup_install_server /export/install This command will copy the Solaris CD 1 of 2 to the hard drive. It can take quite a long time, up to 45 minutes on a 24x CDROM, so it is best to go away and do something else while this copies. 5) When it finishes: cd / mkdir /jumpstart cp -r /cdrom/sol*/s0/Sol*/Misc/jumpstart_sample/* /jumpstart This copy operation will go very quickly, almost instantly. 6) When it finishes: eject Remove CD 1 of 2 and put in CD 2 of 2. Type: cd /cdrom/sol*/Sol*/Tools ./add_to_install_server /export/install This will take less time than CD 1, but it will still take a good 20 minutes on a 24x CDROM. 7) Edit the rules file. cd /jumpstart vi rules Comment out ALL LINES - **EXCEPT** for the very last one, which should read: any - - any_machine - NOTE: To comment out a line, add a # in front of each line of text. Most lines will already have this. For the ones that do not, INSERT it at the beginning of the line. 8) Run the check script to verify the rules file and create the rules.ok file. ./check The output should look like the following: Validating rules... Validating profile any_machine... The custom JumpStart configuration is ok. Continue on to the next step if it says the configuration is ok. If not, go back and check the rules file. 9) Create a sysidcfg file (in the /jumpstart directory.) vi sysidcfg The file should read: system_locale=en_US timezone=US/Eastern timeserver=localhost terminal=vt100 name_service=NONE root_password=m.C6Zq0r.OXgs security_policy=NONE network_interface=PRIMARY { netmask=255.255.255.0 protocol_ipv6=no} 10) Edit the any_machine profile. vi any_machine The file should look like this: install_type initial_install system_type standalone partitioning explicit cluster SUNWCuser package SUNWaudmo add package SUNWman add usedisk c0t0d0 locale en_US filesys c0t0d0s1 1024 swap filesys c0t0d0s0 free / After configuring everything as shown above, you must run the following commands to stop and restart the nfs server, so that the clients can access the shared directories: cd /etc/init.d ./nfs.server stop ./nfs.server start THESE ARE THE MINIMAL STEPS REQUIRED FOR A FULLY AUTOMATED INSTALL. ANYTHING LESS WILL RESULT IN AN INTERACTIVE INSTALL TO CERTAIN DEGREES. ANYTHING MORE IS ONLY FOR ADDITIONAL CONFIGURATION. CUSTOMIZING THE SYSTEM FOR ANYSYSTEM USE There are a few things that we can do to make the job of the technician easier. 1) Copy the /flashprom directory from another jumpstart server to the local one. If you are on the network with another jumpstart server, you can do this by typing the following: mkdir /remote mount 10.0.0.1:/ /remote cp –pr /remote/flashprom / This will recursively copy the files in the other JumpStart Server’s /flashprom directory to the local /flashprom directory, while preserving the owner and group id and permissions as well as some other attributes that are not relevant at the moment. NOTE: During this procedure, you will have to temporarily change the IP address of the local machine by using the ifconfig command. To make things easier, do not change configuration files around or do a sys-unconfig. Using the ifconfig command will allow you to temporarily change the IP address. After you reboot (at the end of these instructions), the old IP address will come back. For help, see Dave. 2) Copy Ralph’s Jumpstart program from the other Jumpstart server’s /jstart directory: mkdir /jstart cp –p /remote/jstart/jmpstart /jstart/ 3) Within the /jstart directory, create an alias to ./jmpstart. The alias should be as short as possible. I like to call it j. To do this, type: cd /jstart ln jmpstart j By doing this, the technician can simply type: ./j 8:0:20:aa:bb:cc to add a machine to the JumpStart server, instead of having to type: ./jmpstart 8:0:20:aa:bb:cc This does not seem like it saves a lot of keystrokes, but after doing many systems per day, the technician will be thankful for having to type less keystrokes. 4) Edit the /.profile file. This is mainly for the benefit of technicians who console into the system rather than use the CDE. vi /.profile Add the following lines to the file: stty erase ‘^h’ TERM=vt100 export TERM cd /jstart The first line makes the backspace key work. The second and third lines set the display to emulate a vt100 terminal. The last line makes it so that as soon as root logs in, the directory is changed to /jstart – again, to further reduce keystrokes. 5) Edit the /etc/hosts file so that the file looks like this: 127.0.0.1 localhost 10.0.0.1 jserv jserv. loghost The “jserv.” entry will prevent the “unqualified hostname” error from popping up every few minutes. CONGRATULATIONS! If you’ve done it correctly you have now set up an Anysystem.com approved JumpStart server! Now go install some OS’s!! (see below) If you want to mirror the disks, you should follow these directions: http://unixway.com/vm/disksuite/install.html USING JUMPSTART 1) To add a client to the server so you can test if you did everything right, go to the OK prompt on the client machine (the machine that has no OS and is to have it installed.) Copy down the hostid. You will need it for the following command line, which should be run from the server: cd /export/install/Sol*/Tools ./add_install_client -s jserv:/export/install -c jserv:/jumpstart -p jserv:/jumpstart {clientname} {platform} NOTE: This step can be skipped and instead you can run Ralph’s ‘jmpstart’ script, like so: cd /jstart ./j 8:0:20:aa:bb:cc (Be sure to replace the 8:0:20:aa:bb:cc, with the MAC access of the machine you want to install the OS on.) 2) Now, go back to the client, which should be at the OK prompt and type: boot net - install If the system automatically starts booting and getting its configuration information, you did everything right, if not, something is wrong. Go back and double check that everything is PERFECT. I once spent 2 hours trying to figure out what I did wrong. It turned out that in one of the "share" lines in /etc/dfs/dfstab, I had put "-o ro.anon=0" instead of "-o ro,anon=0" (a period instead of a comma!!) Don't let this happen to you - be very careful about syntax.