BIOS Update

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page BIOS Update and the translation is 68% complete.
Outdated translations are marked like this.

This article describes how to apply a BIOS update on a Gentoo system.

하드웨어 제조사는 보통 BIOS와 다른 형식의 펌웨어 업데이트를 제공합니다. GNU/Linux 시스템에서의 이 업데이트 적용(보통 플래시에 들어가는걸로 참조)은 그리 간단한 일이 아니며 약간의 추가 작업이 더 필요합니다.

경고
하드웨어가 동작한다면, 보통 BIOS를 업그레이드할 필요는 없습니다. 무언가가 잘못되면 BIOS가 완전히 망가질 수 있으며 보증을 상실합니다. 주의깊게 진행하십시오!
참고
The most prominent and widely used system has historically been the x86-based IBM PC compatible computer and its BIOS, which is why system firmware is sometimes called a BIOS even when it is not an IBM PC compatible BIOS, such as the AlphaBIOS of the DEC Alpha architecture or the OpenBIOS, an implementation of Open Firmware (IEEE-1275). EFI/UEFI, the successor of the PC BIOS, is also often called "(U)EFI-BIOS". Hence, the term "BIOS update" often refers to a system firmware update that is not really a PC BIOS.

This article focuses on the PC BIOS and early versions of its successor EFI/UEFI. On x86 (U)EFI System Class 1 and Class 2 have a BIOS compatible mode called "Legacy BIOS" or "CSM" (short for Compatiblity Support Module), which makes the UEFI behave like a PC BIOS. UEFI System Class 3, the standard since around 2020, no longer has a CSM.

On other firmwares the process of updating the system firmware may have similarities, but can also be completely different.

펌웨어 정보 가져오기

먼저 마더보드 제조사와 모델을 찾아야 합니다. 보통 컴퓨터에 딸려오는 사용자 설명서를 확인하시면 필요한 모든 정보를 모두 찾을 수 있습니다.

또한 sys-apps/dmidecode를 사용하여 시스템 하드웨어의 추가 정보를 가져올 수 있습니다. dmidecode는 마더보드의 펌웨어와 하드웨어 구성 요소의 자세한 정보를 제공하기 위해 DMI 테이블을 살펴봅니다.

root #dmidecode -t bios -t baseboard

마지막으로, 마더보드에 물리적 접근을 한다면, 마더보드 자체에서 직접 필요한 정보를 찾을 수 있습니다.

경고
컴퓨터의 마더보드에 접근하면 보증 상실을 초래할 수 있습니다!

제조사 사이트를 검색한 후, 하드웨어 업데이트에 필요한 꾸러미 다운로드를 진행하십시오. 일반적으로 제조사에서는 zip-, exe-, iso- 형식의 파일로 펌웨어 업데이트 꾸러미를 구성합니다.

user $unzip 7235v1A.zip
Archive:  7235v1A.zip
   creating: 7235v1A/
inflating: 7235v1A/7235v1x.txt
inflating: 7235v1A/AWFL865.EXE
inflating: 7235v1A/How to flash the BIOS.DOC
inflating: 7235v1A/W7235IMS.1A0

BIOS 옵션

대부분의 BIOS에는 외부 메모리 스틱이나 플로피 디스크에서 새 바이너리 이미지를 불러오는 옵션이 있습니다. 해야 할 모든 일은 BIOS 설치 프로그램으로 들어가서 옵션을 찾는 것입니다. 다음 섹션으로 계속 진행하십시오.

Boot-CD

종종 제조사에서 부팅 매체로 CD-ROM 이미지 다운로드를 제공합니다. 이 파일은 빈 CD-R에 이미지를 구울 수 있도록 .iso 확장자를 가지고 있습니다. 이러한 기능을 지원하는 도구중 하나가 cdrecord입니다:

root #cdrecord BOOT-CD.iso
참고
cdrecord는 두가지 꾸러미로 제공합니다. app-cdr/cdrtoolsapp-cdr/cdrkit 중 하나를 선택하십시오

이제 BIOS 에서 CD부팅이 가능하도록 선택하고 제조사 웹사이트에 있는 절차를 따르십시오.

FreeDOS 환경

참고
There is a convenient FreeDOS boot on the SystemRescue that works well for this and will save much effort, allowing readers to skip this section. See the note at the end of the Using SystemRescue to boot FreeDOS section for details.

제조사에서 제공하는 DOS 기반 BIOS 유틸리티를 실행하기 위해 FreeDOS를 사용할 수 있습니다. 먼저 필요한 BIOS 도구를 포함한 사용자 정의 FreeDOS 이미지를 만들어야 하며, 그 다음에 만든 이미지를 여기에 보여드린 방식중 하나를 통해 이 이미지를 부팅하십시오.

FreeDOS와 도구 다운로드:

  • FreeDOS - fdboot.img 파일 다운로드
  • FreeDOS 부트 섹터 - sys-freedos-linux.zip 파일 다운로드
  • DOS-Flash 프로그램과 제조사에서 보유한 새 BIOS 바이너리

사용자 정의 FreeDOS 이미지 만들기

먼저 필요한 프로그램을 다운로드 하고 설치한 다음에 커널에서 루프백 장치를 활성화해야 합니다:

커널 루프백 장치 활성화
Device Drivers --->
   [*] Block devices --->
     <M> Loopback device support

아직 모듈이 안올라왔다면 modprobe 명령을 사용하여 불러오십시오:

root #modprobe loop

필요한 프로그램을 설치하십시오:

root #emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools

dd를 사용하여 ~20MB 이내의 이미지를 만드십시오 SystemRescueCD에서 이름을 대체한다면 freedos.img가 되어야 합니다:

root #dd if=/dev/null of=freedos.img bs=1024 seek=20480

파일 시스템을 이미지에 기록하십시오:

root #mkfs.fat freedos.img

부트 섹터를 이미지에 기록하십시오:

root #unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img

이제 새 이미지에 FreeDOS 파일을 복사해야 합니다.

마운트 지점을 만드십시오:

root #mkdir -p /mnt/freedos /mnt/freedos_new

원본 이미지를 마운트하십시오:

root #mount -o loop fdboot.img /mnt/freedos

새 이미지를 마운트하십시오:

root #mount -o loop freedos.img /mnt/freedos_new

FreeDOS 시스템 파일을 새 이미지에 복사하십시오:

root #cp -ar /mnt/freedos/* /mnt/freedos_new/

이제 플래시 프로그램과 새 바이오스를 이미지 파일에 복사해야 합니다:

root #cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new

두 이미지 마운트를 해제하십시오:

root #umount /mnt/freedos_new /mnt/freedos
참고
DOS에서는 파일 이름을 8글자 까지만 표시합니다. 파일 이름이 제한 글자수보다 길면 일부 파일의 이름은 바꿔야 할지도 모릅니다.

FreeDOS로 부팅할때 SystemRescueCD 사용

SystemRescueCD는 FreeDOS 버전으로 나옵니다. 따라서 원래 이미지를 바꿀 수 있고, 플래시에 펌웨어를 기록할 때 필요한 프로그램이 들어간 부팅 가능 메모리 스틱을 만들 수 있습니다.

SystemRescueCD 다운로드하고 LiveUSB 준비

부팅 가능한 메모리 스틱 만들기

SystemRescueCD 부팅 매체를 만들 때 기본 방식을 사용하며, usb_inst.sh 스크립트가 설치를 안내합니다.

경고
이 작업은 메모리 스틱의 데이터를 삭제합니다! 메모리 스틱으로 작업을 진행하기 전 데이터를 올바르게 백업했는지 확인하십시오!

/mnt에 폴더를 만드십시오:

root #mkdir /mnt/SysRescueCD

CD 이미지에 마운트 하십시오:

root #mount -o loop systemrescuecd-x86-VERSION.iso /mnt/SysRescueCD

설치 스크립트를 시작하십시오:

root #/mnt/SysRescueCD/usb_inst.sh

CD 이미지의 마운트를 해제하십시오:

root #umount /mnt/SysRescueCD
참고
If you simply wish to update your BIOS, there is no need to tinker with the FreeDOS image on SystemRescue. After creating the bootable SystemRescue stick as described above mount the USB stick to a directory. Copy the BIOS update there. You are done! Boot on the USB stick and choose DOS tools ---> FREEDOS from the SystemRescue startup menu. You will find the DOS truncated name of your BIOS update file in the A: directory. If you don't see it try C:. I don't believe this harms the SystemRescue instance on the USB stick, but if it does it is easy enough to recreate when you are done.

FreeDOS 이미지 바꾸기

SystemRescueCD 메모리 스틱의 원래 FreeDOS 이미지를 바꾸려고 합니다.

SystemRescueCD 메모리 스틱을 마운트 하십시오(/dev/sdX1를 메모리 스틱 장치 이름으로 바꿔야 합니다.):

root #mount /dev/sdX1 /mnt/SysRescueCD

freedos.img 파일을 바꾸십시오:

root #cp freedos.img /mnt/SysRescueCD/bootdisk/

SystemRescueCD 메모리 스틱을 마운트 해제 하십시오:

root #umount /mnt/SysRescueCD

GRUB에서 FreeDOS 로 직접 부팅하기

외부 매체 없이 FreeDOS로 바로 부팅하고 싶다면, GRUB(또는 다른 부트로더)이 FreeDOS 이미지를 바로 부팅할 수 있게 syslinux에 있는 memdisk 도구를 사용할 수 있습니다.

root #emerge --ask sys-boot/syslinux

(필요한 경우) /boot 파티션을 마운트 하십시오:

root #mount /boot

memdisk 바이너리와 새로 빌드한 FreeDOS 이미지를 /boot에 복사하십시오:

root #cp /usr/share/syslinux/memdisk /boot
root #cp freedos.img /boot

/boot/grub/grub.conf 를 편집하고 FreeDOS 항목을 추가하십시오:

파일 /boot/grub/grub.confgrub.conf 항목 예제
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img

BIOS 업데이트

재시작하고 USB 메모리 스틱에서 또는 새 GRUB 항목을 통해 부팅하도록 하십시오. SystemRescueCD를 사용한다면, GRUB 명령줄에서 다음을 입력하십시오:

freedos

새 FreeDOS 이미지로 부팅해야 하며 DOS 프롬프트를 만나야 합니다:

코드
C:\

이제 제조사 지침에 따라 BIOS 업데이트를 시작할 수 있습니다. DOS에서 쓸만한 명령 일부는 다음과 같습니다:

cd <dir>
디렉터리를 이동합니다.
dir
현재 디렉터리 파일 목록을 나타냅니다.
type [drive][path] filename
파일의 내용을 표시합니다..

플래시롬

마더보드에서 sys-apps/flashrom을 통해 시스템에서 직접 플래시 메모리 기록을 지원할 수 있습니다. 이런 경우 필요한 것은 BIOS 이미지 하나뿐입니다. 지원 하드웨어 목록을 먼저 확인하십시오.

우선 하드웨어를 지원한다면 새 BIOS 이미지를 확인해야 합니다:

root #flashrom -v W7235IMS.1A0

모든 사항이 준비되었다면, 플래시에 기록하십시오:

root #flashrom -vw W7235IMS.1A0

UEFI Firmware Capsule

참고
Since EFI/UEFI is the successor of the PC BIOS on x86, the same tools as for BIOS updates were often used on early (U)EFI systems.

For modern UEFI, firmware updates can be upgraded using UEFI Capsules (introduced with UEFI 2.0[1]). This method is available on Linux and Windows.[2] Vendors have to provide firmware updates for the use with Linux, which they do via the Linux Vendor Firmware Service (LVFS).[3]

Refer to fwupd for further details.

추가 참조

References