Disk subsystem: Difference between revisions
(Created page with "== Bootloader + Startup IFS == <!--T:1--> https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.building/topic/intro/intro_startup_sequence.html <code>MLO</code> - ROM monitor or Multimedia card Loader. <code>Startup IFS</code> - Startup program, QNX kernel and rootfs Layout on EMMC flash: <pre> Block# Offset in bytes Name --------------------------------------------------- 0x0000 0x0000000 MBR 0x0002 0x0000400 (1024) bo...") |
BigUncleMax (talk | contribs) (Minor formatting fixes) |
||
Line 3: | Line 3: | ||
<code>MLO</code> - ROM monitor or Multimedia card Loader. | <code>MLO</code> - ROM monitor or Multimedia card Loader. | ||
<code>Startup IFS</code> - Startup program, QNX kernel and rootfs | |||
<code>Startup IFS (QNX-IFS)</code> - Startup program, QNX kernel and rootfs | |||
Layout on EMMC flash: | Layout on EMMC flash: | ||
Line 11: | Line 12: | ||
0x0000 0x0000000 MBR | 0x0000 0x0000000 MBR | ||
0x0002 0x0000400 (1024) boot bank info | 0x0002 0x0000400 (1024) boot bank info | ||
0x0100 0x0020000 (131072) MLO | 0x0100 0x0020000 (131072) MLO (bootloader) | ||
0x0184 0x0030800 (198656) IFS first bank | 0x0184 0x0030800 (198656) IFS first bank | ||
0x7cd2 0x0F9A400 (16360448) IFS second bank | 0x7cd2 0x0F9A400 (16360448) IFS second bank | ||
Line 32: | Line 33: | ||
</pre> | </pre> | ||
== hd0t180 == <!--T:1--> | == <code>hd0t180</code> == <!--T:1--> | ||
Mountpoint: <code>/fs/images</code> | Mountpoint: <code>/fs/images</code> | ||
Called from startup script(startupIFS) | |||
Called from startup script (at startupIFS) | |||
<pre> | <pre> | ||
Line 41: | Line 43: | ||
</pre> | </pre> | ||
== hd0t177 or hd0t178 == <!--T:1--> | == <code>hd0t177 or hd0t178</code> == <!--T:1--> | ||
Mountpoint: <code>/fs/mp</code> | Mountpoint: <code>/fs/mp</code> | ||
Called from <code>/etc/script_mnt.sh</code> (startupIFS) | |||
Called from <code>/etc/script_mnt.sh</code> (at startupIFS) | |||
<pre> | <pre> | ||
mmc_get_act /dev/hd0 0 > /tmp/mmcinfo | mmc_get_act /dev/hd0 0 > /tmp/mmcinfo | ||
mount -b -r -t qnx6 -o snapshot=0,noatime,alignio $MMC_ACT_FS_PART /fs/mp | mount -b -r -t qnx6 -o snapshot=0,noatime,alignio $MMC_ACT_FS_PART /fs/mp | ||
</pre> | </pre>Content of <code>/tmp/mmcinfo:</code><pre> | ||
<pre> | |||
# cat /tmp/mmcinfo | # cat /tmp/mmcinfo | ||
MMC_ACT_FS_PART=/dev/hd0t177 | MMC_ACT_FS_PART=/dev/hd0t177 | ||
Line 62: | Line 63: | ||
</pre> | </pre> | ||
== hd0t181 == <!--T:1--> | == <code>hd0t181</code> == <!--T:1--> | ||
Mountpoint: <code>/fs/rwdata</code> | Mountpoint: <code>/fs/rwdata</code> | ||
Called from startup script (startupIFS) | |||
Called from startup script (at startupIFS) | |||
<pre> | <pre> | ||
Line 74: | Line 76: | ||
Mountpoint: <code>/fs/mp/ifs</code> | Mountpoint: <code>/fs/mp/ifs</code> | ||
Called from startup script | |||
Called from startup script (at startupIFS) | |||
<pre> | <pre> | ||
Line 80: | Line 83: | ||
mount_ifs -b -f /fs/mp/ifs/quickapps-ifs -m / & | mount_ifs -b -f /fs/mp/ifs/quickapps-ifs -m / & | ||
mount_ifs -b -f /fs/mp/ifs/second-ifs -m / & | mount_ifs -b -f /fs/mp/ifs/second-ifs -m / & | ||
</pre> | </pre><code>mount_ifs</code> help:<pre> | ||
<pre> | |||
# use mount_ifs | # use mount_ifs | ||
mount_ifs mount-ifs Utility | mount_ifs mount-ifs Utility | ||
Line 163: | Line 164: | ||
</pre> | </pre> | ||
== | == Useful commands & tools == <!--T:1--> | ||
<pre> | <pre> | ||
mount -uw /fs/mp/ #remount to RW | mount -uw /fs/mp/ #remount to RW | ||
</pre> | </pre>Custom scripts (available in '''FMods Tools Package'''):<pre> | ||
/fs/rwdata/dev/remount_rw.sh # Remount /fs/mp with RW permissions | |||
<pre> | /fs/rwdata/dev/remount_ro.sh # Remount /fs/mp with RO permissions | ||
/fs/rwdata/dev/remount_rw.sh # | |||
/fs/rwdata/dev/remount_ro.sh # | |||
</pre> | </pre> |
Latest revision as of 13:03, 27 May 2024
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