flashrom 을 사용 하여 마더 보드의 BIOS를 업데이트 할 수 있습니다 .
예 (Abit KN9 Ultra) :
이 보드는 2006 년에 출시 된 AMD Athlon 64 보드, AM2 소켓, Nvidia 칩셋입니다. 교체 가능한 256KB 플래시 칩이 있습니다. BIOS에는 'Award'라는 레이블이 붙어 있으며 Phoenix의 상표 인 것 같습니다.
Flashrom은 해당 칩셋과 플래시 칩을 지원합니다.
다음과 같은 명령으로 지원을 테스트 할 수 있습니다.
# flashrom --programmer internal
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
플래시 칩의 현재 내용을 먼저 백업하는 것이 좋습니다.
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
그것은 다음 벤더 바닐라 이미지 파일과 비교 될 수있다 (예를 사용 xxd
하고vimdiff
).
일부 BIOS는 플래시에 추가 정보 (예 : DMI) 및 구성 (예 : MAC 주소)도 저장하기 때문에 약간의 차이가있을 수 있습니다. Abit KN9 Ultra도 마찬가지입니다. DMI 데이터는 처음 1872 바이트에 저장되며 부팅 중에 BIOS에 의해 쉽게 재생성됩니다. MAC 주소는 오프셋 0x74E30에 저장됩니다.
공급 업체 펌웨어 파일은 파일을 포함하는 zip 아카이브 awdflash.exe
와 패키지 파일로 패키지 BIN
됩니다 (예 :) M520A_23.BIN
. 이 예제에서 bin 파일은 BIOS 이미지를 그대로 포함합니다. 즉, 다음과 같은 명령을 사용하여 플래시 칩에 직접 쓸 수 있습니다.
# flashrom --programmer internal -c Pm49FL004 -w M520A_23.BIN
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
업데이트에 따라 다음에 다시 부팅 할 때 CMOS 를 지워야합니다. 그렇지 않으면 BIOS가 시작되지 않을 수 있습니다. 해당 보드에서 점퍼 설정을 통해 CMOS를 지울 수 있습니다. 소프트웨어를 통한 삭제 도 가능합니다 (예 : CmosPwd 를 통해) ).
고유 한 기본 MAC 주소를 유지하기 위해 다음과 같이 새 공급 업체 이미지를 플래싱하기 전에 패치 할 수 있습니다.
dd if=backup.bin of=mac.bin bs=1 count=16 skip=$(echo 16 i 74E30 p | dc)
dd if=mac.bin of=M520A_23_with_mac.bin bs=1 seek=$(echo 16 i 74E30 p | dc) \
conv=notrunc
함정 :
- flashrom으로 아직 구현되지 않은 마더 보드 특정 보드 활성화 (예 : 쓰기 방지 비활성화) 코드 로 인해 플래시 쓰기가 실패 할 수 있습니다 .