I an running an embedded board with U-Boot as the boot loader. I have created a basic FIT image that boots the Linux kernel with the device tree and RootFS images.
Currently I boot my FIT image with the command tftpboot boot.itb && bootm
, which will boot the default configuration successfully. Shortly after the kernel boots I want to mount an additional read-only partition in RAM. This would be exposed as a mount point in Linux (for example, /mnt/image
). This partition would be embedded in the FIT image itself rather than stored, for example, on flash.
Is this possible? With U-Boot I have my default configuration set to use my standard RootFS as the ramdisk, but can I have "two" ramdisks, one to boot from and one to mount?
/dts-v1/;
/ {
description = "FIT Image";
#address-cells = <1>;
images {
kernel@0 {
description = "Linux Kernel";
data = /incbin/("./vmlinux.bin.gz");
type = "kernel";
arch = "ppc";
os = "linux";
compression = "gzip";
load = <0x00000000>;
entry = <0x00000000>;
hash@1 {
algo = "sha1";
};
};
fdt@0 {
description = "Flattened Device Tree blob";
data = /incbin/("./devicetree.dtb");
type = "flat_dt";
arch = "ppc";
compression = "none";
hash@1 {
algo = "sha1";
};
};
ramdisk@0 {
description = "ramdisk";
data = /incbin/("./rootfs.cpio.gz");
type = "ramdisk";
arch = "ppc";
os = "linux";
compression = "gzip";
hash@1 {
algo = "sha1";
};
};
};
configurations {
default = "conf@1";
conf@1 {
description = "Boot Linux kernel with FDT blob + ramdisk";
kernel = "kernel@0";
fdt = "fdt@0";
ramdisk = "ramdisk@0";
hash@1 {
algo = "sha1";
};
};
};
};