2009/11/23 23:41
RHEL 3.5 버전용 LSI SAS1068 드라이버 만들기 Linux2009/11/23 23:41
아직도 오래된 버전의 OS를 사용하는 곳이 있어서 작업했던 내용을 정리해 본다.
1. SAS 드라이버 다운로드
위 화면은 LSI 홈페이지에서 SAS1068로 검색 후 드라이버 다운로드 항목에 보이는 내용이다. 잘보면 알겠지만 현재는 RHEL4, 5 버전용 드라이버만 지원하고 있다.
이 때는 위의 'Archived' 항목을 체크하면 아래와 같이 RHEL3 버전용 드라이버가 보일 것이다. 이것을 다운받으면 된다.
2. OS 설치 시 사용할 SAS 드라이버 만들기
다운로드한 드라이버의 압축을 풀면 아래와 같은 여러 파일이 보인다.
여기서 사용할 것은 mptlinux-2.06.77.00-1.rhel3.i686.thumb.gz 이다.
# unzip MPTLINUX_RHEL3_SLES8_PROJ-2.06.77.00.zip
# cd mptlinux; tar xvzf mptlinux_2.06.77.00-1_release.tar.gz
# cd pkg-1/thumb/
# ls
mptlinux-2.06.77.00-1.rhel3.amd32.thumb.gz
mptlinux-2.06.77.00-1.rhel3.amd64.thumb.gz
mptlinux-2.06.77.00-1.rhel3.athlon.thumb.gz
mptlinux-2.06.77.00-1.rhel3.em64t.thumb.gz
mptlinux-2.06.77.00-1.rhel3.i686.thumb.gz
mptlinux-2.06.77.00-1.rhel3.ia64.thumb.gz
# gzip -d mptlinux-2.06.77.00-1.rhel3.i686.thumb.gz
# file mptlinux-2.06.77.00-1.rhel3.i686.thumb
mptlinux-2.06.77.00-1.rhel3.i686.thumb: Linux rev 1.0 ext2 filesystem data
ext2 파일시스템 데이터이므로 아래와 같이 마운트 해서 사용해야 한다.
# mount -o loop mptlinux-2.06.77.00-1.rhel3.i686.thumb /tmp/mptlinux
# cd /tmp/mptlinux; ls
lost+found modinfo modules.cgz modules.dep packages.py pcitable rhdd-6.1
# du -sh modules.cgz
3.3M modules.cgz
위에서 보이는 것과 같이 플로피 디스켓에 써넣기에는 용량이 너무 크기 때문에 용량을 줄여줘야 한다.
# gzip -dc modules.cgz | cpio -idumv
# ls
2.4.21-15.EL 2.4.21-32.ELBOOT 2.4.21-47.ELhugemem
2.4.21-15.ELBOOT 2.4.21-32.ELhugemem 2.4.21-47.ELsmp
2.4.21-15.ELhugemem 2.4.21-32.ELsmp 2.4.21-4.EL
2.4.21-15.ELsmp 2.4.21-37.EL 2.4.21-4.ELBOOT
2.4.21-20.EL 2.4.21-37.ELBOOT 2.4.21-4.ELhugemem
2.4.21-20.ELBOOT 2.4.21-37.ELhugemem 2.4.21-4.ELsmp
2.4.21-20.ELhugemem 2.4.21-37.ELsmp 2.4.21-50.EL
2.4.21-20.ELsmp 2.4.21-40.EL 2.4.21-50.ELBOOT
2.4.21-27.EL 2.4.21-40.ELBOOT 2.4.21-50.ELhugemem
2.4.21-27.ELBOOT 2.4.21-40.ELhugemem 2.4.21-50.ELsmp
2.4.21-27.ELhugemem 2.4.21-40.ELsmp fusion.mptctl_2.4
2.4.21-27.ELsmp 2.4.21-47.EL modules.cgz
2.4.21-32.EL 2.4.21-47.ELBOOT
RHEL 3.5 에 사용할 드라이버만 빼고 나머지는 모두 삭제한 다음 modules.cgz 파일을 다시 만든다.
# ls
2.4.21-32.EL 2.4.21-32.ELBOOT 2.4.21-32.ELhugemem 2.4.21-32.ELsmp
# find . | cpio -ov | gzip -c > modules.cgz
.
./2.4.21-32.ELsmp
./2.4.21-32.ELsmp/mptlan.o
./2.4.21-32.ELsmp/mptctl.o
./2.4.21-32.ELsmp/mptscsih.o
./2.4.21-32.ELsmp/mptbase.o
./2.4.21-32.ELBOOT
./2.4.21-32.ELBOOT/mptlan.o
./2.4.21-32.ELBOOT/mptctl.o
./2.4.21-32.ELBOOT/mptscsih.o
./2.4.21-32.ELBOOT/mptbase.o
./2.4.21-32.ELhugemem
./2.4.21-32.ELhugemem/mptlan.o
./2.4.21-32.ELhugemem/mptctl.o
./2.4.21-32.ELhugemem/mptscsih.o
./2.4.21-32.ELhugemem/mptbase.o
./2.4.21-32.EL
./2.4.21-32.EL/mptlan.o
./2.4.21-32.EL/mptctl.o
./2.4.21-32.EL/mptscsih.o
./2.4.21-32.EL/mptbase.o
1678 blocks
만들어진 파일을 modules.cgz 파일을 /tmp/mptlinux 에 있는 파일에 덮어쓰기 한다.
# cp modules.cgz /tmp/mptlinux/
cp: overwrite `/tmp/mptlinux/modules.cgz'? y
# cd /tmp/mptlinux/
# ls
lost+found modinfo modules.cgz modules.dep packages.py pcitable rhdd-6.1
# du -sh modules.cgz
376K modules.cgz
마지막으로 ext2 (or fat) 로 포맷된 플로피에 해당 파일을 복사해서 리눅스 설치시 사용하면
된다.
참고)
LinuxMPT_Rel_Notes_2.06.77.00-1.txt 파일에 보면 OS 버전별 내용이 나오는데 DUD를 지원하는 버전의 경우에는 위와 같은 별도의 작업이 필요치 않으며 DUSs 디렉토리에 있는 파일을 직접 플로피로 만들어 사용하면 된다.
