보통 아래처럼 커널 컴파일을 한다.
make menuconfig
make
make modules
make modules_install
make install
하지만 이렇게만 하면 분명히 아래와 같은 메시지를 내면서 부팅에 실패할 것이다.
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown block.
왜냐면, 커널 크기 문제때문에 initrd 라는 것을 사용하는데 위 과정에서는 커널 생성후 생성한 커널에 맞는 initrd 를 생성하지 않았기 때문이다.
커널 버전을 2.6.38 이라고 가정할 때
make menuconfig
make
make modules
make modules_install
update-initramfs -u -k 2.6.38
make install
위와 같이 입력하면 설치한 모듈(*.ko) 를 읽어서 /boot/initrd-2.6.38 파일이 생성된다.
그 이후에 make install 을 입력하여 grup 설정에 initrd-2.6.38 까지 함께 적용된다.
그 이후엔 부팅이 잘 될 것이다.
make menuconfig
make
make modules
make modules_install
make install
하지만 이렇게만 하면 분명히 아래와 같은 메시지를 내면서 부팅에 실패할 것이다.
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown block.
왜냐면, 커널 크기 문제때문에 initrd 라는 것을 사용하는데 위 과정에서는 커널 생성후 생성한 커널에 맞는 initrd 를 생성하지 않았기 때문이다.
커널 버전을 2.6.38 이라고 가정할 때
make menuconfig
make
make modules
make modules_install
update-initramfs -u -k 2.6.38
make install
위와 같이 입력하면 설치한 모듈(*.ko) 를 읽어서 /boot/initrd-2.6.38 파일이 생성된다.
그 이후에 make install 을 입력하여 grup 설정에 initrd-2.6.38 까지 함께 적용된다.
그 이후엔 부팅이 잘 될 것이다.
'development' 카테고리의 다른 글
[kernel] struct list_head (0) | 2011.10.26 |
---|---|
[program] scandir() (0) | 2011.10.26 |
[kernel] print_hex_dump() api (0) | 2011.10.21 |
[crypto] RFC 3602(AES-CBC 암호화) (0) | 2011.10.20 |
[crypto] 암호화 알고리즘 정리 (0) | 2011.10.17 |