5. Kickstart 파일 생성
/ks 디렉토리(ex: ~/work/kickstart_build/isolinux/ks)에 다음의 파일을 ks.cfg 파일로 저장한다.
/root/anaconda-ks.cfg
5.1 root 암호 변경
root계정의 암호를 변경하기 원할 경우 rootpw를 수정해야 한다.
(수정하지 않으면 현재 OS의 root 암호와 동일하게 설정된다)
아래와 같이 rootpw --iscrypted 다음 hash된 값이 있는데 이부분을 원하는 암호의 sha512해쉬 값을 넣어주면 된다
해쉬의 경우 google에서 'sha512 encrypt' 등으로 검색해보면 간단히 해결할수 있다.
ex) rootpw --iscrypted $6$DxkJ9kjcYdHIIUv4$QitYoibBbfE3liAspeZcFzfp9jEiNFRVeY27/GVg9NmOcKsUp1wTmDTVplZqETy5ZN.vYXfRiKoSOW4zKNbLM1
5.2 파티션
파티션 변경이 필요한 경우 아래 사이트를 참조
5.3 packages
이전 3. 항목에서 복사한 패키지를 이곳에 등록을 해줘야 설치가 된다.
ex) %packages
@core
at
dialog
expect
freetds
httpd
ipvsadm
libnet
ntp
pacemaker
samba-common
lrzsz
vim
perl
.
.
.
%end
Tip!
ISO 빌드 이후 설치시 설치 중간에 멈추거나 등록한 패키지가 설치되지 않은경우
의존성 문제일 가능성이 크고 ks.cfg 파일과 packages 디렉토리를 잘 확인해야 한다.
5.4 postinstall
설치 이후 진행할 작업을 쉘스크립트 형식으로 %post에 작성한다.
이때 파일등의 복사가 필요한경우 항목 2.에서 만들어둔 postinstall 디렉토리에
복사 해주면 인스톨후 postinstall 작업이 시작되기 전에 /root/postinstall 디렉도리에 복사가 되어 진다.
이를 활용하면 파일등을 복사하는 작업도 가능하다
ks.cfg 예
#version=RHEL7
# Use CDROM installation media
# Keyboard layouts
# Network information
# Root password
#Selinux
# System bootloader configuration
# Automatic partition (remove all partition)
%packages
%post --nochroot set -x -v echo "==> copying files from media to install drive..." %end
# Disable SELINUX
# It seems that serial console is auto detected by OS
# Language environment
# make symbolic link of jdk
# Disable snmpd verbose logging # Stop unneeded service at this moment
# /etc/my.cnf configuration [mysqld] log-bin [mysqldump] [mysql] [isamchk] [myisamchk] [mysqlhotcopy] [mysqld_safe] #network insterface setting
mv /root/postinstall/uname_custom /usr/bin/uname
#firewall disable
#iptables enable
#ftp disable reboot %end |
6. ISO 빌드
6.1 genisoimage 설치
yum install -y genisoimage
6.2 mkisofs를 이용한 설치
ex)cd ~/work/kickstart_build/
mkisofs -o centos7-custom.iso -b isolinux.bin -c boot.cat -no-emul-boot -V 'CentOS 7 x86_64' \
-boot-load-size 4 -boot-info- table -R -J -v -T isolinux/
7. 테스트
빌드된 이미지로 부팅하여 설치시 다음의 옵션으로 설치한다.
linux inst.ks=cdrom:/dev/cdrom:/ks/ks.cfg
Tip!
자동 설치를 원할 경우
/isolinux/isolinux.cfg 파일을 다음과 같이 수정하여 항목 6.을 다시 수행하면 된다.
ex) label linux
menu label ^Install UnetOS 7
kernel vmlinuz
# append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 inst.ks=cdrom:/dev/cdrom:/ks/ks.cfg
'Programming > Linux' 카테고리의 다른 글
ip validation check (0) | 2017.08.25 |
---|---|
[raspberry pi] WIFI static IP 설정 (0) | 2016.05.13 |
Centos7 custom build (1) (0) | 2016.03.25 |
yum을 이용한 rpm 다운로드 방법 (0) | 2016.03.25 |
gcc 컴파일 옵션. (0) | 2008.08.22 |