isolinux.cfg 에서 준 파라메터 건네받을 수 있는지??
안녕하세요.
redhat9.0 (kernel 2.4.20-8)에서 킥스타트 파일인 ks.cfg 를 이용하여 서버의 이미지를 이용, 자동으로 설치할 수 있는 CD를 만들었습니다. 여기서 isolinux.cfg 에 다음과 같이 작성하였습니다.
default linux
prompt 1
timeout 0
display boot.msg
F1 boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label setup
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img
label ws
kernel vmlinuz
append ks=cdrom:/ks_workstation.cfg initrd=initrd.img
label ls2000sx
kernel vmlinuz
append ks=cdrom:/ks_ls2000sx.cfg initrd=initrd.img
label ls2000lx
kernel vmlinuz
append ks=cdrom:/ks_ls2000lx.cfg initrd=initrd.img
label ls3000
kernel vmlinuz
append ks=cdrom:/ks_ls3000.cfg initrd=initrd.img
label ls4000
kernel vmlinuz
append ks=cdrom:/ks_ls4000.cfg initrd=initrd.img
label ls5000
kernel vmlinuz
append ks=cdrom:/ks_ls5000.cfg initrd=initrd.img
label ls6000
kernel vmlinuz
append ks=cdrom:/ks_ls6000.cfg initrd=initrd.img
여기서, append에 어떤 파라메타를 받아서 그 파라메타를 아나콘다나
설치할 때 참조하도록 할 수 있을 까요?
무슨 말이냐 하면, 현재는
ls2000sx 를 치면 ks_ls2000sx.cfg가 불려지고,
ls2000lx 를 치면 ks_ls2000lx.cfg가 불려지고,
ls3000 를 치면 ks_ls3000.cfg가 불려지고,
ls4000 를 치면 ks_ls4000.cfg가 불려지는 식인데,
그냥, ls2000sx를 치면 ks.cfg 내에서 특정 환경변수의 값이 "ls2000sx"이고
ls2000lx를 치면 ks.cfg 내에서 특정 환경변수의 값이 "ls2000lx"이고
ls3000을 치면 ks.cfg 내에서 특정 환경변수의 값이 "ls3000"이고
ls4000을 치면 ks.cfg 내에서 특정 환경변수의 값이 "ls4000"이 되어
ks.cfg 하나의 킥스타트 파일로 내부에서 구분이 가능하도록 할 수 있는지 궁금합니다.
제발 , 아시는 분 ~ 없으시나요??? 참고로, 제가 원하는 형식은 다음과 같습니다.
원하는 형식입니다. 이렇게 하면 된다는게 아니라, 이렇게 되었으면 좋겠다는 뜻입니다.
default linux
prompt 1
timeout 0
display boot.msg
F1 boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label setup
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img
label ws
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ws" initrd=initrd.img
label ls2000sx
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls2000sx" initrd=initrd.img
label ls2000lx
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls2000lx" initrd=initrd.img
label ls3000
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls3000" initrd=initrd.img
label ls4000
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls4000" initrd=initrd.img
label ls5000
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls5000" initrd=initrd.img
label ls6000
kernel vmlinuz
append ks=cdrom:/ks.cfg kind="ls6000" initrd=initrd.img
-------- ks.cfg ---------
중략...
if [ $kind == "ls2000sx" ]; then
echo "Current system is $kind. Ok"
else
echo "Error: Current system is not ls2000sx."
exit 1;
fi
하략...
--------------------------
kernel boot parameter로 넘어간 값은 부팅되고 나서 /p
kernel boot parameter로 넘어간 값은 부팅되고 나서 /proc/cmdline 에서 참조할 수 있습니다.
boot parameter가 key=value의 연속이라면 간단하게 다음처럼 하면 환경변수로 다 저장될것입니다.
eval `cat /proc/cmdline`
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
댓글 달기