Note the following about the os1.build file:
In order to make this copy, edit the BSP's bsp-startup-mgt5200/mgt5200/main.c and modify the main() function:
... add_typed_string(_CS_MACHINE, "MGT5200"); /* Load the bootstrap executables in the image filesystem and initialize various syspage pointers. This must be the *last* initialization done before transferring to the next program. */ init_system_private(); /* At this point, copy the second image to RAM: - The source will be 0xFE300000 (physical flash address) - The destination will be 0x600000 (physical RAM location) Make sure the destination is the same physical address XXXXXX that is specified in the 'startup-mgt5200 -r XXXXXX,YYYYYY,Z' in the buildfile. - The size to copy is 0x50000. The size to copy must be at least as large as the os2.ifs file. It is recommended to erase the flash area for os2.ifs so that any extra bytes at the end are zero. This copy must be done after the init_system_private() call. */ copy_memory( 0xFE300000, 0x600000, 0x50000 ); /* Dump the system page if verbose level 3 (-vvv) */ if (debug_flag > 2) { print_syspage(); } return 0;
It's possible to mount multiple image filesystems at the same mountpoint. For example:
mount -tifs -o offset=0x600000,size=0x24000 /dev/mem / mount -tifs -o offset=0xa00000,size=0x31000 /dev/mem /
This mounts two additional images at the root (/) mountpoint. QNX Neutrino supports union filesystems. If there are duplicate paths to the same file, then the last image to mount will be the one that's used.