Hi, everyone
I follow the doc initrd.pdf to compile kernel include initramfs, my step:
1 cd to the directory of my target file system and execute command : find . | cpio -H newc -o > ../target_fs.cpio
2 I use menuconfig to config the kernel , some of the detail of .config file is like this:
....
CONFIG_BLK_DEV_INITRD = y
CONFIG_INITRAMFS_SOURCE="/usr/local/ezsdk/filesystem/arago-base-tisdk-image-dm814x-evm.cpio"
............
CONFIG_BLK_DEV_RAM = y
CONFIG_BLK_DEV_RAM_COUNT = 1
CONFIG_BLK_DEV_RAM_SIZE = 81920
.....
3 and then I execute the make command to compile the kernel.
at the end of the compilation, the log prompt:
arch/arm/kernel/head.o: in function "__enable_mmu_end":
(.head.text+0x304):relocation truncated to fit:R_ARM_JUMP24 against ‘__fixup_a_pv_table'
make: *** [.tmp_vmlinux] error 1
is there anything else I have to do to?
another question when I read initrd.pdf
what is the meaning of "Note: To be able to detect initramfs by kernel properly, the top level directory has to contain a program called init.For example, this can be done by using a soft link from top level init to /bin/busybox (assuming you are using BusyBox in your initramfs).
/init -> /bin/busybox