How to have kernel use rootfs at another MTD partition or address

Working on making a factory image for EnGenius ECB9500 (see thread). The docs say that the kernel boots the rootfs in the MTD partition labeled "rootfs".

How can I make the kernel load the rootfs from another MTD partition, or from a flash address?


This is needed for this router to support factory image installation, with no serial or JTAG access. since the firmware is installed using two separate files, one (called "apps") for the router's file system, and another (called "kernel") for the kernel.

Each of these writes to a specific MTD partition in the stock device. Since the stock file system partition is not labeled "rootfs", the kernel must be made to load the rootfs from the apps partition in the stock layout. Hence the question if there is a way to load a rootfs either from a specific partition by name, or using its address.

If there is no way to do the above without patching the kernel, then what is the recommended way to make this patch only apply to the factory image (once the factory image is installed, one can sysupgrade to a proper image)?