개요

SAS2008칩셋계열 카드는 가정용 NAS나 홈서버를 구성할 때 많이 사용됩니다. 호랑이 담배피던 시절에 은퇴했지만, 가정에서 사용하기에는 충분히 차고 넘치는 성능이기도 하고, 오랜 시간 사용된만큼 안정성도 충분히 검증되어 있기 때문입니다.

9211-8i는 Dell PERC H200, H310, IBM M1015, Intel RS2WC040, RS2WC080 등의 OEM모델로 장터에 많이 돌아다니고 있으며, 이름은 모두 달라도 동일카드 계열이라 모두 이 가이드대로 IT펌웨어를 플래싱할 수 있습니다.

이 카드들은 대체로 서버에서 사용되던 상태이기 때문에, IR모드로 작동중일 겁니다. IR모드일 경우 부팅 시 BIOS POST에서 아래처럼 출력됩니다.

플래싱하기 전 IR 모드로 동작하여 바이오스 POST 화면에 장치 레이드 상태가 출력되는 모습

최종적으로, IT펌웨어를 플래싱해서 아래처럼 출력하도록 하는 것이 목표입니다.

IT 펌웨어로 교체된 후 별도의 레이드 메뉴 없이 정상적인 컨트롤러 정보만 출력되는 부팅 화면

파일 준비

먼저, 필요한 파일을 모두 모아놓은 압축파일을 업로드해 놓았습니다. 아래 링크를 통해 압축파일을 다운로드 받습니다.

[압축파일]

[Rufus]

아래 사진처럼, FreeDOS부팅용 USB드라이브를 하나 준비합니다.

플래싱 도구를 구동하기 위해 Rufus 프로그램으로 FreeDOS 부팅용 USB 드라이브를 포맷하는 화면

포멧이 완료되면, 다운로드 받은 압축파일을 해제해 USB드라이브 루트에 아래처럼 모두 복사해 줍니다.

압축 해제한 펌웨어 플래싱 도구와 바이너리 파일들을 부팅용 USB 드라이브의 루트 경로에 복사한 상태

자체 내장 UEFI쉘이 없는 메인보드를 위해 UEFI쉘도 포함되어 있으므로, 이 드라이브 하나만 있으면 작업을 진행할 수 있습니다.

이제, 재부팅 후, DOS로 진입합니다. 부팅 메뉴에서 USB드라이브를 선택하시면 됩니다.

플래싱 작업을 위해 컴퓨터를 재시작하고 바이오스 부팅 메뉴에서 작업용 USB 드라이브를 선택하는 화면 도스 환경 진입 후 컨트롤러 카드의 고유 SAS 주소를 확인하여 펌웨어 교체 전 백업해 두는 단계

IT펌웨어 플래싱

SAS Address 확보하기

DOS 부팅이 완료되었다면 아래 명령어를 입력해 SAS Address를 확인하고, 다른 곳에 메모해 둡니다.

megacli.exe -AdpAllInfo -aAll -page 20
레이드 카드의 동작 모드 정보가 담긴 기존 SBR 데이터를 파일로 안전하게 백업하는 명령어 실행 결과

기존 펌웨어 지우기

아래 단계를 순차적으로 진행하여 SBR(Signed Binary Region) 초기화하고 펌웨어를 지우는 단계를 거쳐야 합니다.

SBR은 레이드 카드의 동작 모드(IT, IR)와 동작에 필요한 데이터를 저장하는 곳입니다.

먼저, 아래 명령어를 통해 SBR을 백업합니다.

megarec.exe -readsbr 0 bak-sbr.bin
새로운 펌웨어를 입히기 위해 기존 컨트롤러 카드의 SBR 영역을 초기화하는 명령어 수행 과정

이후, SBR을 초기화합니다.

megarec.exe -writesbr 0 sbrempty.bin
기존에 설치되어 있던 IR 모드 펌웨어를 완전히 삭제하여 플래싱 준비 상태를 만드는 터미널 로그

이제, 아래 명령어를 통해 펌웨어를 지울 수 있습니다.

megarec.exe -cleanflash 0
도스 환경 작업을 마치고 UEFI 플래싱 도구를 실행하기 위해 UEFI 쉘 부팅 옵션을 선택하는 화면

여기까지 진행 후, UEFI쉘로 재부팅합니다.

보드에 UEFI쉘이 없는 경우 UEFI: USB드라이브를 선택하면 됩니다.

UEFI 쉘에 진입하여 펌웨어 파일이 들어있는 이동식 USB 드라이브의 fs 파티션 경로로 이동하는 과정

IT 펌웨어 플래싱하기

아래 명령어를 통해 USB드라이브를 찾아 이동해 줍니다.

map -b

일반적으로 fs0, fs1, … 의 형식이며, Removable device를 찾으시면 됩니다.

Legacy Boot ROM / IT 펌웨어 플래싱

USB드라이브로 이동한 뒤 아래 명령어를 입력합니다 (Dell 카드가 아닐 경우 생략).

sas2flash.efi -o -f 6GBPSAS.fw
펌웨어 플래싱 과정 중 발생하는 기종 불일치 경고 메시지를 확인하고 강제로 설치를 진행하는 모습

이 단계에서 Failed가 출력될 수 있으나, 무시하고 진행하셔도 됩니다.

다음으로, 아래 명령어를 입력합니다 (Dell 카드가 아닐 경우 생략).

sas2flash.efi -o -f 2118p7.bin

이 때, NVDATA가 일치하지 않는다는 경고가 출력됩니다.

Y를 입력해 진행하면 됩니다.

모든 초기화가 끝난 컨트롤러 기판 영역에 새로운 IT 모드 펌웨어를 덮어씌우는 명령어 실행 상태 초기 백업해 두었던 고유 식별자 SAS 주소를 IT 펌웨어가 씌워진 카드에 복원하는 명령어 화면

마지막으로, 아래 명령어를 입력합니다.

sas2flash_p19.efi -o -f 2118it.bin -b mptsas2.rom
메인보드 부팅 시 시스템에서 카드를 올바르게 인식하도록 최신 버전의 UEFI 부트 롬을 기록하는 단계 최종 재부팅 후 플래싱된 IT 펌웨어가 바이오스 포스트 화면에 정상적으로 로드되는 것을 확인한 화면

SAS Address 복원

아래 명령어를 이용해 위에서 메모해두었던 SAS Address를 복원합니다.

sas2flash_p19.efi -o -sasadd 5xxxxxxxxxxxxxxx
쉘 환경에서 명령어를 입력하여 백업해둔 카드의 SAS Address를 복원하는 과정

UEFI Boot ROM 플래싱

최종적으로, 아래 명령어를 입력해 UEFI 부트롬까지 올려줍니다.

sas2flash_p19.efi -b x64sas2.rom
명령어를 통해 SAS 카드의 UEFI 부트롬 플래싱을 진행하고 성공 메시지를 확인한 화면

모든 작업을 성공적으로 완료했다면, 재부팅 후 IT펌웨어가 올라오는 것을 확인하시면 됩니다.

재부팅 후 바이오스 포스팅 화면에서 SAS 카드의 IT 펌웨어가 정상적으로 인식된 상태

9300-8i나 16i 등의 SAS3008칩셋 계열의 IT펌웨어 플래싱은 이 글을 참고해 주세요.