I'm trying to understand to some level the inner workings of OpenWrt. As I own Zyxel P2812HNU-F1 I will be reffering to wiki for this router.
On my desktop Linux I can see that grub config has two entries: one specifying kernel file and another specifying initramfs file:
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-504.16.2.el6.x86_64 ...
initrd /boot/initramfs-2.6.32-504.16.2.el6.x86_64.img
Wiki for P2812HNU-F1 says that during flashing process kernel file is uploaded into RAM memory:
tftp 0x80800000 openwrt-lantiq-xrx200-P2812HNUF1-uImage
then it is written to NAND:
nand write 0x80800000 0x60000 0x200000
then a separate file openwrt-lantiq-xrx200-P2812HNUF1-uImage-initramfs is loaded into RAM and run:
tftpboot 0x80800000 openwrt-lantiq-xrx200-P2812HNUF1-uImage-initramfs
bootm 0x80800000
1) my understanding is that this second file is -- by analogy with my linux desktop -- actual kernel + initramfs file, like two-in-one. is this correct?
2) only kernel file is written into NAND (openwrt-lantiq-xrx200-P2812HNUF1-uImage). so when next time the system boots up it is missing initramfs file (if my understanding is correct of course). is this so? does the kernel file (openwrt-lantiq-xrx200-P2812HNUF1-uImage) have everything it needs (compiled inside openwrt-lantiq-xrx200-P2812HNUF1-uImage) and doesn't require separate initramfs file?
I would appreciate your answer.
thank you,
geos
(Last edited by geos on 30 Jul 2015, 17:59)