Cent 에서는 그냥 그걸 가져다 쓰는것밖에 없는듯하다...
물론 뭐 적당히 Cent 패키징 시스템에 맞게 고친것들이 많긴하지만..
역시 응용하면 레드햇계열이라면 어떤 형태로든 제작 가능할듯..
주의사항 : 아주 커스텀하게 제작하려면 복잡하고 은근 신경쓰이는게 쫌 있다.. 간단히가자..
특히 주의할 사항은 LVM 환경에서는 왠만하면 제작하지 말라는거다.
환경을 만들어서 제작하는게 정신건강에 이롭다...
일단 쭉 따라해 보도록 하자.
내용닫기
우선 LiveCD Tools 라는 패키지들을 설치해 줘야 한다.
간단히 yum repository 가 존재 한다.
# Name: CentOS LiveCD repository
[livecd]
name = CentOS $releasever - LiveCD
baseurl = http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
enabled=1
protect=0
gpgkey = http://www.nanotechnologies.qc.ca/propos/linux/RPM-GPG-KEY-PGuay
위 내용을 /etc/yum.repos.d/ 아래에 LiveCD.repo 등 적절한 이름으로 저장한다.
yum install livecd-tools syslinux
LiveCD 제작에 필요한 툴들과 부팅디스크제작을 위한 syslinux 패키지를 설치한다.
내 경우엔 update 를 하라고 한번 떴었던것 같았다.
CentOS LiveCD 는 가상 파일시스템에 CentOS 를 설치하는 것이므로,
kickstart 의 적절한 수정으로 입맛에 맞는 패키징이 가능하다.
샘플 kickstart 의 내용은 첨부로 올리겠다.. 좀 길다..
자, livecd-tools 에는 다음 스크립트가 패키징된다.
livecd-creator, livecd-iso-to-disk, livecd-iso-to-pxeboot
또한 /usr/share/livecd-tools 아래에는 각종 liveCD 제작을 위한 kickstart 샘플이 있다.
참고로 kickstart 파일을 열어보면
"repo --name=a-base --baseurl=" 항목들이
존재하는데, 이부분은 network 설치와 마찬가지인 것으로, 가장 빠른 미러사이트를
직접 적어주면 된다... 난 티니꺼 써줬다 ㅡ,.ㅡ::
뭐....ks파일 보면 다들 알겠지만 매우 직관적이다...패키지역시 원하는거 있음 추가하고,
필요없다 싶은건 빼버리면 된다.
자 이제 실제 livecd를 제작해주는 livecd-creator 에 대해 살짜쿵 살펴보도록 하자.
/usr/bin 의 livecd-creator 라는 파일이 있는데 열어보면 파이선으로 제작된걸 알수 있다.
여기서 뭐 크게 수정할것은 없는데, 수정할 것이 있다면 간단히, 라이브씨디에서 제작될
파일시스템이미지의 크기를 지정 할 수 있다.
열어보면
class ImageCreator(object); 라는 함수가 있고,
쭉 보다보면
self.image_size = 4096 # in megabytes 라는 항목이 있는데, 이것이
이미지의 크기를 지정하는 것이다. 즉 루프디바이스를 만들어 OS를 설치하듯 제작하는건데,
그 루프디바이스의 크기를 지정하는 것이 된다.
이렇게 적절한 설정을 하고 나면 다음과 같이 입력한 후 끝날때 까지 기다리면 된다.
LANG=C ; livecd-creator --config=<Kickstart File> --fslabel=<Label>
당연히 Kickstart 는 아까 제작한 킥스타트설정파일이고, fslabel 은 암거나 넣어라...
저렇게 하고나면 이제 갖가지 과정이 끝난 후 iso 이미지가 떵그러니 만들어 진다.
이 ISO 를 씨디로 굽든 디스크로 옮기든 알아서 하면 되는거다....
어때 간단하지?? 관건은 kickstart 의 패키지 조절 및 스크립트 작성인데,
이것저것 테스트하면서 익히면 될것이다...
자 그럼 제작하면서 생겨 날 수 있는 문제점에 관련된 간단한 트러블 슈팅이 소개되겠다.
python: ./rpmio_internal.h:525: c2f: Assertion `fd && fd->magic == 0x04463138' failed.
위 메시지는 ulimit제한에 걸렸을 때 뜨는것으로 라이브씨디 제작을 실패하는 과정이
여러번 있었거나 ulimit로 파일의 오픈수등이 제한되었을 경우 보일 수 있다.
리부팅하거나, /var/tmp/livecd-creator* 들을 지우던가, 다른 yum repository 로 설정하고,
다시 제작해 보면 된다.
stat: cannot stat `/dev/mapper/livecd-rw': No such file or directory
/sbin/mkinitrd: line 368: cd: slaves: No such file or directory
위와 같이 mkinitrd 관련 오류가 발생하며 프로세스가 종료안되던가 중단될 경우는
LVM을 사용하기 때문인데, 이것은 좀 복잡하다. LVM을 디코딩해서 제작해야 한다고 하니,
이부분은 그냥 패스하도록 한다. 고로 VMWARE를 쓰든 뭘 쓰든 LVM이 아닌 환경에서
제작하는걸 추천한다... 이유는 LVM을 사용하는경우 디스크 장치의 분류 및 인식이
일반 파티션과 다르게 되기때문이다.. 역시 기본은 시스템파티션을 따라간다는 것이겠지..
대략 이정도....USB 로 옮기는건 너무 기니까 다음 편에....
내용닫기
.. ㅜ.,ㅡ 링크는 새블로그로...