2013년 12월 2일 월요일

[Linux] 간단한 리눅스 부팅 시디 제작법

리눅스를 설치하고 나면 보통 시스템 크래쉬에 대비해 부팅 디스크를 만들라고 한다. 하지만 일년에 한두번 쓰는 부팅 플로피 디스켓은 막상 위급상황에서 사용하려고 하면 만든지 너무 오래되어 대개 배드섹터가 한두개쯤 있게되어 쓸모없는 상태가 되어있는 경우가 많다. 재수 없다고 탓하기 전에 항상 사고는 다발로 터질 이유가 존재함을 생각한다면 뭔가 다른 대안을 생각하는 것도 나쁘지는 않다. 여기 부팅 플로피 디스켓 대신에 부팅 시디롬을 만들어서 사고에 대비해 보자.

점검사항
mkbootdisk : 부트 이미지를 만들어주는 스크립트
mkisofs

자신의 리눅스 시스템에 mkbootdisk 가 설치되어 있는지 살펴보자. 설치되어 있지 않으면 자신의 배포판에서 mkbootdisk 라는 문자가 들어있는 패키지를 찾아 설치한다. 이것은 쉘스크립트 화일인데 여기서 사용하는 다른 패키지들이 많이 있으므로 명령어를 실행하다가 의존성 에러가 생기면 해당 패키지를 설치해야 한다.

(1) 루트 권한으로
mkbootdisk --device ./linux-bootcd.img 2.4.2-xx

여기서 linux-bootcd.img 부분은 부트 이미지를 저장할 화일 이름이다. 플로피에 직접 쓰는 경우 화일 이름 대신에 디바이스 화일 이름을 써야 하는데 보통 /dev/fd0 가 되지만 여기서는 부팅 시디를 만들 것이므로 사용자가 임의로 지정하면 된다. 2.4.2-xx 부분은 커널 버전인데 자신의 시스템에 맞는 커널 버전을 넣으면 된다. /lib/modules 디렉토리에 이 번호에 해당하는 커널 모듈 디렉토리가 있어야 이미지가 제대로 만들어진다.

(2) 임시 디렉토리를 하나 만든다. 여기서는 temp라 하자. 이 디렉토리가 만들어질 시디에서 보면 최상위 디렉토리가 된다. 여기로 이동한 후에 이 디렉토리에 linux-bootcd.img 화일을 복사해 넣어둔다.

mkdir temp
cd temp
cp some_path/linux-bootcd.img ./

(3) 그 외에 자기가 복사해두고 싶은 파일들을 잔뜩, 하지만 시디 용량에 넘치지 않을 만큼 복사한다.

(4) iso 이미지 화일을 만든다. 반드시 temp 디렉토리에서 아래와 같이 한다.
mkisofs -r -b linux-bootcd.img -c boot.catalog -o bootcd.iso .

-b 옵션은 부트 이미지의 이름,
-c 는 부트 카달로그 파일 이름 (이것은 규약상 필요한 것이고 무조건 이렇게 해야 부팅 시디가 만들어진다고 생각하면 된다. boot.catalog 라는 파일을 손으로 만들 필요는 없다.)
-o 는 만들어질 iso 이미지 파일 이름이다.
-r 은 화일 퍼미션, 소유권등을 적절히 바꾸라는 옵션.
마지막에 "."을 빠뜨리면 안되고, 파일패스는 만들어질 시디롬의 루트 디렉토리를 기준으로 써야 함에 유의한다.

(4) 만들어진 이미지를 각자 좋아하는 프로그램으로 시디를 굽는다.

참고 문서
# Linux Bootdisk HOWTO

자료출처: http://se.nzak.com

댓글 없음:

댓글 쓰기