喜羊羊系列之【初级驱动笔记一】

博客:http://blog.youkuaiyun.com/muyang_ren

一、制作内核错误

(1)make uImage

"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2
解决方法:

如果要生成uImage,需要mkimage这个工具,此工具是在编译uboot的时候生成的,是用来生成uImage的工具。在编译uboot生成mkimage工具后,需要将此工具拷贝到ubuntu的/usr/bin目录下,并需要修改此文件的权限为可执行的。

(2)tar -xvf filesystem.tar.gz

tar: filesystem/dev/console:无法 mknod: 不允许的操作
filesystem/proc/
tar: 由于前次错误,将以上次的错误状态退出
解决方法:

使用root用户就可以实现解压缩

(3)rmmod hello

rmmod: chdir(/lib/modules): No such file or directory
解决方法:
mkdir   /lib/modules
----------------------------------------------------------------------------------------

rmmod: chdir(3.0.8): No such file or directory
解决方法:

mkdir /lib/modules/3.0.8

(4)modinfo hello.ko

modinfo: can't open '/lib/modules/3.0.8/modules.dep': No such file or directory
解决方法:

mkdir /lib/modules/3.0.8/modules.dep

(5)简单makefile分析

//分析Makefile
ifeq ($(KERNELRELEASE),)		//KERNELRELEASE宏定义
	KERNELDIR =/home/farsight/work/kernel/linux-3.0.8		//内核源码所在路径
	PWD =$(shell pwd)		//内核模块hello.c所在路径
modules:	//进入内核源码所在路径(KERNELDIR), 获取其中的Makefile(MAKE), 并利用Makefile将*.c -> *.o文件,同时将KERNELRELEASE赋值
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules   //(1)
	cp hello.ko /opt/filesystem/s5pv210        //(3)
modules_install:                               //这句没有执行
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
	rm -rf *.so *.o *.ko  .tmp_versions *.mod.c *.order *.symvers 
else
	obj-m :=hello.o		//hello.o -> hello.ko  //(2)
endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值