Linux2010. 9. 19. 14:04
mkinitramfs는 initrd.img 파일을 만드는 스크립트이다.
$ whereis mkinitramfs
mkinitramfs: /usr/sbin/mkinitramfs /usr/share/man/man8/mkinitramfs.8.gz

$ ll mkinitramfs*
-rwxr-xr-x 1 root root 9588 2010-04-27 00:16 mkinitramfs*
-rwxr-xr-x 1 root root 1931 2010-04-27 00:16 mkinitramfs-kpkg*

$ file mkinitramfs*
mkinitramfs:      POSIX shell script text executable
mkinitramfs-kpkg: POSIX shell script text executable

이 녀석의 인자로는 [version] 이라는 값이 들어가는데,
이 값은, /lib/modules/[version] 값의 경로에서 필요한 데이터를 추출한다.
$ mkinitramfs

Usage: /usr/sbin/mkinitramfs [OPTION]... <-o outfile> [version]

Options:
  -d confdir  Specify an alternative configuration directory.
  -k          Keep temporary directory used to make the image.
  -o outfile  Write to outfile.
  -r root     Override ROOT setting in mkinitrd.conf.

See mkinitramfs(8) for further details.

아무튼 나의 경우에는, apt-get으로 받은 우분투 커널 소스를 컴파일 하여 설치된 경로가
/usr/src/linux-source-2.6.32 였고, 컴파일 하여 생성되는 모듈들의 경로는
/lib/modules/2.6.32.15+drm33.5/ 였다. 이런 이유로, uname 으로 출력되는 경로와 다르게 되어
기본값으로 생성되는 initrd.img의 내용에는 modules.dep 파일이 없어서 구동이 되지 않는다.

물론, initrd.img의 크기는 실제 장착된 메모리의 용량을 넘어서지만 않으면 된다고 하지만,
내가 생성해낸 이 파일의 용량은 65M가 되어서 부팅에 조금 오래 걸리고,
약간의 설정상 문제가 있는지 Xwindow가 구동하지 않았다 -_-

기본적인 우분투의 initrd.img의 크기는 7.6M 정도이다.



'Linux' 카테고리의 다른 글

커널의 종류(kind of kernels)  (0) 2010.09.21
bash - 이전 디렉토리로 이동하기 move to previoud directory  (2) 2010.09.19
top (1) - load average ?  (4) 2010.09.12
curl  (0) 2010.09.11
verbose가 모야?  (4) 2010.07.29
Posted by 구차니