Linux
99自由客
这个作者很懒,什么都没留下…
展开
-
内核程序与用户态的程序之间的通讯
1. 内核程序与用户态的程序又是怎样行通讯的呢?通过各种各样的用户态和内核态的IPC(Inter Process Communication )机制来实现。比如系统调用,ioctl接口,proc文件系统以及netlink socket。2. 系统调用,ioctl接口,proc文件系统以及netlink socket之间的优缺点。系统调用和ioctl都属于单工方式的IPC,原创 2017-09-26 17:15:48 · 1246 阅读 · 0 评论 -
shell脚本显示执行过程
Bash shell脚本打印出正在执行的命令,可以在shell脚本文件中添加-v/-x,例如:#!/bin/bashset -v或者#!/bin/bash -v原创 2019-03-05 17:50:50 · 15702 阅读 · 0 评论 -
~/bin/sh: xxx: not found
linux系统中执行某个程序,出现:~/bin/sh: xxx: not found如果可执行文件xxx确实存在,很可能是缺少相关的库文件。在宿主机上,可以用交叉工具链中的readelf查看,例如:mips-linux-gnu-readelf -a xxx在目标机上,可以用ldd查看依赖关系ldd xxx...原创 2018-07-11 14:54:38 · 7063 阅读 · 1 评论 -
buildroot制作的嵌入式Linux系统启动后不是root用户
现象:buildroot制作的嵌入式Linux系统启动后不是root用户。log中有:mount: you must be roothostname: sethostname: Opperation not permitted原因:查看busybox权限:-rwsr-xr-x 1 xiaoli xiaoli 875488 11:18 busybox权限中有个s解决办法:去掉s权限chmod a-...原创 2018-07-04 20:20:38 · 2030 阅读 · 1 评论 -
ld: crt1.o: No such file: No such file or directory
MIPS交叉编译环境,编译可执行文件的时候,出现错误:.../mips-linux-gnu/bin/ld: crt1.o: No such file: No such file or directory后来发现和网上类似问题不一样,原因是我编译选项没有加小端模式:-EL...原创 2018-07-04 20:21:33 · 4022 阅读 · 0 评论 -
mmap共享不及时更新问题
MIPS平台设备驱动中mmap实现如下:static int shm_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma){ struct tee_shm *shm = dmabuf->priv; size_t size = vma->vm_end - vma->vm_start; vma->vm_flags |...原创 2018-05-18 11:42:10 · 3581 阅读 · 1 评论 -
Linux在应用层读写寄存器的方法
在某些情况下,需要移植的代码是直接访问寄存器的,当移植到linux时,可利用mmap创建一个适配层,减少开发工作量。通过操作/dev/mem设备文件,以及mmap函数,将寄存器的地址映射到用户空间,直接在应用层对寄存器进行操作。mmap的使用示例:#define REG_AREA_LEN 1024static int halFileH = -1;unsigned lon原创 2017-12-12 17:41:59 · 2636 阅读 · 0 评论 -
module has no symbols (stripped?)
问题:Buildroot制作rootfs时,发现拷贝到target中的ko文件被,ko文件被strip后,导致Linux系统无法insmod,提示“module has no symbols (stripped?)”错误,加载时候没有符号表。原因:target中的so及ko文件是stripped,buildroot会对这些文件进行strip操作。解决办法1:执行make men...原创 2019-07-30 17:54:16 · 2402 阅读 · 0 评论