Disk subsystem
Bootloader + Startup IFS[edit | edit source]
MLO
- ROM monitor or Multimedia card Loader.
Startup IFS (QNX-IFS)
- Startup program, QNX kernel and rootfs
Layout on EMMC flash:
Block# Offset in bytes Name --------------------------------------------------- 0x0000 0x0000000 MBR 0x0002 0x0000400 (1024) boot bank info 0x0100 0x0020000 (131072) MLO (bootloader) 0x0184 0x0030800 (198656) IFS first bank 0x7cd2 0x0F9A400 (16360448) IFS second bank
Bootloader + Startup IFS[edit | edit source]
# fdisk /dev/hd0 show -l _____OS_____ Start End ______Number______ Size Boot name type Block Block Cylinders Blocks 1. DOS 6 32 65535 32 65504 31 MB * 2. QNX6 177 65536 3211263 1536 3145728 1536 MB 3. QNX6 178 3211264 6356991 1536 3145728 1536 MB 4. Extd'd 5 6356992 122142719 56536 115785728 56536 MB 4.1 nonQNX 180 6357024 119595007 55292 113237984 55291 MB 4.2 BSD 181 119595040 122138623 1242 2543584 1241 MB 4.3 nonQNX 182 122138656 122142719 2 4064 1 MB
hd0t180
[edit | edit source]
Mountpoint: /fs/images
Called from startup script (at startupIFS)
mount -b -t qnx6 -o noatime,alignio /dev/hd0t180 /fs/images
hd0t177 or hd0t178
[edit | edit source]
Mountpoint: /fs/mp
Called from /etc/script_mnt.sh
(at startupIFS)
mmc_get_act /dev/hd0 0 > /tmp/mmcinfo mount -b -r -t qnx6 -o snapshot=0,noatime,alignio $MMC_ACT_FS_PART /fs/mp
Content of /tmp/mmcinfo:
- cat /tmp/mmcinfo
MMC_ACT_FS_PART=/dev/hd0t177 MMC_PAS_FS_PART=/dev/hd0t178 MMC_ACT_IFS=0 MMC_PAS_IFS=1 ACT_IFS_ERROR=0 ACT_FS_ERROR=0 STARTUP_IFS_ERROR=0
hd0t181
[edit | edit source]
Mountpoint: /fs/rwdata
Called from startup script (at startupIFS)
mount -b -t qnx6 -o alignio /dev/hd0t181 /fs/rwdata &
IFSs[edit | edit source]
Mountpoint: /fs/mp/ifs
Called from startup script (at startupIFS)
mount_ifs -b -f /fs/mp/ifs/renderer-ifs -m / & mount_ifs -b -f /fs/mp/ifs/quickapps-ifs -m / & mount_ifs -b -f /fs/mp/ifs/second-ifs -m / &
mount_ifs
help:
- use mount_ifs
mount_ifs mount-ifs Utility
Syntax: mount-ifs [-f filename][-m mountpoint]
Options:
-f filename source ifs file name -m mount point -b daemonize before the real transfer (default is after). -T create a separate thread to do the decompress in parallel.
Mount images[edit | edit source]
Called from sh /etc/mount_all_images.sh
Some info[edit | edit source]
# ls -la /fs/images/ total 41277473 drwxrwxr-x 5 root root 4096 Jan 01 1970 . drwxr-xr-t 2 root root 10 Jan 01 1970 .. drwx------ 2 root root 4096 Jan 01 1970 .boot drwxrwxrwx 4 root root 4096 Jan 01 00:10 ivsu_cache drwxrwxrwx 2 root root 4096 Jan 01 00:10 ivsu_installcache -rw-rw-rw- 1 root root 3351511040 Jan 01 1970 map_comn.img -rw-rw-rw- 1 root root 3456892928 Jan 01 1970 map_euc.img -rw-rw-rw- 1 root root 3985637376 Jan 01 1970 map_eue.img -rw-rw-rw- 1 root root 3018063872 Jan 01 1970 map_eus.img -rw-rw-rw- 1 root root 1243611136 Jan 01 1970 map_ext.img -rw-rw-rw- 1 root root 76283904 Jan 01 1970 station_logos.img -rw-rw-rw- 1 root root 2072248320 Jan 01 1970 voice.img -rw-rw-rw- 1 root root 3929800704 Jan 01 1970 voice_nav_eucpr.img
# df -h /fs/rwdata/ppsp 0 0 0 100% /ppsp /dev/blk/ram-0-allo 128M 1.2M 127M 1% /fs/tmpfs/ /fs/images/map_ext. 1.1G 1.1G 892K 100% /fs/sd/MAP/ /fs/images/map_eus. 2.8G 2.7G 14M 100% /fs/sd/MAP/ /fs/images/map_eue. 3.7G 3.6G 21M 100% /fs/sd/MAP/ /fs/images/map_euc. 3.2G 3.2G 5.7M 100% /fs/sd/MAP/ /fs/images/map_comn 3.1G 3.0G 24M 100% /fs/sd/MAP/ /fs/images/voice_na 3.6G 3.6G 35M 100% /fs/Nuance/ /fs/images/voice.im 1.9G 1.9G 8.4M 100% /fs/Nuance/ /dev/hd0t181 1.2G 849M 393M 69% /fs/rwdata/ /dev/diagscratch0 35M 30K 35M 1% /fs/rwdata/quip/ /dev/diagevents0 90M 68K 90M 1% /fs/rwdata/quip/ /dev/hd0t177 1.4G 1.3G 126M 92% /fs/mp/ /fs/images/station_ 73M 72M 432K 100% /fs/mp/resources /dev/hd0t180 54G 22G 32G 41% /fs/images/ /var/pps 0 0 0 100% /pps /dev/hd0 1.9M 1.9M 0 100% /dev/hd0t182 /dev/hd0 1.5G 1.5G 0 100% /dev/hd0t178 /dev/hd0 32M 32M 0 100% /dev/hd0t6 /dev/hd0 58G 58G 0 100%
# mount /fs/rwdata/ppsp on /ppsp type PPS /dev/blk/ram-0-alloc-0-tmp on /fs/tmpfs type tmp /fs/images/map_ext.img on /fs/sd/MAP type qnx6 /fs/images/map_eus.img on /fs/sd/MAP type qnx6 /fs/images/map_eue.img on /fs/sd/MAP type qnx6 /fs/images/map_euc.img on /fs/sd/MAP type qnx6 /fs/images/map_comn.img on /fs/sd/MAP type qnx6 /fs/images/voice_nav_eucpr.img on /fs/Nuance type qnx6 /fs/images/voice.img on /fs/Nuance type qnx6 /dev/hd0t181 on /fs/rwdata type qnx6 /dev/diagscratch0 on /fs/rwdata/quip/forensics type qnx4 /dev/diagevents0 on /fs/rwdata/quip/events type qnx4 /dev/hd0t177 on /fs/mp type qnx6 /fs/images/station_logos.img on /fs/mp/resources/station_logo/Logo type qnx6 /dev/hd0t180 on /fs/images type qnx6 /var/pps on /pps type PPS
Useful commands & tools[edit | edit source]
mount -uw /fs/mp/ #remount to RW
Custom scripts (available in FMods Tools Package):
/fs/rwdata/dev/remount_rw.sh # Remount /fs/mp with RW permissions /fs/rwdata/dev/remount_ro.sh # Remount /fs/mp with RO permissions