1. 背景

以前做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

难道是脚本形态?

2. 跟踪

2.1 qnx shell 查找

# 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

3. 正主

scripts/startup.sh

该脚本做了很多事情,不细说,看文件对了。

3.1 startup.sh 那些宏定义

想办法导出startup.sh文件,发现很多宏定义引用,虽然不耽误理解,但是技术人员追求本质的好奇心使然,这些define 在哪里?

搜索发现,定义在 /scripts/platform_variables.sh文件中。

在startup.sh 通过:
. /scripts/platform_variables.sh

来引入

3.2 源文件:

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. 那些事

4.1 启动vp以太网网卡

4.2 启动mtouch

4.3 启动....

等等,在此文件可以添加想要启动的进程。

5. 总结

TODO

01- SA8155P QNX LA/LV 启动(01) - startup相关推荐

  1. tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系

    1.概述 JavaWeb项目发布tomcat容器,我们一般是到tomcat下的bin/startup.sh直接运行.很少去了解tomcat底层启动细节. 后来实际开发中,需要在tomcat中显式配置- ...

  2. 写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分

    写一个用矩形法求定积分的通用公式,分别求 sinx在0-1上积分,cosx在0-1上积分,e^x在0-1上积分 #include <stdio.h> #include <stdlib ...

  3. linux探针,存活探针(Liveness)、就绪探针(Readiness)、启动探针(Startup)、容器钩子

    一.探针 1.1.探针类型 LivenessProbe 用于判断容器是否存活(running状态),如果LivenessProbe探针探测到容器不健康,则kubelet杀掉该容器,并根据容器的重启策略 ...

  4. 为什么1.01*1.01*1.01=1.030301,而1.01**3=1.0303010000000001?

    今天CSDN的问答栏目中,有同学提出了一个很有意思的问题:为什么3个1.01直接相乘的结果和1.01的3次方不一样呢? >>> 1.01*1.01*1.01 1.030301 > ...

  5. ARM汇编指令学习---基于启动文件startup.S分析

    本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析. 以 . 开头一般是伪汇编/操作指令,形如: .section伪操作来定义一个段,形如: .section .testsectio ...

  6. windows启动nacos startup.cmd报错 失败

    windows启动nacos startup.cmd报错 失败 如果是第一次下载解压后直接启动报错 那么很有可能是启动模式不对 解决方案 : 将set MODE改为set MODE="sta ...

  7. Jvm-Sandbox原理分析-Sandbox的启动-01

    Jvm-Sandbox的启动(一):sandbox.sh脚本分析 Sandbox的启动是通过其内置的shell脚本 sandbox.sh 开始执行的,一切的开始皆可从该脚本中探寻出结果.脚本有一定的代 ...

  8. QNX设置开机启动命令来修改IP地址

    2019独角兽企业重金招聘Python工程师标准>>> 在控制台使用命令行修改QNX系统IP地址: # ifconfig en0 192.168.0.156 查询IP地址: # if ...

  9. Tomcat启动脚本startup.sh分析

    一.分析说明     为了写出更加完善的tomcat启动方面的自动化脚本,健壮自己用于代码上线自动化部署的脚本,特分析下tomcat的bin目录下的starup.sh脚本,学习标准的sh脚本的编写方法 ...

最新文章

  1. java spring context_java将对象注册到spring context中 | 学步园
  2. 网站优化的“内忧外患”需兼顾
  3. 如果从Silverlight 读取本地GB2312格式的xml文件
  4. 文献学习(part83)--An Embedding Approach to Anomaly Detection
  5. python数据分析知识整理_Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)...
  6. ubuntu14.04 x86编译upx 3.92 及so加固
  7. 用vue语法写html,Vue -- 模板语法
  8. py第五天,列表的练习,每日菜谱
  9. 【华为云技术分享】如何度量前端项目研发效率与质量(上)
  10. JDK-Logger
  11. python 修改dataframe列名的几种方法
  12. 自动驾驶1-4 驾驶分类Taxonomy of Driving
  13. python 多线程ping_Python快速多线程ping实现
  14. pascal语言基础(一)
  15. LeetCode 781 森林中的兔子 题解
  16. 字节跳动技术团队年度 TOP10 技术干货,陪你度过不平凡的 2020
  17. CSS属性分类扫描-表格属性
  18. idgenerator 会重复吗_随机 ID 生成器
  19. 惠普笔记本通过系统如何进入BIOS?
  20. 个人使用华为云服务器的经验分享

热门文章

  1. c语言定义禁止优化变量,c语言防止优化
  2. pagehelper不调用startpage依旧执行分页问题处理
  3. java get方法使用_java中关于set()和get()方法的理解和使用
  4. 解决hotmail邮箱无法登陆问题
  5. urllib库下载网页源码,图片,视频测试
  6. c语言判断字符是否对称,2020-07-23(C语言)数据结构-试设计算法判断该链表的全部n个字符是否中心对称。...
  7. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 概率与期望+高斯消元
  8. 80核处理器_最受欢迎的处理器 酷睿i5-9400F果然霸榜了
  9. C3P0、狂生说MySQL、: No suitable driver
  10. 大数据学习的第一课-大数据概论和技术原理