리눅스 커널 컴파일 후 부팅 오류 - udevd[63] : error initializing netlink socket....
안녕하세요. 리눅스에 입문한지 얼마 되지 않은 초보입니다.
현재 리눅스 커널 버전 2.6.32 버전의 Red hat 6.3 버전을 사용하고 있습니다.
현재 어떤 컨트롤러를 쓰기 위해 드라이버를 설치했는데 컨트롤러 드라이버가 리눅스 커널 2.6.24 버전까지만 지원해서 커널 다운그레이드 진행중입니다.
커널 다운 그레이드를 위해 2.6.24 커널 버전을 다운 받고 커널 컴파일을 진행했는데, 부팅시 오류가 발생해서 문제 해결이 안되고 있습니다.
우선 부팅시 오류 내용은 아래와 같습니다.
Uncompressing Linux.. Ok, booting the kernel.
udevd[63]: error getting socket: Invalid argument
error initializing netlink socket
udevd[63]: error initializing netlink socket
udevadm[66]: error sending message: Connection refused
Kernel panic - not syncing: Attempted to kill init!
인터넷에서 찾아본 결과 menuconfig 쪽에서 설정을 뭔가 해줘야하는 것 같은데,
리눅스 커널에 대한 이해가 부족해서 정확히 menuconfig를 설정하진 못했습니다.
다음으로 제가 커널 컴파일 진행했던 순서로는 인터넷에서 찾아서 진행했습니다.
아래 과정에서 진행시 실수한 점이나 제가 놓친 부분에 대해 지적해주시고 해결방법을 알려주시면 감사하겠습니다.
진행 순서로는
1. 압축해제
-> 압축 해제후 linux-2.6.24 생성
2. /usr/src/kernels/ 디렉토리에 압축해제한 디렉토리 복사
3. 커널 옵션 복사
-> cp [기존 커널 옵션] /usr/src/kernels/linux-2.6.24/
4. 심볼릭 링크 생성
-> ln -s [기존 커널 디렉토리명] linux-2.6.24
5. make clean
-> 이 항목은 컴파일을 재실시할 때만 사용했습니다.
6. make menuconfig
-> 이 항목에서 특별히 설정한 건 없고 i386으로만 선택해 주고 Save 한 뒤 .config 파일이 생성되는 것까지 확인했습니다.
7. 커널 이미지 생성
-> make bzImage
-> 이 부분에서 source 상에서 오류 발생한 부분은 해결했습니다.
-> 오류 내용1 : scripts/unifdef.c:209: error: conflicting types for 'getline'
-> 오류 내용2 : "arch/x86/boot/boot.h:112: Error: bad register name '%dil'
8. 모듈 파일 생성
-> make modules
-> make modules_install
9. /boot 폴더에 커널 이미지와 셋팅 정보 복사
-> make install
-> 이 부분에서 모듈을 찾을 수 없다는 오류가 발생했지만 그냥 진행 했습니다.
-> 오류내용은
-> ERROR: modinfo: could not find module ipt_MASQUERADE
-> ERROR: modinfo: could not find module iptable_net
-> ERROR: modinfo: could not find module nf_nat
-> ERROR: modinfo: could not find module xt_CHECKSUM
-> ERROR: modinfo: could not find module target_core_iblock
-> ERROR: modinfo: could not find module target_core_file
-> ERROR: modinfo: could not find module target_core_pscsi
-> ERROR: modinfo: could not find module target_core_mod
-> ERROR: modinfo: could not find module bnx2fc
-> ERROR: modinfo: could not find module cnic
-> ERROR: modinfo: could not find module fcore
-> ERROR: modinfo: could not find module libfcoe
-> ERROR: modinfo: could not find module garp
-> ERROR: modinfo: could not find module stp
-> ERROR: modinfo: could not find module cachefiles
-> ERROR: modinfo: could not find module fscache
-> ERROR: modinfo: could not find module nf_contrack_ipv4
-> ERROR: modinfo: could not find module nf_defrag_ipv4
-> ERROR: modinfo: could not find module nf_contrack_ipv6
-> ERROR: modinfo: could not find module nf_defrag_ipv6
-> ERROR: modinfo: could not find module xt_state
-> ERROR: modinfo: could not find module nf_conntrack
-> ERROR: modinfo: could not find module vmware_balloon
-> ERROR: modinfo: could not find module ext4
-> ERROR: modinfo: could not find module jbd2
-> ERROR: modinfo: could not find module crc_t10dif
-> ERROR: modinfo: could not find module dm_region_hash
-> ERROR: modinfo: could not find module dm_log
10. 부팅 메뉴 변경
-> vim /boot/grub/grub.conf
-> 새로운 커널 부팅 메뉴가 생성된 것을 확인하였고, default 값을 새로운 생성 커널로 변경했습니다.
11. reboot
Red hat을 사용하신다면 Red hat에
Red hat을 사용하신다면 Red hat에 물어보시는 건 어떨까요? 돈 주고 사셨을 텐데...
세벌 https://sebuls.blogspot.kr/
Red Hat에는 문의를 했습니다...
Red Hat에는 문의를 했지만..
낮은 커널의 Red Hat은 현재 지원안하고, 커널 컴파일은 지원을 해줄 수 없다고 합니다..
커널 컴파일 자체가 새로운 OS를 자체적으로 설치하는 것이기 때문에 커널 컴파일을 할 경우 기술지원도 힘들어질거고요..
해결하기 참 어렵네요...
댓글 달기