随笔分类 -  linux

摘要:每修改一次文件系统,就要烧写一次。那么有没有一种方法,不用烧写呢?用网络文件系统NFS,文件系统是放在服务器上的,内核启动后,识别出服务器上的这个目录,把它当作根文件系统,自然就不需要烧写了。打开开发板,ifconfig 查看一下ifconfig eth0 upifconfig eth0 192.1 阅读全文
posted @ 2017-07-12 06:22 一代枭雄 阅读(403) 评论(0) 推荐(0)
摘要:在构建根文件系统之busybox中,我们已经实现了配置,编译,安装busybox。即那个init程序的来源。 首先在pc看一下,/dev/console 和/dev/null的具体信息: 执行ls /dev/console /dev/null crw 1 root root 5, 1 6月 27 0 阅读全文
posted @ 2017-06-28 12:32 一代枭雄 阅读(1034) 评论(0) 推荐(0)
摘要:配置busybox 首先将busybox的压缩包放入服务器进行解压缩; busybox集合了几百个命令,在一般的系统中并不需要全部使用。可以通过配置busybox来选择这些命令、定制某些命令的功能(选项)、指定busybox的连接方法(动态连接还是静态连接) 在解压之后的INSTALL文件里,有这样 阅读全文
posted @ 2017-06-27 11:48 一代枭雄 阅读(1063) 评论(0) 推荐(0)
摘要:busybox是ls、cp等命令的集合。 执行ls时,实际上是执行了busybox ls 执行cp时,实际上是执行了busybox cp 分析init程序之前,再让我们回想一下我们的目标:u-boot启动内核,内核启动应用程序,内核是怎样启动应用程序呢,内核启动了init进程,位于/sbin/ini 阅读全文
posted @ 2017-06-26 22:49 一代枭雄 阅读(844) 评论(0) 推荐(0)
摘要:u-boot的目的:启动内核 内核的目的:启动应用程序,而应用程序位于根文件系统上面。因此,需要构建根文件系统。 只需完成以上几步,就可以在单板上搭建出一个linux系统来。 问题:有那么多应用程序,内核启动后首相打开哪一个? 内核启动的时候,挂接好根文件系统之后,执行应用程序在init_post函 阅读全文
posted @ 2017-06-26 20:06 一代枭雄 阅读(1496) 评论(0) 推荐(0)
摘要:目的:在同一时刻,只有一个应用程序打开/dev/buttons 驱动程序: #include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/de 阅读全文
posted @ 2017-06-25 22:42 一代枭雄 阅读(827) 评论(1) 推荐(0)
摘要:读取按键的方法: (1)查询的方式:极度耗费资源 (2)中断的方式:如果没有按键按下,read函数会一直的等待 (3)poll机制的引入:可以指定超时时间 上述三种方式有一个共同点:应用程序主动的去查询。 问题:有没有一种方式当有按键按下时,驱动程序通知应用程序去读取。这就是本节所说的异步通知,该方 阅读全文
posted @ 2017-06-25 19:13 一代枭雄 阅读(459) 评论(0) 推荐(0)
摘要:明确为什么要引用poll机制? while(1) { read(fd,&key_val,1);//如果没有按键按下,它会一直在等待。现在想做这么一件事情:如果5s后,没有按键按下,它就会返回。此时就要用到poll机制 } 当应用程序调用poll时,会相应的调用内核空间的sys_pollsys_pol 阅读全文
posted @ 2017-06-25 15:59 一代枭雄 阅读(634) 评论(0) 推荐(0)
摘要:1、将arm-linux-gcc-4.4.3压缩包,拷到home/armtoolchain下,进行压缩。 2、压缩命令:tar -xzvf arm-linux-gcc-4.4.3.tgz,解压后得到了usr文件。进入~/armtoolchain/usr/local/arm/4.3.2/bin下,会看 阅读全文
posted @ 2017-06-09 17:49 一代枭雄 阅读(323) 评论(0) 推荐(0)