728x90
반응형
initramfs는 커널이 동작시에 필요한 console 디바이스 및 root 디렉토리등을 제공하는 ramfs인데,
요녀석을 이용하면 커널 이미지 내부에 미니멀한 root filesystem 을 집어넣어 시스템을 구축할 수 가 있다.
initramfs 를 사용하기 위한 condition은 아래와 같이 커널 빌드시에 옵션 및 rootfs path를 지정해준다.
아래의 경우에는 안드로이드의 ramdisk에 해당되는 path를 지정했다.
- initramfs support
#] make menuconfig
==> General setup
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/data/workspace/source/android/out/target/product/crespo/root) Initramfs source file
(0) User ID to map to 0 (user root)
(0) Group ID to map to 0 (group root)
[*] Support initial ramdisks compressed using gzip
커널이 빌드되면 zImage 안에 initramfs 에 해당하는 녀석이 포함되어 있을 것이다.
#] make zImage
커널에 포함된 initramfs 는 아래의 경로에 생성되며,
이를 풀어서 파일트리를 확인하거나 변경하는 것 등이 가능하다.
#] make zImage
커널에 포함된 initramfs 는 아래의 경로에 생성되며,
이를 풀어서 파일트리를 확인하거나 변경하는 것 등이 가능하다.
- unzip initramfs
#] cat <KERNEL>/usr/initramfs_data.cpio | cpio -i --no-absolute-filenames
- zip initramfs
#] find . -print0 | cpio -o0 -H newc > <KERNEL>/usr/initramfs_data.cpio
그러하다.
그러하다.
728x90
반응형
댓글