![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux实践
文章平均质量分 68
Hawen-嵌入式
格物致知,知行合一
展开
-
X210基础字符驱动创建设备关联和虚拟内地址映射
首先明确的是对于驱动的作用类似于为应用程序提供接口用来关联设备和操作设备进行打开,读写等操作,在上篇的总结中了解到了驱动的开发框架,在此基础上进行系统设备和驱动程序的关联,首先是需要创建设备文件,这个设备文件放在根目录下的/dev/下,可以查看/dev/目录下的设备可知道当前系统运行的设备有哪些,可以看到有不少设备文件这里截取部分。需要注意的是我们创建的设备文件的主次设备号不能被其他的设备文件已经使用,这里创建一个设备文件,主设备号选250 次设备号选0。这里是通过什么把我们的设备文件和驱动关联的呢?原创 2022-10-06 15:41:56 · 358 阅读 · 0 评论 -
X210驱动框架学习和实践
为对应在Ubuntu下的源码树目录,而对于我们开发板所烧录的linux系统则需要提供内核源码树,原因是我们后面编写的驱动是在对应的系统下去安装的,为了保证可以进行同时避免不同版本的兼容性问题最好选择我们所烧录的内核版本作为其驱动的内核源码树。然后通过Makefile帮助编译,在通过cp命令将.ko文件拷贝到我们挂载的根文件系统上,接下来就是开发板开机挂载上根目录然后进入到驱动文件目录下去安转驱动文件。驱动编译所需的linux内核的源码树目录,对于在Ubuntu下的内核源码树可以通过shell命令去分配,原创 2022-10-04 15:18:59 · 548 阅读 · 0 评论 -
制作rootfs镜像,通过fastboot烧录到x210开发板中验证
在前面已经完成了uboot的编译,kernel的移植适配,和通过busybox制作根文件系统,并且通过nfs方式成功挂载,现在后面要做的就是把rootfs制作成镜像文件然后烧录验证。开发板,连接串口线用于信息的输出,连接USB OTG用于文件的下载(驱动没安装需要安装,设备管理器下确定设备运行正常),电源线,(网线可以不用)(5)修改uboot下的参数,这些参数是传给内核的,rootfs挂载方式,控制台输出,波特率设置等。(4)修改uboot下的参数,烧写完成复位,进入到uboot下修改启动参数。原创 2022-09-20 00:32:33 · 814 阅读 · 0 评论 -
uboot启动参数详解和一些细节
dev/nfs nfsroot=192.168.1.105:/home/hawen/zyp_linux/nfs/rootfs ip=192.168.1.20:192.168.1.105:192.168.1.1:255.255.255.0::eth0:off 这里的参数表示根文件系统通过nfs的方式进行挂载,这里的/home/hawen/zyp_linux/nfs/rootfs 是我们主机下通过busybox挂载根文件系统的挂载点。init=/linuxrc 表示内核启动后执行的第一个程序。原创 2022-09-18 21:11:44 · 2307 阅读 · 0 评论 -
成功启动系统和通过nfs挂载根文件系统后进行相关的系统配置和优化
这里的是含有密码的,而且这个密码进行的加密,这里的这个文件下只看到了这个XEkxNPCSDuKwQ是其加密后的密文,对于我们刚移植可以不需要这个,先将其删除后发现登陆只需要输入用户名而不需要密码,回车即可进入控制台,可以通过passwd root的方式进行设置密码。多提一嘴:有可能会发现系统启动后控制台输出没有init.d/rcS这个文件,可能是在在windows下编辑的这个文件,需要在串口输出的控制台下打开这个文件删除每一行后面的^M字符,太多坑了。接下来就是对系统进行相关的配置。下一个文件fstab。原创 2022-09-17 01:02:44 · 663 阅读 · 0 评论 -
解决Failed to execute /linuxrc. Attempting defaults...这个大坑,这里是我遇到的其中一个原因
网上看到有很多方法都解决不了,也不像是这样问题的,奈何功力太浅只能不断排错,又发现我在gcc下cp过来的lib库也复制错误,但是也没能解决,试了很多最后看到配置的挂载参数少了一个目录,于是试着修改在启动给解决了,原来配置的是。这个报错太坑了,网上找了有不少于十几种,有的也没解决还在说别人的方法有错,归根结底还是这个报错包含的错误太多,不能像编程语法错误提示一样寻根见底,我这里的错误打印是这样的。只能说这里太多坑,一个在配置环境上,一个在参数配置上。多说一句要知行合一,多实践,真的在其中能学到不少东西。原创 2022-09-16 13:48:46 · 464 阅读 · 0 评论 -
实践 uboot kernel编译下载
对于kernel的编译其实差不多,在kernel文件下的主Makefile文件搜索也能找到相关信息,通过make menuconfig可以通过图形化的方式来对内核的模块进行添加裁剪,编译成模块等配置,在通过make zImage -j16的方式来进行内核的编译,(题外话:不得不说5800x16线程让编译不到1分钟完成了编译,太舒服了),编译完成后在kernel文件下的arch/arm/boot/目录下即可找到编译生成的zImage内核镜像文件。后面内核还是挂了,但是已经执行到这一步了,算是阶段性胜利吧。原创 2022-09-15 01:12:20 · 438 阅读 · 0 评论