본문 바로가기

Study/Linux

Vmware로 리눅스 커널 업데이트시 VFS 등 Sda2 실패할때, 또는 Make install 이 안될때.

Space Cube
Space Cube by Andrew* 저작자 표시동일조건 변경허락


지금 리눅스 커널이라던지 그런것에 관련하여서 배우는 과목이 있습니다.

최근에 시스템 콜을 응용한 작업이 필요해서, 커널을 컴파일해서 그 커널로 사용해야 할 일이 있는데.

아......웹상에 검색해보면. 레드헷9은 끝난거라고 권고하지 않는 글이 많은것으로 알고 있습니다

개인적으로 사용하는 리눅스도 데비안 lenny, centos 5.4 이렇게 사용하니까요 -.. 관련 글을 찾아보면 7 나왔는데 98 95
로 많이 들 비유하시더군요.

그런데. 제 수업 교재 책부터 시작해서 redhat 9 2.4.20-8 버전입니다.
그리고 실제로 필요한 커널은 kernel.org에서 2.4.32 버전을 받아서 올려야 하고요..

그냥 왜 그런지는 모르겠고. 정리해서 말씀드리겠습니다.

만약 Vmware로 레드햇 9을 설치하신다면, 즉 위와 같이. 커널을 올려서 사용할 계획이라면
하드를 SCSI(sda)로 잡지 마세요!! vmware 옵션을 보면 하실수 있는데 IED(hda)방식으로 잡으세요

안그러면, 어떤 오류인지는 모르겠는데. 커널을 올렸을 경우, VFS 무슨 오류 커널 패닉나면서 하드를 인식하지 못할가능성이 높습니다.

그런데 하나 추가로 말씀드리면, 제가 혹시 나 해서 SUn viturebox로 레드헷을 설치했는데 - 거긴 커널이 잘올라가더라고요. 거기선 아예 시작할때부터 hda로 잡아주더라고요..

두번째, 커널의 문제인지, vmware자체적 오류인지는 모르겠는데

/etc/modules.conf 파일 보면 ANSI BugLogic 에 관련된 부분이 있습니다. # 붙여서 주석처리 해버리세요..
만약 이걸 안하신다면 make install 단계에서 mkinitrd 명령어 부분이 지나가는 부분이 있는데 여기서 실패합니다.
그리고 이명령어는 커널 업데이트 작업 하시기전에 하세요..

make mrproper 기존설정 초기화
 make menuconfig 또는 xconfig하셔가지고 필요하신 세팅하시고
make dep 의존성 검사.
make clean 오브젝트 파일을 지우려고 한다는데.. 책에서는 그다지 중요한것 같지 않은것으로 쓰여있지만
make bzImage
make modules
make modules_install
make install 하면 Grub 폴더안에.. grub.conf안에 아주 자동적으로 생성이 됩니다.

그런데 확실히 수정하셔야 할 부분이 있습니다.

아래 예제는 레드헷이 아닙니다. vmware 키기 귀찮아서 켜있는 centos 의  grub.conf파일을 긁어온것입니다.


 grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda8
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.15.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.15.1.el5 ro root=LABEL=/1
        initrd /initrd-2.6.18-164.15.1.el5.img
       아마 추가를 하신다면 이런 형식으로 추가가 되어 있을것입니다 맨뒤에 root=LABEL=/1 이걸 지우시고
       위에 주석처리 된것을 보시면

# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda8 이부분이요. 이거와 동일하게 해줍니다.
#          initrd /initrd-version.img
#boot=/dev/hda
kernel /vmlinuz-2.6.18-164.15.1.el5 ro root=/dev/hda8 정도가 되겠지요

이렇게 하시고서 reboot을 하시면 . 부트로더에 새로운 커널이 적재가 되신것을 아실수 있습니다!!


그리고 레드헷을 vmware에서 돌리는데 약간의 팁.
정말로 정상적으로 설치했는데. 인터넷이 안잡혀요 eth0이 활성화가 안되요.

 /etc/sysconfig/network-scripts/ifcfg-eth0

아래 내용을 추가시켜주세요.
check_link_down(){
    return 1; }

저 같은 경우, 지금 책에서 X-window Gnome 기반에서 진행중이여서 윈도우 환경이 올라간 상태입니다. 위에 내용을 추가시켜주고 시스템 설정에서 네트워크 부분을 보시면..

eth0 비활성화된 부분을 보실수 있는데, 그 장치를 삭제하시고 다시 잡아주세요.
(어떻게 잡나요.. ) 만약 새로운 장치를 추가 하신다면. AMD PCnet32 예약 되어 잇는걸 보실수 있는데, 이거는 vmware상에서 리눅스를 설치할때 잡히는거랍니다. 이걸로 다시 잡아주세요.

즉 다시 정리하면 코드를 추가하시고 네트워크 설정가셔서 장치를 삭제하고 다시 잡으면 바로 인터넷이 되시는것을 확인하실수 잇습니다.








'Study > Linux' 카테고리의 다른 글

페도라 EPEL 사용하기  (3) 2010.09.29
debian, freenx server  (0) 2010.05.06
vsftpd 설정 정리  (0) 2010.04.29
What does it mean when a package is masked?  (0) 2010.04.14
와우, 오픈 수세,,,  (0) 2010.04.07
Gentoo boinc 설치!  (0) 2010.04.07