eeprom 명령을 사용하여 EEPROM에서 매개변수 값을 표시하고 수정할 수 있습니다. EEPROM 매개변수를 표시하기 위해 특별한 권한이 필요한 것은 아닙니다. 하지만 이러한 매개변수를 수정하려면 root 역할을 맡아야 합니다.
x86 플랫폼에서 EEPROM 등록 정보를 설정하고 저장하는 방법에 대한 다음 추가 정보에 유념하십시오.
x86 플랫폼에서 EEPROM 등록 정보 설정은 다음과 같이 시뮬레이트됩니다.
Oracle Solaris 관련 등록 정보를 /boot/solaris/bootenv.rc 파일에 저장합니다.
GRUB 메뉴를 조작하여 특정 EEPROM 등록 정보 설정 효과를 시뮬레이트합니다.
UEFI 환경과 관련된 변수에 대한 NVRAM 저장소를 구현합니다.
boot-args 또는 boot-file 등록 정보를 설정하면 특수 GRUB 메뉴 항목이 만들어지고 조작됩니다. 이는 x86 플랫폼에서의 영향을 시뮬레이션하는 유일한 방법입니다. 특수 GRUB 메뉴 항목의 이름은 Solaris bootenv rc입니다. 이 특수 항목은 만들어질 때 기본 항목으로 표시됩니다.
eeprom 명령을 사용하여 설정된 등록 정보는 커널 명령줄에서 등록 정보 이름을 다른 값으로 설정(예: 부트 시 GRUB 메뉴 편집)하여 대체할 수 있습니다. 예를 들어, 콘솔 등록 정보를 graphics로 설정하려면 eeprom 명령을 사용한 다음 부트 시 커널 명령줄에 B console=text를 추가하십시오. 이 경우 bootenv.rc 파일이 graphics의 값을 지정하는 경우에도 콘솔 유형이 text로 설정됩니다.
자세한 내용은 eeprom(1M) 매뉴얼 페이지를 참조하십시오.
UEFI 사용 시스템의 경우 매개변수가 두 장소에 저장됩니다. Oracle Solaris 관련 변수는 bootenv.rc 파일에 저장됩니다. UEFI 관련 변수는 NVRAM 저장소에서 설정됩니다. OBP가 포함된 SPARC와 달리, Oracle Solaris 변수는 UEFI 펌웨어에서 사용되지 않습니다. UEFI 관련 변수를 사용할 수 있게 하려면 eeprom 명령에 –u 옵션을 사용하십시오.
대부분의 UEFI 변수는 이진 형식이며 읽을 수 있는 형식으로 변환됩니다. 변환할 수 없는 경우 hexdump가 인쇄됩니다.
EEPROM 매개변수는 플랫폼마다 다릅니다. 예를 들어, boot-device의 경우 SPARC 플랫폼에서는 매개변수이지만 x86 플랫폼에서는 매개변수가 아닙니다. 시스템 유형에 대해 사용 가능한 EEPROM 매개변수를 확인하려면 인수 없이 eeprom 명령을 사용하십시오.
예 4-3 모든 EEPROM 매개변수 보기아래 예에서는 x86 기반 시스템의 eeprom 명령 출력을 보여 줍니다.
$ eeprom keyboard-layout=Unknown ata-dma-enabled=1 atapi-cd-dma-enabled=1 ttyb-rts-dtr-off=false ttyb-ignore-cd=true ttya-rts-dtr-off=false ttya-ignore-cd=true ttyb-mode=9600,8,n,1,- ttya-mode=9600,8,n,1,- lba-access-ok=1 console=ttya예 4-4 특정 EEPROM 매개변수 보기
특정 EEPROM 매개변수의 값을 표시하려면 다음과 같이 eeprom 명령에 매개변수 이름을 추가하십시오.
$ /usr/sbin/eeprom console console=ttya예 4-5 모든 UEFI EEPROM 매개변수 보기
아래 예에서는 UEFI 모드에 있는 시스템의 모든 UEFI 매개변수를 표시하는 방법을 보여 줍니다. 이 명령을 사용하려면 root 역할을 맡아야 합니다.
# eeprom -u MonotonicCounter=0x1f2 OsaBootOptNum=0xffff ConOut=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ConIn=/PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() /PciRoot(0x0)/Pci(0x1d,0x0)/USB(0x1,0x0)/USB(0x8,0x0) BootOrder=Boot0000 Boot0001 Boot0002 Boot0003 Boot0004 Boot0005 Boot0006 Lang=eng PlatformLang=en-US Timeout=0x1 Boot0001=description:string=[UEFI]USB:USBIN:USB USB Hard Drive , flags:int=1, device_path: \ string=/PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x004D5353,0x800,0x3b5800), \ optional_data:string=AMBO Boot0002=description:string=[UEFI]PXE:NET0:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(002128e77478), \ optional_data:string=AMBO Boot0003=description:string=[UEFI]PXE:NET1:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x1)/MAC(002128e77479), \ optional_data:string=AMBO Boot0004=description:string=[UEFI]PXE:NET2:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(002128e7747a), \ optional_data:string=AMBO Boot0005=description:string=[UEFI]PXE:NET3:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(002128e7747b), \ optional_data:string=AMBO Boot0006=description:string=[UEFI]SAS:PCIE3:ATA HITACHI HDS7225SA81A, flags:int=1, \ device_path:string=/PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0) \ /MessagingPath(10,2c00b .... 12010100) \ /HD(1,GPT,BCB01265-4665-F1CA-8BF5-9C4FB95962FA,0x100,0x80000), optional_data:string=AMBO Boot0000=description:string=Oracle Solaris s12_13, flags:int=1, device_path: \ string=HD(1,GPT,C7398875-60D2-A9E0-83EE-94DAA21B0383,0x100,0x80000), file_path:string=/EFI/Oracle/grubx64.efi USB_POINT=5139417f00000000 ConOutDev=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ConInDev=/PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() /PciRoot(0x0)/Pci(0x1d,0x0)/USB(0x1,0x0)/USB(0x8,0x0) BootOptionSupport=0x1 ErrOutDev=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ErrOut=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() PlatformLangCodes=en-US S3PerfAdd=hexdump:989fd6aa00000000 LangCodes=eng BootCurrent=Boot0000예 4-6 특정 UEFI 매개변수 보기
# eeprom -u Boot0000 Boot0000=description:string=Oracle Solaris s12_13, flags:int=1, device_path: \ string=HD(1,GPT,C7398875-60D2-A9E0-83EE-94DAA21B0383,0x100,0x80000), \ file_path:string=/EFI/Oracle/grubx64.efi
다음 절차에서는 SPARC 기반 시스템에서 기본 부트 장치를 설정하는 방법에 대해 설명합니다. x86 플랫폼에서 부트 장치는 펌웨어 유형에 적합한 설정 유틸리티(예: UEFI 부트 관리자)를 통해 설정됩니다.
# eeprom attribute=value
# eeprom attribute
변경된 속성에 대한 새 eeprom 값이 출력에 표시됩니다.
auto_boot 매개변수를 false로 설정하려면 root 역할을 사용하여 다음 명령을 입력합니다.
# eeprom auto-boot?=false예 4-8 커널 부트 인수 설정
boot-args 매개변수에 대한 값을 지정하여 커널 부트 인수를 설정할 수 있습니다. 예를 들어, 시스템이 커널 디버거를 부트하도록 지정하려면 다음 명령을 입력합니다.
# eeprom boot-args=-k예 4-9 콘솔 장치에 대한 매개변수 설정
Oracle Solaris 콘솔 설정을 그래픽 모드로 전환하려면 다음 명령을 사용합니다.
# eeprom console=graphics예 4-10 UEFI 사용 시스템에서 매개변수 설정
이 예에서는 UEFI 사용 시스템의 부트 순서를 변경하는 방법을 보여 줍니다.
# eeprom -u BootOrder="Boot0005 Boot0001 Boot0002 Boot0003 Boot0004 Boot0000"
이 예에서는 attribute라는 사용자 정의 매개변수가 삭제됩니다.
# eeprom -u -d attribute
# eeprom -u attribute eeprom: read: attribute doesn't exist