I am trying to prepare for an event where i need to update a kernel and device tree file remotely on an embedded Linux device. I know where these objects are saved in storage, but i am not sure if my current approach to update them is optimal or even stable.
Right now the i know that:
- The kernel is stored in a FAT32 partition which i can mount and see the kernel file
uImage
. - The device tree is stored in a section of storage accessible via a block device
/dev/mmcblk1boot0
and an offset and span.
So my questions are:
- Assuming Linux is up and running, is updating the kernel and device tree as simple as overwriting the
uImage file (
cp new-uImage uImage
) and the data at the DTB offset (dd if=new.dtb of=/dev/mmcblk1boot0 seek=<offset>
)? - Does the Kernel look at these storage location after boot?
- Are there more common ways to accomplish the same result?