imx6 yocto移植udev-100

本文介绍了在imx6q yocto环境下移植udev-100的完整过程,包括修改Makefile以适应交叉编译环境,解决编译错误,替换/sbin下的udevd及相关文件,更新rootfs中udevd的调用路径,修改/etc/init.d/rcS脚本以启动udevd,以及调整/etc/udev/rules.d/12-add-sd.rules文件以适应系统分区变化。

imx6q yocto通过bitbake自动生成的根文件系统与之前差异较大,外置sd卡无法挂载,#grep "udevd" rootfs -r发现启动的都不是以前/sbin下的守护进程,变成了/lib/udev/udevd,试图编最新的udev-182,解了一堆的配置与编译的依赖,最后还是链接不过,果断放弃!重新移植udev-100,步骤如下:

一、下载udev-100包后,修改Makefile如下:

CROSS_COMPILE ?=/opt/fsl-imx-fb/4.1.15-1.2.0/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
CC = $(CROSS_COMPILE)gcc -mfloat-abi=hard -mfpu=neon --sysroot=/opt/fsl-imx-fb/4.1.15-1.2.0/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi

LD = $(CROSS_COMPILE)gcc -mfloat-abi=hard -mfpu=neon --sysroot=/opt/fsl-imx-fb/4.1.15-1.2.0/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi

编译中报错:
udevd.c: In function 'main':
udevd.c:1006:14: error: 'PRIO_PROCESS' undeclared (first use in this function)
  setpriority(PRIO_PROCESS, 0, UDEVD_PRIORITY);
解决方法:
在udevd.c中加入头文件:
#include <sys/time.h>

#include <sys/resource.h>

即可编译完成,生成udev、udevd、udevstart、udevinfo、udevtest,将其替换/sbin下对应文件。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值