Posted
Filed under Computer/Linux
앞에서는 pxe를 이용한 kickstart 를 만드는 방법을 소개해봤는데 이제는 DVD나 usb에 만드는 방법중에서 잊어버릴까봐 중요한 부분만 적어보려한다.

각각을 만들면서 몇일씩 수고했던것을 다음에 할때는 시간을 줄여보기위해 기록으로 남겨둔다.

[DVD]
1. iso 파일의 내용을 임의의 디렉토리(iso)에 모두 복사해둔다.
   mount -o loop OS.iso /mnt/tmp
   cd /mnt/tmp
   tar cf - . | tar xf - -C /mnt/iso

2. isolinux/isolinux.cfg file을 수정해준다. DVD에 있는 kickstart file을 활용하기 위해
---------------------------------------------------
label ks
  kernel vmlinuz
  append initrd=initrd.img lang=en_us ramdisk_size=7000 ks=cdrom:/ks/dvd.cfg devfs=nomount
-----------------------------------------------------

3. dvd.cfg kickstart file을 /mnt/iso/ks 디렉토리에 만들어준다.
참조 : kickstart configure file
아래 옵션"cdrom"이 kickstart file안에 들어가 있어야만 cdrom을 활용할수 있다.
기타 pre/post 부분을 잘 활용한다.
-----------------------------------------------------
cdrom
-----------------------------------------------------

4. DVD를 만든다.

#!/bin/sh
#anaconda 10.x
# 20060709-v2 cep(kage)
# 20090724-v3 kage

########################################
# Information
########################################
export _k_new=0
export BASE_PATH=/mnt
export VERSION=1.0
export ARCH=rhel5.1
export MAKE_INFO="CEP"
export ISO_DIR=${BASE_PATH}/iso
export ISO_FILE=${ISO_DIR}/my_kickstart_os.iso
export DISC_NUM=1

cd ${BASE_PATH}
########################################
# Make a iso file
########################################
cd ${BASE_PATH}
echo "create a product iso file"
[ -d ${ISO_DIR} ] && ( rm -fr ${ISO_DIR}; mkdir -p ${ISO_DIR} ) || mkdir -p ${ISO_DIR}

echo "create install iso CD"
for n in $(seq 1 ${DISC_NUM}); do
   [ "$n" == 1 ] && BOOTCD="-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "

$SOURCE_ROOT_DIR_N2
   mkisofs \
      ${BOOTCD} \
      -input-charset=UTF-8 -output-charset=UTF-8 \
      -R -J -T -v \
      -V "${VERSION}" \
      -A "${MAKE_INFO}" \
      -x "lost+found" \
      -o ${ISO_FILE} \
      ${BASE_PATH}/${ARCH}

   BOOTCD=""
done



[USB]

1. usb memory를 준비한다.

2. iso 파일을 usb에 카피해준다.

3. iso 파일에 있는 isolinux 디렉토리를 usb에 카피해준다. 그리고 이름을 바꾼다.
   isolinux --> syslinux ,  isoilnux/isolinux.cfg --> syslinux/syslinux.cfg

4. syslinux.cfg 파일을 수정해준다.
label usb
  kernel vmlinuz
  append root=/dev/ram devfs=nomount ramdisk_size=9216 ks=hd:sdc1/ks/usb.cfg initrd=initrd.img


5. usb.cfg 파일에 다음을 추가해준다.

harddrive --partition=sdc1 --dir=/

sdc1은 usb device이다.
usb 부팅하면 install 될 디렉토리는 "/mnt/sysimage" 으로 마운트되고
usb 디스크는 "/tmp/isodir" 로 마운트 되기 때문에 kickstart로 설치시 필요한것은 usb에서 카피해서 설치하도록 작업이 가능하므로 편리하고 좋다.

6. unetbootin-ilnux-356 또는 syslinux를 이용하여 boot loader 를 usb mbr에 심어준다.

이 간단한 정보를 찾는데 몇일씩이나 걸리다니... ㅋㅋ
이것 외에서 더 많은 issue들을 해결하기위해 시간이 걸린것도 있긴하지만 여기에서는 소개하지 않는다. 일반적인 방법이 아닌 특별한 경우에만 사용되는부분이라서...
2009/08/13 14:17 2009/08/13 14:17
[로그인][오픈아이디란?]