以前做Linux开发时候有rc.s等启动脚本,同样,8155 QNX未发现启动code,传闻的startup相关code都未发现,难道封装了?
没道理,启动code封装了,怎么搞定制化。
QNX SRC下startup就这些东西:
./src700/hardware/startup
./src700/hardware/startup/lib/startup.h
./src700/hardware/startup/boards/msm8150/aarch64/le/startup-sdx
文件./AMSS/platform/utilities/interopt/startup.c 显然不是我们想要的startup
难道是脚本形态?
# find -name *.sh
./bin/clock.sh
./bin/if-config.sh
./bin/spmitool.sh
./scripts/analyzer.sh
./scripts/lpm_resume_services.sh
./scripts/lpm.sh
./scripts/extnet.sh
./scripts/generate_guestdump.sh
./scripts/platform_variables.sh
./scripts/startup.sh //发现正主了
那么重命名下该文件验证下就知道了。
#mv scripts/startup.sh scripts/startup_bak.sh
#reset
重启后,发现LA无法启动

如上截图,验证发现,启动脚本确实是scripts/startup.sh
scripts/startup.sh
该脚本做了很多事情,不细说,看文件对了。
想办法导出startup.sh文件,发现很多宏定义引用,虽然不耽误理解,但是技术人员追求本质的好奇心使然,这些define 在哪里?
搜索发现,定义在 /scripts/platform_variables.sh文件中。
在startup.sh 通过:
. /scripts/platform_variables.sh
来引入
qnx_ap/target/hypervisor/host/out_8155/startup-qvmhost-fdn.sh
qnx_ap/target/hypervisor/host/out_8155/startup-qvmhost.sh
qnx_ap/target/hypervisor/host/out_8155/startup-qvmguest.sh
qnx_ap/target/hypervisor/host/startupmgr/src/script.c
4.1 启动vp以太网网卡
4.2 启动mtouch
4.3 启动....
等等,在此文件可以添加想要启动的进程。
TODO