[Init] First commit

This commit is contained in:
gaoyang3513
2025-05-22 22:52:09 +08:00
commit ff2f239df2
565 changed files with 116309 additions and 0 deletions

49
images/Makefile Normal file
View File

@ -0,0 +1,49 @@
ROOT_DIR := $(notdir $(CURDIR))
ifndef QCONFIG
QCONFIG=qconfig.mk
endif
include $(QCONFIG)
HOST_MKIFS := mkifs
HOST_MKI := mki
HOST_SED := sed
SUFFIXES := .build .bin .raw .ui
# NOTE: This value must match the '[image=<start_addr>]' value in the build file.
IMAGE_LOAD_ADDR = 0x80000
PROCESSOR = aarch64
BUILD_TEMPLATE = $(CURDIR)/../../Templates_build_sdp800
BOARD=rpi4
INSTALL=../install
.PHONY: all clean
#all: ifs-$(BOARD).bin ifs-$(BOARD).ui
all: ifs-$(BOARD).bin
# to boot QNX ifs-rpi4.bin IFS image, add "kernel=ifs-rpi4.bin" to bootable microSD card config.txt file.
ifs-$(BOARD).bin: $(BOARD).build
$(HOST_MKIFS) -v -r$(INSTALL) $(MKIFSFLAGS) $^ $@
# To boot from U-boot "go" command:
# - load ifs-rpi4.raw IFS image to 0x80000
# - load bcm2711-rpi-4-b.dtb to ${fdt_addr}
# - run "go 0x80000 ${fdt_addr}"
ifs-$(BOARD).raw: $(BOARD).build
$(CP_HOST) $(BOARD).build $(BOARD)-go.build
$(HOST_SED) -i 's/u reg/u arg/' $(BOARD)-go.build
$(HOST_MKIFS) -v -r$(INSTALL) $(MKIFSFLAGS) $(BOARD)-go.build $@
$(RM_HOST) $(BOARD)-go.build
# To boot from U-boot "bootm" command:
# - load ifs-rpi4.ui IFS image to 0x80000
# - load bcm2711-rpi-4-b.dtb to ${fdt_addr}
# - run "bootm 0x80000 - ${fdt_addr}"
ifs-$(BOARD).ui: ifs-$(BOARD).bin
$(HOST_MKI) -a $(IMAGE_LOAD_ADDR) -A arm64 $^ $@
clean:
$(RM_HOST) ifs-$(BOARD).* *.sym
-include $(BUILD_TEMPLATE)/template.mk

276
images/definitions.m4 Normal file
View File

@ -0,0 +1,276 @@
## Boot parameters
define(`__LD_QNX__', `ldqnx-64.so.2')
define(`__BOOT_ADDR__', `0x80000')
define(`__ARCH__', `aarch64le')
define(`__TYPE__', `raw')
define(`__COMPRESS_ATTR__', `-compress')
define(`__PROCNTO_MODULES__', `')
define(`__STARTUP__', `startup-bcm2711-rpi4')
define(`__STARTUP_OPTS__', `-v -D miniuart -W 2500 -u reg')
define(`__PROCNTO__', `procnto-smp-instr')
define(`__PROCNTO_OPTS__', `-v')
## Console
define(`__CONSOLE__', `__DEVC_SER1_DEV__')
## ENV profile, use to overwrite the common /etc/profile
#define(`__ENV_PROFILE_FILE__', `etc/profile')
#define(`__PROFILE_CFG__', `/__ENV_PROFILE_FILE__ = {
#export HOME=/
#export SYSNAME=nto
#export TERM=qansi
#export PATH=/proc/boot:/sbin:/bin:/usr/bin:/usr/sbin:/usr/libexec
#export LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci
#}')
## Audio driver
## Block driver
define(`__BLOCK_DRVR__', `devb-sdmmc-bcm2711')
#define(`__DEVB_AHCI_START__', `')
#define(`__DEVB_EIDE_DRVR__', `')
#define(`__DEVB_EIDE_OPTS__', `')
#define(`__DEVB_EIDE_DEV__', `')
#define(`__DEVB_NVME_DRVR__', `')
#define(`__DEVB_NVME_OPTS__', `')
#define(`__DEVB_NVME_DEV__', `')
#define(`__DEVB_RAM_DRVR__', `')
#define(`__DEVB_RAM_OPTS__', `')
#define(`__DEVB_RAM_DEV__', `')
define(`__DEVB_SDMMC_DRVR__', `devb-sdmmc-bcm2711')
define(`__DEVB_SDMMC_OPTS__', `mem name=below1G sdio addr=0xfe340000,irq=158 disk name=sd')
define(`__DEVB_SDMMC_DEV__', `/dev/sd0')
define(`__DEVB_SDMMC_START__', `
#######################################################################
## SD memory card / eMMC driver
## Note: "bmstr_base" option is required for busmaster memory
## address translation
#######################################################################
display_msg "Starting SDMMC driver (/dev/sd0)"
__DEVB_SDMMC_DRVR__ __DEVB_SDMMC_OPTS__
waitfor __DEVB_SDMMC_DEV__
')
define(`__DEVB_DRVR_START__', `
__DEVB_SDMMC_START__
')
## Network driver
define(`__NET_DRVR__', `devs-genet.so')
define(`__NET_OPTS__', `-m fdt -m phy_fdt -d genet')
define(`__NET_DEV__', `genet0')
## The io-sock use dhcpcd utility by default, uncomment the line below to use dhclient utility
#define(`__NET_DHCLIENT_SUPPORT__', `')
## WIFI Network driver(BCM4339)
#define(`__WIFI_START__', `
#######################################################################
## WIFI Network driver(BCM4339)
#######################################################################
#display_msg Starting WIFI Network driver...
#mount -T io-pkt -o fw=/etc/hotspot/firmware.bin,clm_blob=/etc/hotspot/firmware.clm_blob /lib/dll/devnp-qwdi-2.5_bcm4339-rpi4.so
#create a wpa_supplicant.conf file in /tmp directory
#wpa_supplicant -D qwdi -i bcm0 -c /tmp/wpa_supplicant.conf -C /tmp/ &
#dhclient -m -lf /dev/shmem/dhclient.leases -pf /dev/shmem/dhclient.pid -nw bcm0
#')
## USB host driver
define(`__USB_HOST_DRVR__', `devu-hcd-bcm2711-xhci.so')
define(`__USB_START__', `
#######################################################################
## USB OTG Host Controller driver
#######################################################################
sh /proc/boot/usb_start.sh
')
## Persistent storge
#define(`__PERSISTENT_STORAGE_DEVICE__', `/dev/sd0t179')
#define(`__PERSISTENT_STORAGE_MOUNT_POINT__', `')
#define(`__PERSISTENT_STORAGE_MOUNT_OPTS__', `-o sync=optional')
#define(`__PERSISTENT_STORAGE_START__', `')
#define(`__PERSISTENT_STORAGE_FILES__', `')
## Serial driver
define(`__DEVC_DRVR__', `__DEVC_SER1_DRVR__, __DEVC_SER3_DRVR__')
define(`__DEVC_SER1_DRVR__', `devc-serminiuart')
define(`__DEVC_SER1_OPTS__', `-b115200 -c500000000 -e -F -u1 0xfe215000,125')
define(`__DEVC_SER1_DEV__', `/dev/ser1')
define(`__DEVC_SER3_DRVR__', `devc-serpl011')
define(`__DEVC_SER3_OPTS__', `-b115200 -c48000000 -e -F -u3 0xfe201600,153')
define(`__DEVC_SER3_DEV__', `/dev/ser3')
define(`__DEVC_START__', `
#######################################################################
## Console SERIAL driver
#######################################################################
display_msg "Starting serial driver (__DEVC_SER1_DEV__)"
__DEVC_SER1_DRVR__ __DEVC_SER1_OPTS__
`#'display_msg "Starting serial driver (__DEVC_SER3_DEV__)"
`#'__DEVC_SER3_DRVR__ __DEVC_SER3_OPTS__
')
## I2C driver
define(`__I2C_DRVR__', `i2c-bcm2711')
define(`__I2C_OPTS__', `-p0xfe804000 --b100000 --u1')
define(`__I2C_DEV__', `/dev/i2c1')
## SPI driver
define(`__IO_SPI_DRVR__', `spi-bcm2711')
define(`__IO_SPI_CFG_CONTENTS__', `
[globals]
verbose=5
[bus]
busno=0
name=spi0
base=0xfe204000
irq=150
input_clock=500000000
bs=rpanic=48,tpanic=16
dma_attach_opts=num_cbs=256,range_min=0,range_max=14,typed_mem=sysram&below1G
dma_thld=4
[dev]
parent_busno=0
devno=0
name=dev0
clock_rate=5000000
cpha=1
cpol=0
bit_order=msb
word_width=32
idle_insert=1
[dev]
parent_busno=0
devno=1
name=dev1
cpha=0
cpol=1
word_width=32
clock_rate=5000000
[bus]
busno=3
name=spi3
base=0xfe204600
irq=151
input_clock=500000000
[dev]
parent_busno=3
devno=0
name=dev0
cpha=0
cpol=1
word_width=8
clock_rate=5000000
')
## Random
#define(`__RANDOM_DRVR__', `')
#define(`__RANDOM_DRVR_OPTS__', `')
## WDT kick
define(`__WDT_DRVR__', `wdtkick')
define(`__WDT_OPTS__', `-W0x24:0x5A028E4C -W0x1c:0x5A000020')
define(`__WDT_START__', `
############################################################################################
## WatchDog utility
## If startup is given -W parameter then the wdtkick utility MUST be uncommented below
############################################################################################
display_msg "Starting wdtkick ..."
__WDT_DRVR__ __WDT_OPTS__
')
## Customize script
define(`__CUSTOMIZE_SCRIPT_NAME__', `/scripts/board_startup.sh')
#define(`__CUSTOMIZE_SCRIPT_START__', `')
#define(`__CUSTOMIZE_SCRIPT_FILES__', `')
## PCI driver
define(`__PCI_HW_DRVR__', `pci_hw-bcm2711-rpi4.so')
define(`__PCI_HW_MODULE__', `pci_hw-bcm2711-rpi4.so')
define(`__PCI_BUS_SCAN_LIMIT__', `1')
#define(`__PCI_MODULE_BLACKLIST__', `')
define(`__PCI_OPTS__', `--bus-scan-limit=__PCI_BUS_SCAN_LIMIT__ -c')
define(`__PCI_START__', `
############################################################################################
## PCIe driver
############################################################################################
display_msg "Starting PCI Server ..."
PCI_HW_MODULE=/lib/dll/pci/pci_hw-bcm2711-rpi4.so
PCI_BKWD_COMPAT_MODULE=/lib/dll/pci/pci_bkwd_compat.so
PCI_SLOG_MODULE=/lib/dll/pci/pci_slog2.so
PCI_DEBUG_MODULE=/lib/dll/pci/pci_debug2.so
pci-server __PCI_OPTS__ &
waitfor /dev/pci
')
## Board specific files
#define(`__BOARD_EARLY_START__', `')
#define(`__BOARD_LATE_START__', `')
define(`__BOARD_FILES__', `
################################################################################################
## Script for launching the io-usb-otg
################################################################################################
usb_start.sh = {
#!/bin/sh
VL805_VERSION=/dev/shmem/vl805_version.txt
pci-tool -d 1:0:0 --read="CFG:0x50" > $VL805_VERSION
if grep "50] 00000000" $VL805_VERSION > /dev/null; then
echo "Inform vc to load vl805 firmware"
mbox-bcm2711 notifyxhcireset=0x100000 > /dev/null 2>&1
fi
echo "Starting USB xHCI controller in the host mode (/dev/usb/*)..."
io-usb-otg -t memory=below1G -d bcm2711-xhci pindex=0,memory=below1G
waitfor /dev/usb/io-usb-otg
waitfor /dev/usb/devu-hcd-bcm2711-xhci.so
}
################################################################################################
## GPIO utility
################################################################################################
/bin/gpio-bcm2711=gpio-bcm2711
################################################################################################
## Mailbox utility
################################################################################################
/bin/mbox-bcm2711=mbox-bcm2711
################################################################################################
## WIFI firmware and WPA utilities
################################################################################################
#[search=../install/etc/firmware] /etc/hotspot/firmware.bin=brcmfmac43455-sdio.bin
#[search=../install/etc/firmware] /etc/hotspot/nvram.txt=brcmfmac43455-sdio.txt
#[search=../install/etc/firmware] /etc/hotspot/firmware.clm_blob=brcmfmac43455-sdio.clm_blob
#/usr/sbin/wpa_cli=wpa_cli
#/usr/sbin/wpa_passphrase=wpa_passphrase
#/usr/sbin/wpa_supplicant=wpa_supplicant
#[perms=0555] /etc/wpa_act={
#!/bin/sh
#case $2 in
#CONNECTED) echo $0 $1 $2 ID=$WPA_ID STR=$WPA_ID_STR >/dev/console; dhcp.$1 -D rpi4 -i $1 ;;
#DISCONNECTED) echo $0 $1 $2 >/dev/console; slay -f dhcp.$1; ifconfig $1 delete ;;
#esac
#}
')

BIN
images/ifs-rpi4.bin Normal file

Binary file not shown.

811
images/rpi4.build Normal file
View File

@ -0,0 +1,811 @@
################################################################################################
##
## Build file for a QNX operating system
##
################################################################################################
[-optional]
[+keeplinked]
[image=0x80000]
[virtual=aarch64le,raw -compress] boot = {
startup-bcm2711-rpi4 -v -D miniuart -W 2500 -u reg
PATH=/proc/boot:/sbin:/bin:/usr/bin:/usr/sbin:/usr/libexec LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci procnto-smp-instr -v
}
[+script] startup-script = {
SYSNAME=nto
TERM=qansi
ENV=/etc/profile
procmgr_symlink ../../proc/boot/ldqnx-64.so.2 /usr/lib/ldqnx-64.so.2
## Needed for ksh to run the echo command below
pipe
display_msg " "
ksh -c "echo Welcome to QNX $(uname -r) on $(uname -m) !"
display_msg " "
slogger2
dumper
mqueue
random
############################################################################################
## WatchDog utility
## If startup is given -W parameter then the wdtkick utility MUST be uncommented below
############################################################################################
display_msg "Starting wdtkick ..."
wdtkick -W0x24:0x5A028E4C -W0x1c:0x5A000020
############################################################################################
## I2C driver
############################################################################################
display_msg "Starting I2C driver ..."
i2c-bcm2711 -p0xfe804000 --b100000 --u1
############################################################################################
## PCIe driver
############################################################################################
display_msg "Starting PCI Server ..."
PCI_HW_MODULE=/lib/dll/pci/pci_hw-bcm2711-rpi4.so
PCI_BKWD_COMPAT_MODULE=/lib/dll/pci/pci_bkwd_compat.so
PCI_SLOG_MODULE=/lib/dll/pci/pci_slog2.so
PCI_DEBUG_MODULE=/lib/dll/pci/pci_debug2.so
pci-server --bus-scan-limit=1 -c &
waitfor /dev/pci
#######################################################################
## Console SERIAL driver
#######################################################################
display_msg "Starting serial driver (/dev/ser1)"
devc-serminiuart -b115200 -c500000000 -e -F -u1 0xfe215000,125
#display_msg "Starting serial driver (/dev/ser3)"
#devc-serpl011 -b115200 -c48000000 -e -F -u3 0xfe201600,153
############################################################################################
## SPI driver
############################################################################################
display_msg "Starting SPI master driver ..."
spi-bcm2711
waitfor /dev/io-spi
#######################################################################
## SD memory card / eMMC driver
## Note: "bmstr_base" option is required for busmaster memory
## address translation
#######################################################################
display_msg "Starting SDMMC driver (/dev/sd0)"
devb-sdmmc-bcm2711 mem name=below1G sdio addr=0xfe340000,irq=158 disk name=sd
waitfor /dev/sd0
#######################################################################
## USB OTG Host Controller driver
#######################################################################
sh /proc/boot/usb_start.sh
############################################################################################
## Storage service
############################################################################################
/proc/boot/.storage-server.sh
############################################################################################
## Network driver
############################################################################################
display_msg "Starting networking ..."
io-sock -m phy -m fdt -m phy_fdt -d genet -m pci -d em -d ix -d re -m usb -d axe -d axge -d cdce -d smsc
############################################################################################
## DHCP client
############################################################################################
display_msg "Starting DHCP client ..."
dhcpcd -bqq
############################################################################################
## SSH daemon
############################################################################################
/proc/boot/.ssh-server.sh
############################################################################################
## REMOTE_DEBUG: gdb or Momentics
## - refer to the help documentation for the gdb, qconn and the IDE
## for more information on remote debugging
## - the commands shown require that NETWORK is enabled too
############################################################################################
display_msg "Starting devc-pty manager ..."
devc-pty
display_msg "Starting qconn daemon ..."
qconn
############################################################################################
## Customize startup components
############################################################################################
ksh /proc/boot/customize_startup.sh
############################################################################################
## Start the main shell
############################################################################################
reopen /dev/ser1
display_msg "Starting shell ..."
[+session] ksh &
}
[uid=0 gid=0]
[type=link] /bin/sh=/bin/ksh
[type=link] /tmp=/dev/shmem
[type=link] /dev/console=/dev/ser1
[type=link] /var/log=/tmp
[type=link] /usr/tmp=/tmp
################################################################################################
## WDT driver
################################################################################################
/bin/wdtkick=wdtkick
################################################################################################
## Serial drivers
################################################################################################
/sbin/devc-serminiuart=devc-serminiuart
/sbin/devc-serpl011=devc-serpl011
################################################################################################
## NOR flash driver files
################################################################################################
/sbin/devf-ram=devf-ram
/usr/bin/flashctl=flashctl
################################################################################################
## Block drivers
################################################################################################
/sbin/devb-sdmmc-bcm2711=devb-sdmmc-bcm2711
################################################################################################
## Block driver support libraries
################################################################################################
/lib/libcam.so=libcam.so
/lib/dll/io-blk.so=io-blk.so
/lib/dll/cam-disk.so=cam-disk.so
/lib/dll/cam-cdrom.so=cam-cdrom.so
/lib/dll/fs-qnx6.so=fs-qnx6.so
/lib/dll/fs-dos.so=fs-dos.so
################################################################################################
## Storage script
################################################################################################
[perms=0744] .storage-server.sh = {
#!/bin/ksh
## Check if the /var/run directory exists
if [ ! -d /var/run ]
then
## Use devf-ram file system for dhcpcd service
echo "Starting devf-ram filesystem ..."
devf-ram -i 9,0 -s0,16m
waitfor /dev/fs9p0
flashctl -p /dev/fs9p0 -e -f -n /var -m
mkdir -m 755 /var/run
mkdir -m 755 /var/db
fi
}
################################################################################################
## Network driver files
################################################################################################
/lib/dll/devs-genet.so=devs-genet.so
/lib/dll/devs-em.so=devs-em.so
/lib/dll/devs-ix.so=devs-ix.so
/lib/dll/devs-re.so=devs-re.so
/lib/dll/devs-axe.so=devs-axe.so
/lib/dll/devs-axge.so=devs-axge.so
/lib/dll/devs-cdce.so=devs-cdce.so
/lib/dll/devs-smsc.so=devs-smsc.so
################################################################################################
## Network driver shared libraries
################################################################################################
/usr/lib/libedit.so=libedit.so
/usr/lib/libexpat.so=libexpat.so
/usr/lib/libfdt.so=libfdt.so
/usr/lib/librpc.so.2=librpc.so.2
/usr/lib/libxo.so.0=libxo.so.0
/lib/libsocket.so=libsocket.so
/lib/libjail.so=libjail.so
/lib/dll/mods-phy.so=mods-phy.so
/lib/dll/mods-pci.so=mods-pci.so
/lib/dll/mods-usb.so=mods-usb.so
/lib/dll/mods-fdt.so=mods-fdt.so
/lib/dll/mods-phy_fdt.so=mods-phy_fdt.so
################################################################################################
## Network driver and support
################################################################################################
/sbin/dhcpcd=dhcpcd
/sbin/dhcpcd-run-hooks=${QNX_TARGET}/sbin/dhcpcd-run-hooks
/sbin/dhcpcd-hooks/20-resolv.conf=${QNX_TARGET}/sbin/dhcpcd-hooks/20-resolv.conf
/sbin/ifconfig=ifconfig
/sbin/io-sock=io-sock
/sbin/pfctl=pfctl
[uid=0 gid=0 perms=4755] /sbin/ping=ping
/sbin/route=route
/sbin/sysctl=sysctl
/usr/bin/netstat=netstat
/usr/bin/sockstat=sockstat
/usr/bin/vmstat=vmstat
/usr/sbin/arp=arp
/usr/sbin/devctl=devctl
/usr/sbin/devinfo=devinfo
/usr/sbin/fs-nfs3=fs-nfs3
/usr/sbin/if_up=if_up
/usr/sbin/ifmcstat=ifmcstat
/usr/sbin/ifwatchd=ifwatchd
/usr/sbin/ip6addrctl=ip6addrctl
/usr/sbin/ndp=ndp
/usr/sbin/tcpdump=tcpdump
[uid=0 gid=0 perms=4755] /usr/sbin/traceroute=traceroute
[uid=0 gid=0 perms=4755] /usr/sbin/traceroute6=traceroute6
/etc/dhcpcd.conf=${QNX_TARGET}/etc/dhcpcd.conf
/etc/hosts=${QNX_TARGET}/etc/hosts
/etc/netconfig=${QNX_TARGET}/etc/netconfig
/etc/protocols=${QNX_TARGET}/etc/protocols
/etc/services=${QNX_TARGET}/etc/services
################################################################################################
## Remote_debug
################################################################################################
/sbin/devc-pty=devc-pty
/usr/bin/pdebug=pdebug
/usr/sbin/qconn=qconn
################################################################################################
## Network services (ssh and dhcpcd) support
################################################################################################
[uid=0 gid=0 perms=0755] /usr/sbin/sshd=sshd
[uid=0 gid=0 perms=0755] /usr/libexec/sftp-server=${QNX_TARGET}/${PROCESSOR}/usr/libexec/sftp-server
[uid=0 gid=0 perms=0755] /usr/bin/scp=scp
[uid=0 gid=0 perms=0755] /usr/bin/ssh=ssh
[uid=0 gid=0 perms=0755] /usr/bin/ssh-keygen=ssh-keygen
[type=link] /etc/ssh = /dev/shmem
/dev/shmem/sshd_config=${QNX_TARGET}/etc/ssh/sshd_config
/etc/esh = {
}
[perms=0744] .ssh-server.sh={
#!/bin/ksh
## Create the ssh keys if they do not exist
if [ ! -f /etc/ssh/ssh_host_rsa_key ]
then
ssh-keygen -q -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key
fi
if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]
then
ssh-keygen -q -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key
fi
if [ ! -f /etc/ssh/ssh_host_ed25519_key ]
then
ssh-keygen -q -t ed25519 -N "" -f /etc/ssh/ssh_host_ed25519_key
fi
## Start SSH daemon
echo "Starting SSH daemon ..."
/usr/sbin/sshd
}
################################################################################################
## USB host drivers
################################################################################################
/lib/dll/devu-hcd-bcm2711-xhci.so=devu-hcd-bcm2711-xhci.so
################################################################################################
## USB host shared libraries
################################################################################################
/lib/libhiddi.so=libhiddi.so
/lib/libusbdi.so=libusbdi.so
################################################################################################
## USB host driver and support
################################################################################################
/sbin/io-usb-otg=io-usb-otg
/sbin/usb=usb
/sbin/devb-umass=devb-umass
################################################################################################
## USB device shared libraries
################################################################################################
/lib/libusbdci.so=libusbdci.so
################################################################################################
## I2C drivers
################################################################################################
/sbin/i2c-bcm2711=i2c-bcm2711
################################################################################################
## I2C support
################################################################################################
/bin/isendrecv=isendrecv
/bin/isend=isend
################################################################################################
## PCI driver HW Modules and configuration file
################################################################################################
/lib/dll/pci/pci_hw-bcm2711-rpi4.so=pci/pci_hw-bcm2711-rpi4.so
################################################################################################
## PCIe driver shared libraries
################################################################################################
/lib/libpci.so=libpci.so
/lib/dll/pci/pci_bkwd_compat.so=pci/pci_bkwd_compat.so
/lib/dll/pci/pci_cap-0x01.so=pci/pci_cap-0x01.so
/lib/dll/pci/pci_cap-0x04.so=pci/pci_cap-0x04.so
/lib/dll/pci/pci_cap-0x05.so=pci/pci_cap-0x05.so
/lib/dll/pci/pci_cap-0x07.so=pci/pci_cap-0x07.so
/lib/dll/pci/pci_cap-0x09-ffffffff.so=pci/pci_cap-0x09-ffffffff.so
/lib/dll/pci/pci_cap-0x0d.so=pci/pci_cap-0x0d.so
/lib/dll/pci/pci_cap-0x10-16c3abcd.so=pci/pci_cap-0x10-16c3abcd.so
/lib/dll/pci/pci_cap-0x10-19570400.so=pci/pci_cap-0x10-19570400.so
/lib/dll/pci/pci_cap-0x10.so=pci/pci_cap-0x10.so
/lib/dll/pci/pci_cap-0x11-ffffffff.so=pci/pci_cap-0x11-ffffffff.so
/lib/dll/pci/pci_cap-0x11.so=pci/pci_cap-0x11.so
/lib/dll/pci/pci_cap-0x12.so=pci/pci_cap-0x12.so
/lib/dll/pci/pci_cap-0x13.so=pci/pci_cap-0x13.so
/lib/dll/pci/pci_debug.so=pci/pci_debug.so
/lib/dll/pci/pci_debug2.so=pci/pci_debug2.so
/lib/dll/pci/pci_server-buscfg-generic.so=pci/pci_server-buscfg-generic.so
/lib/dll/pci/pci_server-buscfg-hotplug.so=pci/pci_server-buscfg-hotplug.so
/lib/dll/pci/pci_server-buscfg2-generic.so=pci/pci_server-buscfg2-generic.so
/lib/dll/pci/pci_server-buscfg2-hotplug.so=pci/pci_server-buscfg2-hotplug.so
/lib/dll/pci/pci_server-enable_features.so=pci/pci_server-enable_features.so
/lib/dll/pci/pci_server-event_handler.so=pci/pci_server-event_handler.so
/lib/dll/pci/pci_server-namespace.so=pci/pci_server-namespace.so
/lib/dll/pci/pci_slog.so=pci/pci_slog.so
/lib/dll/pci/pci_slog2.so=pci/pci_slog2.so
/lib/dll/pci/pci_strings.so=pci/pci_strings.so
/lib/dll/pci/pcie_xcap-0x0001.so=pci/pcie_xcap-0x0001.so
/lib/dll/pci/pcie_xcap-0x0003.so=pci/pcie_xcap-0x0003.so
/lib/dll/pci/pcie_xcap-0x000b-ffffffff.so=pci/pcie_xcap-0x000b-ffffffff.so
/lib/dll/pci/pcie_xcap-0x0015.so=pci/pcie_xcap-0x0015.so
################################################################################################
## PCIe driver and support
################################################################################################
/sbin/pci-server=pci-server
/usr/sbin/pci-tool=pci-tool
/usr/sbin/rsrcdb_query=rsrcdb_query
/etc/system/config/pci/pcidatabase.com-tab_delimited.txt=${QNX_TARGET}/etc/system/config/pci/pcidatabase.com-tab_delimited.txt
################################################################################################
## SPI driver
################################################################################################
/sbin/spi-bcm2711=spi-bcm2711
/etc/system/config/spi/spi.conf = {
# See spi-template.conf or SDP docs for a full description of the configuration fields.
[globals]
verbose=5
[bus]
busno=0
name=spi0
base=0xfe204000
irq=150
input_clock=500000000
bs=rpanic=48,tpanic=16
dma_attach_opts=num_cbs=256,range_min=0,range_max=14,typed_mem=sysram&below1G
dma_thld=4
[dev]
parent_busno=0
devno=0
name=dev0
clock_rate=5000000
cpha=1
cpol=0
bit_order=msb
word_width=32
idle_insert=1
[dev]
parent_busno=0
devno=1
name=dev1
cpha=0
cpol=1
word_width=32
clock_rate=5000000
[bus]
busno=3
name=spi3
base=0xfe204600
irq=151
input_clock=500000000
[dev]
parent_busno=3
devno=0
name=dev0
cpha=0
cpol=1
word_width=8
clock_rate=5000000
}
################################################################################################
## Shared libraries for security
################################################################################################
/lib/libqh.so=libqh.so
/lib/libregex.so=libregex.so
/lib/libsecpol.so=libsecpol.so
/lib/libslog2parse.so=libslog2parse.so
/lib/libslog2shim.so=libslog2shim.so
/lib/libslog2.so=libslog2.so
/lib/libtracelog.so=libtracelog.so
/lib/dll/qcrypto-openssl-3.so=qcrypto-openssl-3.so
/usr/lib/libcrypto.so=libcrypto.so
/usr/lib/libncursesw.so=libncursesw.so
/usr/lib/libqcrypto.so=libqcrypto.so
/usr/lib/libssl.so=libssl.so
################################################################################################
## libqcrypto support
################################################################################################
[uid=0 gid=0 perms=0644] /etc/qcrypto.conf = {
openssl-3 tags=*
}
################################################################################################
## Security files
################################################################################################
[uid=0 gid=0 perms=4755] /bin/login=login
[uid=0 gid=0 perms=4755] /bin/su=su
[uid=0 gid=0 perms=4755] /usr/bin/passwd=passwd
[uid=0 gid=0 perms=0644] /etc/passwd = {
root:x:0:0:Superuser:/root:/bin/sh
sshd:x:15:6:sshd:/var/chroot/sshd:/bin/false
qnxuser:x:1000:1000:QNX User:/home/qnxuser:/bin/sh
}
## Enabled Username/Password: root/root, qnxuser/qnxuser
[uid=0 gid=0 perms=0644] /etc/shadow = {
root:@S@NKlWES1quMp1wmqugkUSnFEpPGn58kIs4wQOgDDNs06vimR+bbGPUKM+9P6jbFUzo3Rm+Qe5MS+17xKhwaeJEg==@Mjg5ZTJiMTM0YTRjYTE2ZGFjMDdhZTFlY2NlMDVmNmE=:1468494669:0:0
sshd:*:1231323780:0:0
qnxuser:@S@HZERXjgixvb3157FFeraShhvTVw+10ccUtVUVZbi0fUwpzlzBZFw5gHiFd1XHKit8D39Whe749XAY8fV4P5ANQ==@Y2ZlOTg3M2RhNTM4Y2M2ODY0OWZhODdiNDRkMmU5Nzg=:1468488235:0:0
}
[uid=0 gid=0 perms=0644] /etc/group = {
root:x:0:root
sshd:x:6:
qnxuser:x:1000
}
################################################################################################
## PAM configurations addon build file
################################################################################################
[uid=0 gid=0 type=dir dperms=0755] /
[uid=0 gid=0 type=dir dperms=0755] /etc
[uid=0 gid=0 type=dir dperms=0755] /etc/pam.d
[uid=0 gid=0 type=dir dperms=0755] /home
[uid=1000 gid=1000 type=dir dperms=0755] /home/qnxuser
[uid=0 gid=0 type=dir dperms=0755] /lib
[uid=0 gid=0 type=dir dperms=0700] /root
[uid=0 gid=0 type=dir dperms=0755] /usr
[uid=0 gid=0 type=dir dperms=0755] /usr/lib
[uid=0 gid=0 type=dir dperms=0755] /var
[uid=0 gid=0 type=dir dperms=0755] /var/chroot
[uid=0 gid=0 type=dir dperms=0755] /var/chroot/sshd
[uid=0 gid=0 perms=0644] /etc/pam.d/login=${QNX_TARGET}/etc/pam.d/login
[uid=0 gid=0 perms=0644] /etc/pam.d/passwd=${QNX_TARGET}/etc/pam.d/passwd
[uid=0 gid=0 perms=0644] /etc/pam.d/su=${QNX_TARGET}/etc/pam.d/su
[uid=0 gid=0 perms=0755] /usr/lib/libpam.so=libpam.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_deny.so=pam_deny.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_echo.so=pam_echo.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_exec.so=pam_exec.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_group.so=pam_group.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_permit.so=pam_permit.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_qnx.so=pam_qnx.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_rootok.so=pam_rootok.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_secpol.so=pam_secpol.so
[uid=0 gid=0 perms=0755] /usr/lib/pam_self.so=pam_self.so
################################################################################################
## General shared libraries
################################################################################################
ldqnx-64.so.2=ldqnx-64.so.2
/lib/libc.so=libc.so
/lib/libcatalog.so=libcatalog.so
/lib/libdevice-publisher.so=libdevice-publisher.so
/lib/libgcc_s.so=libgcc_s.so
/lib/libm.so=libm.so
[+optional] /lib/libfsnotify.so=libfsnotify.so
/usr/lib/libbacktrace.so=libbacktrace.so
/usr/lib/libc++.so=libc++.so
/usr/lib/libiconv.so=libiconv.so
/usr/lib/libintl.so=libintl.so
/usr/lib/libpanelw.so=libpanelw.so
/usr/lib/libz.so=libz.so
################################################################################################
## General commands
################################################################################################
/bin/confstr=confstr
/bin/df=df
/bin/hostname=hostname
/bin/kill=kill
/bin/ksh=ksh
/bin/mount=mount
/bin/on=on
/bin/pidin=pidin
/bin/slay=slay
/bin/slog2info=slog2info
/bin/slogger2=slogger2
/bin/sync=sync
/bin/umount=umount
/bin/waitfor=waitfor
/sbin/mqueue=mqueue
/sbin/pipe=pipe
/sbin/shutdown=shutdown
/usr/bin/getconf=getconf
/usr/bin/hd=hd
/usr/bin/ldd=ldd
/usr/bin/setconf=setconf
/usr/bin/top=top
/usr/bin/use=use
/usr/sbin/dumper=dumper
/usr/sbin/random=random
/usr/sbin/tracelogger=tracelogger
################################################################################################
## Toybox commands
## Note: The toybox package combines many common Linux command line utilities together into
## a single, BSD-licensed executable. The following toybox commands are supported.
## Use one of the following commands to access help for a toybox command:
## toybox command_name --help
## command_name --help
################################################################################################
/usr/bin/toybox=toybox
[type=link] /bin/cat=/usr/bin/toybox
[type=link] /bin/chmod=/usr/bin/toybox
[type=link] /bin/cp=/usr/bin/toybox
[type=link] /bin/dd=/usr/bin/toybox
[type=link] /bin/echo=/usr/bin/toybox
[type=link] /bin/ln=/usr/bin/toybox
[type=link] /bin/ls=/usr/bin/toybox
[type=link] /bin/mkdir=/usr/bin/toybox
[type=link] /bin/mv=/usr/bin/toybox
[type=link] /bin/pwd=/usr/bin/toybox
[type=link] /bin/rm=/usr/bin/toybox
[type=link] /bin/sed=/usr/bin/toybox
[type=link] /bin/uname=/usr/bin/toybox
[type=link] /usr/bin/ascii=/usr/bin/toybox
[type=link] /usr/bin/base64=/usr/bin/toybox
[type=link] /usr/bin/basename=/usr/bin/toybox
[type=link] /usr/bin/bc=/usr/bin/toybox
[type=link] /usr/bin/bunzip2=/usr/bin/toybox
[type=link] /usr/bin/bzcat=/usr/bin/toybox
[type=link] /usr/bin/cal=/usr/bin/toybox
[type=link] /usr/bin/chgrp=/usr/bin/toybox
[type=link] /usr/bin/chown=/usr/bin/toybox
[type=link] /usr/bin/cksum=/usr/bin/toybox
[type=link] /usr/bin/clear=/usr/bin/toybox
[type=link] /usr/bin/cmp=/usr/bin/toybox
[type=link] /usr/bin/comm=/usr/bin/toybox
[type=link] /usr/bin/cpio=/usr/bin/toybox
[type=link] /usr/bin/crc32=/usr/bin/toybox
[type=link] /usr/bin/cut=/usr/bin/toybox
[type=link] /usr/bin/date=/usr/bin/toybox
[type=link] /usr/bin/diff=/usr/bin/toybox
[type=link] /usr/bin/dirname=/usr/bin/toybox
[type=link] /usr/bin/dos2unix=/usr/bin/toybox
[type=link] /usr/bin/du=/usr/bin/toybox
[type=link] /usr/bin/egrep=/usr/bin/toybox
[type=link] /usr/bin/env=/usr/bin/toybox
[type=link] /usr/bin/expand=/usr/bin/toybox
[type=link] /usr/bin/expr=/usr/bin/toybox
[type=link] /usr/bin/false=/usr/bin/toybox
[type=link] /usr/bin/fgrep=/usr/bin/toybox
[type=link] /usr/bin/file=/usr/bin/toybox
[type=link] /usr/bin/find=/usr/bin/toybox
[type=link] /usr/bin/grep=/usr/bin/toybox
[type=link] /usr/bin/groups=/usr/bin/toybox
[type=link] /usr/bin/gunzip=/usr/bin/toybox
[type=link] /usr/bin/gzip=/usr/bin/toybox
[type=link] /usr/bin/head=/usr/bin/toybox
[type=link] /usr/bin/id=/usr/bin/toybox
[type=link] /usr/bin/install=/usr/bin/toybox
[type=link] /usr/bin/link=/usr/bin/toybox
[type=link] /usr/bin/logname=/usr/bin/toybox
[type=link] /usr/bin/md5sum=/usr/bin/toybox
[type=link] /usr/bin/mkfifo=/usr/bin/toybox
[type=link] /usr/bin/mktemp=/usr/bin/toybox
[type=link] /usr/bin/more=/usr/bin/toybox
[type=link] /usr/bin/nl=/usr/bin/toybox
[type=link] /usr/bin/nohup=/usr/bin/toybox
[type=link] /usr/bin/od=/usr/bin/toybox
[type=link] /usr/bin/paste=/usr/bin/toybox
[type=link] /usr/bin/patch=/usr/bin/toybox
[type=link] /usr/bin/printenv=/usr/bin/toybox
[type=link] /usr/bin/printf=/usr/bin/toybox
[type=link] /usr/bin/readlink=/usr/bin/toybox
[type=link] /usr/bin/realpath=/usr/bin/toybox
[type=link] /usr/bin/rmdir=/usr/bin/toybox
[type=link] /usr/bin/seq=/usr/bin/toybox
[type=link] /usr/bin/sha1sum=/usr/bin/toybox
[type=link] /usr/bin/sleep=/usr/bin/toybox
[type=link] /usr/bin/sort=/usr/bin/toybox
[type=link] /usr/bin/split=/usr/bin/toybox
[type=link] /usr/bin/stat=/usr/bin/toybox
[type=link] /usr/bin/strings=/usr/bin/toybox
[type=link] /usr/bin/tail=/usr/bin/toybox
[type=link] /usr/bin/tar=/usr/bin/toybox
[type=link] /usr/bin/tee=/usr/bin/toybox
[type=link] /usr/bin/test=/usr/bin/toybox
[type=link] /usr/bin/time=/usr/bin/toybox
[type=link] /usr/bin/timeout=/usr/bin/toybox
[type=link] /usr/bin/touch=/usr/bin/toybox
[type=link] /usr/bin/true=/usr/bin/toybox
[type=link] /usr/bin/truncate=/usr/bin/toybox
[type=link] /usr/bin/tty=/usr/bin/toybox
[type=link] /usr/bin/uniq=/usr/bin/toybox
[type=link] /usr/bin/unix2dos=/usr/bin/toybox
[type=link] /usr/bin/unlink=/usr/bin/toybox
[type=link] /usr/bin/uudecode=/usr/bin/toybox
[type=link] /usr/bin/uuencode=/usr/bin/toybox
[type=link] /usr/bin/uuidgen=/usr/bin/toybox
[type=link] /usr/bin/wc=/usr/bin/toybox
[type=link] /usr/bin/which=/usr/bin/toybox
[type=link] /usr/bin/whoami=/usr/bin/toybox
[type=link] /usr/bin/xargs=/usr/bin/toybox
[type=link] /usr/bin/xxd=/usr/bin/toybox
[type=link] /usr/bin/yes=/usr/bin/toybox
[type=link] /usr/bin/zcat=/usr/bin/toybox
################################################################################################
## ENV profile
################################################################################################
/etc/profile = {
export HOME=/
export SYSNAME=nto
export TERM=qansi
export PATH=/proc/boot:/sbin:/bin:/usr/bin:/usr/sbin:/usr/libexec
export LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci
export PCI_HW_MODULE=/lib/dll/pci/pci_hw-bcm2711-rpi4.so
export PCI_DEBUG_MODULE=/lib/dll/pci/pci_debug2.so
export PCI_SLOG_MODULE=/lib/dll/pci/pci_slog2.so
export PCI_BKWD_COMPAT_MODULE=/lib/dll/pci/pci_bkwd_compat.so
}
################################################################################################
## Customize startup
################################################################################################
customize_startup.sh = {
#!/bin/ksh
if [ -e /scripts/board_startup.sh ]; then
echo "Starting board customize script ..."
ksh /scripts/board_startup.sh
fi
}
################################################################################################
## Script for launching the io-usb-otg
################################################################################################
usb_start.sh = {
#!/bin/sh
VL805_VERSION=/dev/shmem/vl805_version.txt
pci-tool -d 1:0:0 --read="CFG:0x50" > $VL805_VERSION
if grep "50] 00000000" $VL805_VERSION > /dev/null; then
echo "Inform vc to load vl805 firmware"
mbox-bcm2711 notifyxhcireset=0x100000 > /dev/null 2>&1
fi
echo "Starting USB xHCI controller in the host mode (/dev/usb/*)..."
io-usb-otg -t memory=below1G -d bcm2711-xhci pindex=0,memory=below1G
waitfor /dev/usb/io-usb-otg
waitfor /dev/usb/devu-hcd-bcm2711-xhci.so
}
################################################################################################
## GPIO utility
################################################################################################
/bin/gpio-bcm2711=gpio-bcm2711
################################################################################################
## Mailbox utility
################################################################################################
/bin/mbox-bcm2711=mbox-bcm2711
################################################################################################
## WIFI firmware and WPA utilities
################################################################################################
#[search=../install/etc/firmware] /etc/hotspot/firmware.bin=brcmfmac43455-sdio.bin
#[search=../install/etc/firmware] /etc/hotspot/nvram.txt=brcmfmac43455-sdio.txt
#[search=../install/etc/firmware] /etc/hotspot/firmware.clm_blob=brcmfmac43455-sdio.clm_blob
#/usr/sbin/wpa_cli=wpa_cli
#/usr/sbin/wpa_passphrase=wpa_passphrase
#/usr/sbin/wpa_supplicant=wpa_supplicant
#[perms=0555] /etc/wpa_act={
#!/bin/sh
#case in
#CONNECTED) echo __BOARD_FILES__ ID=$WPA_ID STR=$WPA_ID_STR >/dev/console; dhcp. -D rpi4 -i ;;
#DISCONNECTED) echo __BOARD_FILES__ >/dev/console; slay -f dhcp.; ifconfig delete ;;
#esac
#}