PXE安装Solaris 10 1/06 + 系统
2007-08-22 13:55
696 查看
Boot Solaris OS on x86 platform from a network
Well, if you just need to boot or manually install x86 machine from network, and you find Network-Based Installations book not really covering a network boot process, and utilities like
Notes explains x86 machine boot process, how to configure TFTP and DHCP servers on Solaris OS for PXE use, how to work in GRUB.
After power on a machine, BIOS initializes processor, tests memory and initializes other I/O devices:
On some machines it is possible to enable/disable PXE in BIOS, some machines display a boot menu or allow to modify a boot sequence, on some machines F12 key enters PXE (i. e. Network Boot).
If you work through some management interface which cann't send directly F12 key to a console, then you can use Esc-Shift-2 (i. e. Esc-@) instead.
Whatever the key is, somehow we do enter PXE ...
PXE in turn uses Dynamic Host Configuration Protocol (DHCP) [2] to discover network configuration and find out where the bootable image is:
In particular, PXE broadcasts DHCPDISCOVER message
Such DHCP trace can be obtained by the
Obviously DHCP server must be running in the same network segment as the PXE client machine.
See "Configuring DHCP server on Solaris OS for PXE use" section for how to get DHCP worked.
After receiving discover message, DHCP server offers some IP address together with options, telling about the network configuration and bootable image:
If there are several DHCP servers running in a segment, and all of them offers something, then PXE most likely selects the first offer containing Boot Server Address and Boot File Name options. These options are mandatory and it is a minimal set of options must be specified for PXE, otherwise PXE ends up with an error.
Boot Server Address can be found at
Ok, PXE happy with an offer made, so send DHCPREQUEST informing everybody about its choise, get an acknowledgement and try to get "Boot File Name" file from "Boot Server Address" server via Trivial File Transfer Protocol (TFTP):
Loading bootable image ...
TFTP server not necessarily have to be in the same subnet with client, it just must be reachable with respect to the network settings provided.
In Solaris x86 world, bootable image basically is a GRand Unified Bootloader (GRUB) [3] program, more precisely its version for PXE, which is usually located at
Thus, assuming TFTP server is running at "Boot Server Address" (
that case PXE should be able to download and run it.
See "Configuring TFTP server on Solaris OS for PXE use" section for how to setup TFTP.
pxegrub program running ...
After start,
firstly it searches for
which is basically
i. e.
if it's not there, it looks for the file name specified in DHCP option #150,
in our example it is
next it looks for
and if everything fails, GRUB just displays a command line.
Menu file contains GRUB options and commands,
for example following file will cause GRUB to display 2 menu items -- one for Solaris Single-user Session, another for Solaris Install,
Go for "Solaris Single-user Session", just want to get Solaris OS shell ...
See "In the GRUB" section for details about GRUB commands and functions.
OS startup
GRUB loads OS kernel, modules, and passes control to the OS kernel ...
Here we go, boot process complete.
So, TFTP service should be defined in SMF repository and should be up and running, checking that ...
Ok, there is no TFTP service, so firstly define it in
where
Then
Well, actually
Now
By the way, service can be removed by
Simple removal of the corresponding line from
A minimal set is:
It's also useful to have GRUB menu file, otherwise you'll have to type all GRUB commands manually. A boot server simply may be setted up for example by:
Mounting Solaris OS distribution on
Creating
See "In the GRUB" section for details about GRUB commands and functions.
So, firstly DHCP must be initialized. Simpliest way of doing that is to create DHCP configuration database as a number of plain text files somewhere in
By the way
Wondering why
The scenario is following:
scan the network definition table (refer to
find there IP address available for the client, hardware address of which is in a DISCOVER message;
expand corresponding macros ("macro" basically is the set of DHCP options with its values, refer to
usually these macros are:
auto-expanding macros:
macro with the name equals to "Client Class Identifier",
for example PXE normally specifies "
macro named as a Network Address, which obviously expands for all clients of this network;
macro named as a Client ID, which expands only for a particular client.
In Ethernet networks a Client ID is "
macro associated with the given address in the network definition table, see
respond with the OFFER message containing all of the options from macros expanded.
Mapping between symbolic DHCP option names and numeric DHCP option IDs can be found in
network configuration parameters, e. g. IP address, Subnet, Router, ...;
and boot parameters, minimal set of those is "boot server address" and "bootable image file name".
Usually the
the network is
router there is
TFTP server is running at
bootable GRUB image is
where
GRUB menu file we'd like to use is
MAC address of the workstation we want to boot is
and we want give
then
check
configure
which is equals to:
define custom symbol "GrubMenu" for DHCP option #150
where
granularity
define "netboot" macro with appropriate boot parameters:
add client definition to the network table
start DHCP server
Now the machine with PXE support having
Independently from how do we entering commands, either by menu or typing them in "
identify root device, i. e. where to load the kernel/modules from:
it can be local device, even if GRUB has been initially launched from the network,
for example
or it can be the network device, even if GRUB has been launched from some local device.
In other words, if for instance we have Solaris OS installed already, but for some reason want to load kernel from the network,
or we don't have PXE, so want to start GRUB from floppy and then get kernel from the network,
that case we can:
firstly initialize network device,
either using DHCP
or do that manually
then set network device (
Additionally, it is possible to change just TFTP server address using
load the OS kernel, which is ELF executable, e. g.
will load
Option
load gzip-compressed modules, which need to be loaded before root filesystem mount, as an example
will load minimal set of modules required to start an operating system;
pass control to the kernel
NOTE: it is possible to tell the kernel start an OS installation process by specifying path to the Solaris OS distribution media via
Well, if you just need to boot or manually install x86 machine from network, and you find Network-Based Installations book not really covering a network boot process, and utilities like
setup_install_serverand
add_install_clientlooks messy, doing too much and scary to you, then you can check the following info out.
Notes explains x86 machine boot process, how to configure TFTP and DHCP servers on Solaris OS for PXE use, how to work in GRUB.
1. x86 machine boot process
First of all, x86 machine's BIOS must support Preboot eXecution Environment (PXE) -- that's a facility for doing network init basically before the actual boot occurs. How it works? Let's go through the boot process.After power on a machine, BIOS initializes processor, tests memory and initializes other I/O devices:
Phoenix ServerBIOS 3 Release 6.0 Copyright 1985-2002 Phoenix Technologies Ltd. All Rights Reserved Production RELEASE: System BIOS Revision = V1.34.4.2 SP Interface (PRS) Revision = 97 SP - BIOS Interface Active +==============================+ | Sun Microsystems | | Sun Fire V20z | +==============================+ CPU 0 = AMD Opteron(tm) Processor 244 1 CPU Detected, E4 PCIX - Slot1: PCIX-66 Slot2: PCIX-133 672M System RAM Passed Press <F2> to enter SETUP Press <F12> to Network Boot
On some machines it is possible to enable/disable PXE in BIOS, some machines display a boot menu or allow to modify a boot sequence, on some machines F12 key enters PXE (i. e. Network Boot).
If you work through some management interface which cann't send directly F12 key to a console, then you can use Esc-Shift-2 (i. e. Esc-@) instead.
Whatever the key is, somehow we do enter PXE ...
PXE in turn uses Dynamic Host Configuration Protocol (DHCP) [2] to discover network configuration and find out where the bootable image is:
Broadcom NetXtreme Ethernet Boot Agent v7.6.6 Copyright (C) 2000-2004 Broadcom Corporation All rights reserved. Broadcom UNDI PXE-2.1 v7.6.6 CLIENT MAC ADDR: 00 C0 9F 9E 40 09 GUID: F40A0DA0 197C 11DA 9FDF 0060B0B39DD0 DHCP /
In particular, PXE broadcasts DHCPDISCOVER message
IP: ----- IP Header ----- IP: IP: Protocol = 17 (UDP) IP: Destination address = 255.255.255.255, BROADCAST IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 UDP: Destination port = 67 (BOOTPS) UDP: DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Message type = DHCPDISCOVER DHCP: Requested Options: DHCP: 1 (Subnet Mask) DHCP: 2 (UTC Time Offset) DHCP: 3 (Router) DHCP: 5 (IEN 116 Name Servers) DHCP: 6 (DNS Servers) DHCP: 11 (RFC 887 Resource Location Servers) DHCP: 12 (Client Hostname) DHCP: 13 (Boot File size in 512 byte Blocks) DHCP: 15 (DNS Domain Name) DHCP: 16 (SWAP Server) DHCP: 17 (Client Root Path) DHCP: 18 (BOOTP options extensions path) DHCP: 43 (Vendor Specific Options) DHCP: 54 (DHCP Server Identifier) DHCP: 60 (Client Class Identifier =) DHCP: 67 (Option BootFile Name) DHCP: 128 (Site Option) DHCP: 129 (Site Option) DHCP: 130 (Site Option) DHCP: 131 (Site Option) DHCP: 132 (Site Option) DHCP: 133 (Site Option) DHCP: 134 (Site Option) DHCP: 135 (Site Option) DHCP: Maximum DHCP Message Size = 1260 bytes DHCP: Unrecognized Option = 97, length = 17 octets DHCP: Unrecognized Option = 93, length = 2 octets DHCP: Value = 0x00 0x00 (unprintable) DHCP: Unrecognized Option = 94, length = 3 octets DHCP: Value = 0x01 0x02 0x01 (unprintable) DHCP: Client Class Identifier = "PXEClient:Arch:00000:UNDI:002001"
Such DHCP trace can be obtained by the
snoop -v dhcpcommand on DHCP server machine, if it runs Solaris OS.
Obviously DHCP server must be running in the same network segment as the PXE client machine.
See "Configuring DHCP server on Solaris OS for PXE use" section for how to get DHCP worked.
After receiving discover message, DHCP server offers some IP address together with options, telling about the network configuration and bootable image:
DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0xa09e4009 DHCP: Time since boot = 4 seconds DHCP: Flags = 0x8000 DHCP: Client address (ciaddr) = 0.0.0.0 DHCP: Your client address (yiaddr) = 10.18.138.12 DHCP: Next server address (siaddr) = 10.18.138.10 DHCP: Relay agent address (giaddr) = 0.0.0.0 DHCP: Client hardware address (chaddr) = 00:C0:9F:9E:40:09 DHCP: DHCP: ----- (Options) field options ----- DHCP: DHCP: Message type = DHCPOFFER DHCP: DHCP Server Identifier = 10.18.138.10 DHCP: Site Option = 150, length = 16 octets DHCP: Value = "menu.lst.pxe" DHCP: Subnet Mask = 255.255.255.192 DHCP: Router at = 10.18.138.1 DHCP: Boot File Name = solaris/boot/grub/pxegrub
If there are several DHCP servers running in a segment, and all of them offers something, then PXE most likely selects the first offer containing Boot Server Address and Boot File Name options. These options are mandatory and it is a minimal set of options must be specified for PXE, otherwise PXE ends up with an error.
Boot Server Address can be found at
DHCP: Next server address (siaddr) = 10.18.138.10, refer to RFC 2131 [4].
Ok, PXE happy with an offer made, so send DHCPREQUEST informing everybody about its choise, get an acknowledgement and try to get "Boot File Name" file from "Boot Server Address" server via Trivial File Transfer Protocol (TFTP):
DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Message type = DHCPREQUEST DHCP: Requested IP Address = 10.18.138.12 DHCP: DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Message type = DHCPACK DHCP: DHCP Server Identifier = 10.18.138.10
Loading bootable image ...
Broadcom UNDI PXE-2.1 v7.6.6 CLIENT MAC ADDR: 00 C0 9F 9E 40 09 GUID: F40A0DA0 197C 11DA 9FDF 0060B0B39DD0 CLIENT IP: 10.18.138.12 MASK: 255.255.255.192 ...
TFTP server not necessarily have to be in the same subnet with client, it just must be reachable with respect to the network settings provided.
In Solaris x86 world, bootable image basically is a GRand Unified Bootloader (GRUB) [3] program, more precisely its version for PXE, which is usually located at
boot/grub/pxegrubin a Solaris OS distribution.
Thus, assuming TFTP server is running at "Boot Server Address" (
siaddr) and "Boot File Name" option points to a valid and accessible
pxegrubprogram image:
# tftp 10.18.138.10 tftp> get solaris/boot/grub/pxegrub Received 120133 bytes in 0.1 seconds
that case PXE should be able to download and run it.
See "Configuring TFTP server on Solaris OS for PXE use" section for how to setup TFTP.
pxegrub program running ...
After start,
pxegrubnormally tries to load its menu from TFTP:
firstly it searches for
menu.lst.{client_ID}file,
which is basically
menu.lst.01{mac_address}for ethernet networks,
i. e.
menu.lst.0100C09F9E4009in our example;
if it's not there, it looks for the file name specified in DHCP option #150,
in our example it is
menu.lst.pxe;
next it looks for
boot/grub/menu.lstfile;
and if everything fails, GRUB just displays a command line.
Menu file contains GRUB options and commands,
for example following file will cause GRUB to display 2 menu items -- one for Solaris Single-user Session, another for Solaris Install,
install_mediais an NFS path to some Solaris OS distribution:
default 0 timeout -1 title Solaris Single-user Session kernel /solaris/boot/multiboot kernel/unix -v -s -B console=ttya module /solaris/boot/x86.miniroot title Solaris Install kernel /solaris/boot/multiboot kernel/unix -v -B console=ttya,install_media=10.18.138.10:/export/install/i86pc/os/nv/40 module /solaris/boot/x86.miniroot
Go for "Solaris Single-user Session", just want to get Solaris OS shell ...
See "In the GRUB" section for details about GRUB commands and functions.
OS startup
GRUB loads OS kernel, modules, and passes control to the OS kernel ...
SunOS Release 5.11 Version snv_40 32-bit Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Booting to milestone "milestone/single-user:default". Configuring devices. Searching for installed OS instances... Starting shell. #
Here we go, boot process complete.
2. Configuring TFTP server on Solaris OS for PXE use
Trivial FTP serverin.tftpd (1M)on Solaris OS is one of the
inetd (1M)controlled services in Service Management Facility
smf (5).
So, TFTP service should be defined in SMF repository and should be up and running, checking that ...
# svcs -a | grep -i tftp
Ok, there is no TFTP service, so firstly define it in
/etc/inetd.conffile:
# TFTPD - tftp server (primarily used for booting) tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
where
/tftpbootdefines a root directory for the TFTP service, that's where bootable images should be.
Then
/etc/inetd.confdefinitions need to be converted into service manifests and imported into the SMF repository, due to
/etc/inetd.conffile is maintained just for the legacy programs, while effective service parameters are in SMF repository:
# inetconv tftp -> /var/svc/manifest/network/tftp-udp6.xml Importing tftp-udp6.xml ...Done
Well, actually
inetconvnot always imports manifests generated, even if the message "
Importing tftp-udp6.xml ...Done" exists, so that case generated manifest file can be imported manually into the SMF repository:
# svccfg -v import /var/svc/manifest/network/tftp-udp6.xml svccfg: Taking "initial" snapshot for svc:/network/tftp/udp6:default. svccfg: Taking "last-import" snapshot for svc:/network/tftp/udp6:default. svccfg: Refreshed svc:/network/tftp/udp6:default. svccfg: Successful import.
Now
tftp/udp6service should appear in services list as an online service:
# svcs tftp/udp6 STATE STIME FMRI online 16:22:30 svc:/network/tftp/udp6:default # inetadm -l tftp/udp6 SCOPE NAME=VALUE name="tftp" endpoint_type="dgram" proto="udp6" isrpc=FALSE wait=TRUE exec="/usr/sbin/in.tftpd -s /tftpboot" user="root"
By the way, service can be removed by
svccfg delete tftp/udp6command.
Simple removal of the corresponding line from
/etc/inetd.conffile, even with execution of
inetconvafter it and with the
inetdservice restart, won't help. The next thing is which files should be in
/tftpbootin order to support the other machines boot?
A minimal set is:
boot/grub/pxegrub-- GRand Unified Bootloader (GRUB) program image for PXE use;
boot/multiboot-- kernel ELF executable, that's whom GRUB supposes to pass the control after
bootcommand;
boot/x86.miniroot-- module, provides some small (minimal) functionality of Solaris OS, and needs to be loaded together with kernel before boot.
It's also useful to have GRUB menu file, otherwise you'll have to type all GRUB commands manually. A boot server simply may be setted up for example by:
Mounting Solaris OS distribution on
/tftpboot/solaris;
Creating
/tftpboot/menu.lst.pxefile for providing PXE clients with a menu containing 2 items -- one for Solaris Single-user Session, another for Solaris Install,
install_mediais an NFS path to the Solaris OS distribution:
default 0 timeout -1 title Solaris Single-user Session kernel /solaris/boot/multiboot kernel/unix -v -s -B console=ttya module /solaris/boot/x86.miniroot title Solaris Install kernel /solaris/boot/multiboot kernel/unix -v -B console=ttya,install_media=10.18.138.10:/export/install/i86pc/os/nv/40 module /solaris/boot/x86.miniroot
See "In the GRUB" section for details about GRUB commands and functions.
3. Configuring DHCP server on Solaris OS for PXE use
Assume that DHCP [2] serverin.dhcpd (1M), which is actually an
smf (5)service, is unconfigured and therefore disabled.
# dhcpconfig -Sq dhcpconfig: Error - failed to read DHCP server parameters. # svcs dhcp-server STATE STIME FMRI disabled 12:42:43 svc:/network/dhcp-server:default
So, firstly DHCP must be initialized. Simpliest way of doing that is to create DHCP configuration database as a number of plain text files somewhere in
/var/dhcp:
# dhcpconfig -D -r SUNWfiles -p /var/dhcp Created DHCP configuration file. Created dhcptab. Added "Locale" macro to dhcptab. Added server macro to dhcptab. DHCP server started.
By the way
dhcpconfig -Uunconfigures everything.
Wondering why
dhcpconfig -Dstarts DHCP service automatically after initialization, anyway
dhcpconfig -Sdor
svcadm -v disable dhcp-serverstops it. Eventually we have DHCP initialized, now couple of words about what DHCP server does on Solaris OS after receiving DISCOVER message from its clients.
The scenario is following:
scan the network definition table (refer to
dhcp_network (4)and
pntadm (1M)manual);
find there IP address available for the client, hardware address of which is in a DISCOVER message;
expand corresponding macros ("macro" basically is the set of DHCP options with its values, refer to
dhtadm (1M)and
dhcptab (4)pages),
usually these macros are:
auto-expanding macros:
macro with the name equals to "Client Class Identifier",
for example PXE normally specifies "
PXEClient:Arch:00000:UNDI:002001" as a "Client Class ID" in a DISCOVER message, so DHCP server configuration may have "
PXEClient:Arch:00000:UNDI:002001" macro, which will be expanded for all PXE clients;
macro named as a Network Address, which obviously expands for all clients of this network;
macro named as a Client ID, which expands only for a particular client.
In Ethernet networks a Client ID is "
01{MAC_address}", for example Client ID
0100C09F9E4009corresponds to
00:C0:9F:9E:40:09MAC address.
macro associated with the given address in the network definition table, see
pntadm -P {network name}.
respond with the OFFER message containing all of the options from macros expanded.
Mapping between symbolic DHCP option names and numeric DHCP option IDs can be found in
/etc/dhcp/inittabfile and in
dhcptab (4)table, i. e. custom symbols definition can be viewed by the
dhtadm -Pcommand. Finally, in order to make PXE working, we need DHCP service to be responding with:
network configuration parameters, e. g. IP address, Subnet, Router, ...;
and boot parameters, minimal set of those is "boot server address" and "bootable image file name".
Usually the
pxegrubis used as a bootable image, that case additional DHCP option #150 value can be populated with a "GRUB menu file name". There are lots of ways of making DHCP configuration, the example of one of them is: if
the network is
10.18.138.0/26;
router there is
10.18.138.1;
TFTP server is running at
10.18.138.10;
bootable GRUB image is
/tftpboot/solaris/boot/grub/pxegrubon this TFTP server,
where
/tftpbootis a TFTP root directory;
GRUB menu file we'd like to use is
/tftpboot/menu.lst.pxe;
MAC address of the workstation we want to boot is
00:C0:9F:9E:40:09;
and we want give
10.18.138.12address to this workstation.
then
check
/etc/netmasksfile, if the network is subnetted, it's better to reflect that in
/etc/netmasks:
# grep 10.18.138.0 /etc/netmasks 10.18.138.0 255.255.255.192
configure
10.18.138.0/26network at DHCP:
# dhcpconfig -N 10.18.138.0/26 -m 255.255.255.192 -t 10.18.138.1 Added network macro to dhcptab. Created network table.
which is equals to:
# dhtadm -A -m 10.18.138.0 -d / :Subnet=255.255.255.192:Router=10.18.138.1: # pntadm -C 10.18.138.0
define custom symbol "GrubMenu" for DHCP option #150
# dhtadm -A -s GrubMenu -d Site,150,ASCII,1,0
where
Sitecategory means that option is specific for the site,
150code reflects DHCP option code,
ASCIIdata type states that value is a text string,
granularity
1and maximum
0means that value should consist of 1 text string and "GrubMenu" option may contain unlimited number of values.
define "netboot" macro with appropriate boot parameters:
# dhtadm -A -m netboot -d / :BootSrvA=10.18.138.10:BootFile="solaris/boot/grub/pxegrub":GrubMenu="menu.lst.pxe":
add client definition to the network table
# pntadm -A 10.18.138.12 -i 0100C09F9E4009 -m netboot 10.18.138.0
start DHCP server
# dhcpconfig -Se DHCP server enabled. DHCP server started.
Now the machine with PXE support having
00:C0:9F:9E:40:09hardware address and connected to our subnet should be able to boot from network. Actually there is GUI tool exists in Solaris OS for the DHCP management
/usr/sadm/admin/bin/dhcpmgr, so it can be used by GUI fans.
4. In the GRUB
GNU GRUB version 0.95 (616K lower / 2095552K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub>
Independently from how do we entering commands, either by menu or typing them in "
grub>" prompt, whatever the case, main GRUB purpose is:
identify root device, i. e. where to load the kernel/modules from:
it can be local device, even if GRUB has been initially launched from the network,
for example
(hd0,0,a)-- (first BIOS hard disk -
hd0, first fdisk partition -
0, Solaris/BSD slice 0 -
a):
grub> root (hd0,0,a) (hd0,0,a): Filesystem type is ufs, partition type 0xbf
or it can be the network device, even if GRUB has been launched from some local device.
In other words, if for instance we have Solaris OS installed already, but for some reason want to load kernel from the network,
or we don't have PXE, so want to start GRUB from floppy and then get kernel from the network,
that case we can:
firstly initialize network device,
either using DHCP
grub> dhcp Probing pci nic... [UNDI] ROM MBA v7.6.6 Slot 0211 by Broadcom Corporation Address: 10.18.138.12 Netmask: 255.255.255.192 Server: 10.18.138.10 Gateway: 10.18.138.1
or do that manually
grub> ifconfig --address=10.18.138.12 --gateway=10.18.138.1 --mask=255.255.255.192 --server=10.18.138.10
then set network device (
nd) as a root device
grub> root (nd) Filesystem type is tftp, using whole disk
Additionally, it is possible to change just TFTP server address using
tftpservercommand;
load the OS kernel, which is ELF executable, e. g.
grub> kernel /solaris/boot/multiboot kernel/unix -v -s -B console=ttya [Multiboot-elf, <0x1000000:0x13ca3:0x128a5>]
will load
solaris/boot/multibootexecutable in 32 bit mode (
kernel/unix), specifying options: verbose (
-v) and single-user (
-s) to the kernel, see
kernel (1M)manual.
Option
-B console=ttyamay be needed if you access console via some serial-line management interface;
load gzip-compressed modules, which need to be loaded before root filesystem mount, as an example
grub> module solaris/boot/x86.miniroot [Multiboot-module]
will load minimal set of modules required to start an operating system;
pass control to the kernel
grub> boot
NOTE: it is possible to tell the kernel start an OS installation process by specifying path to the Solaris OS distribution media via
install_mediaparameter, which can have value of "
cdrom" or some valid NFS path of Solaris OS distribution, e. g.
grub> kernel /solaris/boot/multiboot kernel/unix -v -B console=ttya,install_media=10.18.138.10:/export/install/i86pc/os/nv/40
相关文章推荐
- Solaris 10 x86系统下安装gcc过程
- Solaris 10系统安装图解
- 安装solaris_11.2与windows双系统(VM10模拟实现)(二)
- Solaris 10 x86系统下安装gcc过程
- 安装solaris_11.2与windows双系统(VM10模拟实现)(一)
- Linux系统之网卡安装系统pxelinux
- 在pc下安装solaris 10
- Solaris 10 oracle11g 安装
- 将设备驱动程序添加到 Solaris 10 操作系统(x86 平台版)中的新引导安装映像 From Sun
- Win 10 下安装Win 7双系统
- 【批量linux系统自动安装(pxe)】
- 在 Solaris 10 上安装 Oracle 10g 完全详解
- solaris 10 网络设置、启用root登陆ssh及bash安装
- PXE自动安装系统原理及配置
- CentOS6.4搭建PXE自动安装linux系统
- 使用VMware10虚拟机安装Linux系统(能力工场)
- Solaris10系统下普通用户无法启动jboss解决过程
- [转]UltraISO制作U盘启动盘安装Win7/9/10系统攻略
- Centos安装TFTP/NFS/PXE服务器网络引导安装系统
- 新的文件系统为Solaris 10锦上添花