Petalinux ARM设置自启动、自动加载驱动、自动挂载SD卡
一、在工程路径下新建app
petalinux-create -t apps --template install -n myapp-init --enable
petalinux会在metausr目录下新建一个目录,结构如下
project-spec/meta-user/recipes-apps/myapp-init/
├── files
│ └── myapp-init
├── myapp-init.bb
└── README
1 directory, 4 files
二、修改myapp-init文件
#!/bin/sh
echo "Hello PetaLinux PD2201"
#mount /dev/mmcblk0p1 /mnt/sd-mmcblk0p2
echo "insmod my spi driver"
echo 'cd /lib/modules/5.4.0-xilinx-v2020.2/extra'>> /etc/profile
echo 'modprobe myspidriver.ko'>> /etc/profile
echo 'FILE=/media/sd-mmcblk0p2/nanomsg_zc702.elf'>> /etc/profile
echo 'if [ -f "$FILE" ]; then'>> /etc/profile
echo ' echo "sd-mmcblk0p2 exist"'>> /etc/profile
echo ' cd /media/sd-mmcblk0p2'>> /etc/profile
echo 'else'>> /etc/profile
echo ' echo "sd-mmcblk0p1 not exist,start mount"'>> /etc/profile
echo ' mkdir media/sd-mmcblk0p2'>> /etc/profile
'mount /dev/mmcblk0p1 /media/sd-mmcblk0p2' >> /etc/profile
echo ' cd /media/sd-mmcblk0p2'>> /etc/profile
echo 'fi'>> /etc/profile
echo 'cp ./nanomasg_lib/libnanomsg.so* /lib/'>> /etc/profile
echo './nanomsg_zc702.elf' >> /etc/profile
因为/etc/profile文件会在登陆后自动执行,因此可以将挂载驱动、sd卡、启动APP的命令写在该文件后。
三、修改myapp-init.bb文件
#
# This file is the myapp-aoturun recipe.
#
SUMMARY = "Simple myapp-aoturun application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://myapp-init \
"
S = "${WORKDIR}"
inherit update-rc.d
INITSCRIPT_NAME = "myapp-init"
INITSCRIPT_PARAMS = "start 99 5 ."
do_install() {
# install -d ${D}/${bindir}
# install -m 0755 ${S}/myapp-aoturun ${D}/${bindir}
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${S}/myapp-init ${D}${sysconfdir}/init.d/myapp-init
}
FILES_${PN} += "${sysconfdir}/*"
四、rootfs中查看是否存在该APP
petalinux -config -c rootfs
五、build整个工程,并更新boot,rootfs
petalinux -build
petalinux-package --boot --fsbl --fpga --u-boot --force
Petalinux ARM设置自启动、自动加载驱动、自动挂载SD卡的更多相关文章
- 简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接
package util; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import j ...
- Phalcon自动加载(PHP自动加载)
自动加载(phalcon\Loader) 转载请注明来源 一.php文件引入 通过 include() 或 require() 函数,可以在PHP程序执行之前在该文件中插入一个文件的内容. 区别:处理 ...
- PHP 命名空间以及自动加载(自动调用的函数,来include文件)
这篇文章的目的是记录 1. php中的自动加载函数 __autoload(), 和 spl_autoload_register()函数, 2 .php中命名空间的使用. 一.当不使用命名空间的时候 a ...
- Inside GDALAllRegister之二: 自动加载驱动
代码 GetGDALDriverManager()->AutoLoadDrivers(); 包含了两部分: 首先获得GDALDriverManager的singleton对象的指针,这点之 ...
- 如何让openvpn在windows启动时自动加载
在非常需要vpn的人群中,他们几乎一整天都连接着vpn,但是每次开机都要连接vpn的过程有时候比较繁琐对于新手而言.这篇文章主要是说明如何在windows启动时自动加载openvpn自动连接,该教程适 ...
- Yii2的深入学习--自动加载机制
Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 ...
- Yii2的深入学习--自动加载机制(转)
Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 ...
- 自动加载以及Composer的实现
类的自动加载 两个函数 __autoload()魔术方法.spl_autoload_register 当php文件中使用了new关键字实例化一个对象时,如果该类没有在本php文件中被定义,将会触发__ ...
- thinkphp5.0 自动加载
自动加载 概述 ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载. 自动加载的实现由think\Loader类库完成,自动加载规范符 ...
- PHP 命名空间与自动加载机制
include 和 require 是PHP中引入文件的两个基本方法.在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 requ ...
随机推荐
- 导入别人的android studio项目
在导入别人的android studio项目(假设为项目A)时,会遇到gradle不一致的情况,以下简短介绍解决方法: 1. 打开要导入的项目的目录,删除下图红框中的文件. 2. 找到自己以前在自己的 ...
- 【笔记】reko 0.10.2 反编译工具安装和使用记录|(2) user‘s guide
Reko user's guide Reko是一个二进制可执行文件的反编译器.它接受输入的一个或多个二进制可执行文件,然后反编译成高级语言.它可以在GUI shell中被交互地使用,作为一个命令行项目 ...
- 详解SLAM中的李群和李代数(中)
1 概述 在上一篇文章<详解SLAM中的李群和李代数(上)>中,我们已经通过对李群求导引出了李代数.在这篇文章中,我们就系统总结一下李代数的相关知识. 2 李代数 2.1 定义 李代数是一 ...
- React最新面试攻略
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 开启PyTorch的第一天
为积极响应导师的要求,我开启了我的深度学习之旅,成为炼丹大队的一员. 今天先是安装PyTorch,路子大家网上已经摸的很清了,我主要参考的是 https://blog.csdn.net/weixin_ ...
- TwoSum---LeetCode进阶路①
LeetCode敲门题: 题目: Given an array of integers, return indices of the two numbers such that they add up ...
- 必看!手把手教你玩转Dify的3大核心工具!
Dify 中的工具是指其平台内置或支持集成的功能插件,用于扩展 AI 应用的能力. 1.工具作用 扩展 LLM 的能力:工具可以赋予 LLM 连接外部世界的能力,例如联网搜索.科学计算.绘制图片等.例 ...
- php伪随机数爆破
php伪随机数爆破 涉及到的函数为mt_rand() mt_rand(min, max) 返回min到max之间的伪随机数,如果参数缺省,则返回0到RAND_MAX之间的伪随机数. 不同于常规的伪随机 ...
- 【uni-app】在windows10系统中HBuliderX用iPhone苹果手机进行调试运行详细说明
测试准备: 1)iphone13 ios18.4.1 和一根可以读取数据的苹果线 2)HBuliderX打开uni-app项目文件(项目图标是正方形内一个U) 3)windows10系统 测试目标 ...
- Fiddler破解钉钉禁止点赞 钉钉点赞一下转换1*10^7+个赞
破解钉钉禁止点赞 点一下1*10^7+个赞 说明:本文未经授权禁止转载 紧急upd 3.14号之后无法点超过一个赞,所以修改数据包时(unlock.html)的数字无法设置那么大,只能设置为1.当然, ...