前段时间使用了Petalinux(2017.2)用作zynq的linux系统构建工具,总体而言,这个软家操作还是比较方便简单的。但是,由于项目需要,此系统中的某些服务需要实现开机自启的功能,查阅了最新版本的petalinux手册,其对应用自启的操作如下所示
#
# This file is the mystartup recipe.
#
SUMMARY = "Simple mystartup application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM =
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://mystartup.c \
file://Makefile \
file://mystartup.sh \
"
INITSCRIPT_NAME = "mystartup"
INITSCRIPT_PARAMS = "defaults"
S = "${WORKDIR}"
inherit update-rc.d
do_compile() {
oe_runmake
}
do_install() {
install -d ${D}${bindir}
install -m 0755 mystartup ${D}${bindir}
install -d ${D}${sysconfdir}/init.d/
install -m 0755 mystartup.s ${D}${sysconfdir}/init.d/mystartup
}
此处虽然引入了 update-rc.d 类,但是这样操作以后,其并没有在rootfs下的rcS.d文件夹下并没有相应的软链接。花了一个礼拜用了各种方法,发现解决未遂==只好曲线救国
根据xilinx wiki上的操作,自己编译里uboot dtc 内核镜像。并将根文件系统放入ext4分区下面,使系统不再是掉电易失的状态。这样,我们便可以直接或者在线修改根文件系统,自启问题便迎刃而解了。
若有人指导petalinux自启的正确方法,不吝赐教,谢谢~