一、在工程路径下新建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卡的更多相关文章

  1. 简单实现JDBC自动加载驱动,简化数据连接和关闭数据库连接

    package util; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import j ...

  2. Phalcon自动加载(PHP自动加载)

    自动加载(phalcon\Loader) 转载请注明来源 一.php文件引入 通过 include() 或 require() 函数,可以在PHP程序执行之前在该文件中插入一个文件的内容. 区别:处理 ...

  3. PHP 命名空间以及自动加载(自动调用的函数,来include文件)

    这篇文章的目的是记录 1. php中的自动加载函数 __autoload(), 和 spl_autoload_register()函数, 2 .php中命名空间的使用. 一.当不使用命名空间的时候 a ...

  4. Inside GDALAllRegister之二: 自动加载驱动

    代码    GetGDALDriverManager()->AutoLoadDrivers(); 包含了两部分: 首先获得GDALDriverManager的singleton对象的指针,这点之 ...

  5. 如何让openvpn在windows启动时自动加载

    在非常需要vpn的人群中,他们几乎一整天都连接着vpn,但是每次开机都要连接vpn的过程有时候比较繁琐对于新手而言.这篇文章主要是说明如何在windows启动时自动加载openvpn自动连接,该教程适 ...

  6. Yii2的深入学习--自动加载机制

    Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个  ...

  7. Yii2的深入学习--自动加载机制(转)

    Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个  ...

  8. 自动加载以及Composer的实现

    类的自动加载 两个函数 __autoload()魔术方法.spl_autoload_register 当php文件中使用了new关键字实例化一个对象时,如果该类没有在本php文件中被定义,将会触发__ ...

  9. thinkphp5.0 自动加载

    自动加载 概述 ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载. 自动加载的实现由think\Loader类库完成,自动加载规范符 ...

  10. PHP 命名空间与自动加载机制

    include 和 require 是PHP中引入文件的两个基本方法.在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 requ ...

随机推荐

  1. robotframework之添加browser库

    browser库的官网地址需要FQ,在网上找到了不需要FQ的版本 robotframework-browser · PyPI 1.下载node.js 下载地址:https://nodejs.org/e ...

  2. .net6 Api添加跨域

    参照:(7条消息) .net6使用最小api(8)- 开启跨域模式,通过扩展服务实现_hailang2ll的博客-CSDN博客 步骤: 一.在appsetting.json里添加配置文件 //配置文件 ...

  3. DDD领域驱动大纲讲义

    DDD领域驱动模型 什么是领域?什么是领域模型? 没有丰富的领域知识能做出复杂的银行业业务软件吗 ? 没门 . 答案永远是否定的 . 那么谁 了解银行业业务 ? 软件架构师吗 ? 不 , 他只是在使用 ...

  4. Java 数据库开发总结

    数据库连接.设计以及备份技巧集锦 JDBC操作各种数据库经验技巧集萃 Java 数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的  ...

  5. 一些 DP 思维题

    最单纯的思维题就是想出来思路就会做,几乎没有实现难度的题.这种题 CF 与 Atcoder 比较多,这里集中记录一下. 对于 DP 而言,思维题只需要想出转移方程即可. CF1174E Ehab an ...

  6. P10833 [COTS 2023] 下 Niz题解

    题意: 给定长度为 \(N\) 的序列 \(a\),求满足以下条件的 \((l,r)\) 对数: \(1\le l\le r\le N\): \(a_l,a_{l+1},\cdots,a_{r-1}, ...

  7. P11071 「QMSOI R1」 Distorted Fate题解

    题意: 给定一个序列,给定两种操作: 将一个区间异或上一个给定的值. 给定 \(l,r\) 求 \[{\large (\sum_{i=l}^r\bigcup_{j=l}^i A_j) \bmod 2^ ...

  8. Python 基础练手 32 道

    只是记录一把, 这两天, 在建表和定方案的时间极其不充裕下, 看到有铁子求助一下基础的编程题, 32 道题, 90% 都是非常基础的那种, 输入, 输出, 简单判断这些.. 对于新手而言, 练练手还是 ...

  9. SQL 日常练习 (十八)

    也没啥, 就是入坑 sql 根本停不下来, 势必要达到所谓 "精通" 的地步. 从网上的例子也快搬运完了, 而工作中的 sql 又是万万不能外泄了. 因此想着, 该去哪里搬砖呢, ...

  10. 【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充

    大家好,我是"蒋点数分",多年以来一直从事数据分析工作.从今天开始,与大家持续分享关于数据分析的学习内容. 本文是第 5 篇,也是[SQL 周周练]系列的第 4 篇.该系列是挑选或 ...