Linux
文章平均质量分 91
Stephen_Lu_Fahai
对linux底层移植以及物联网感兴趣
展开
-
<Linux>Linux指令(不定时更新)
以下是我在操作过程中用到的一些指令及其用法。1、ls指令,用于列出当前目录的文件通过添加-l参数可以使文件以详情模式列出通过添加-a参数可以将包含隐藏文件在内的全部文件列出。用法:ls [-l] 2、lsblk指令:除了RAM之外,以标准树状格式输出文件(常用于了解新插入的USB设备名字)可以通过添加-l参数使得文件以列表格式显示块设备用法:同上原创 2017-03-31 16:53:37 · 551 阅读 · 0 评论 -
Linux内核启动应用程序分析(三)
在内核启动应用程序第二篇中,我们知道,无论内核直接处理默认的配置信息还是先解析配置文件再处理配置信息,都是调用new_init_action这个函数进行处理的。那我们就看一下这个函数具体要做的事情。一、解析配置文件首先定义的是几个结构体的变量,我们可以看一下这个结构体的定义:里面的成员和我们的形参一样,只是多了一个pid的成员,所谓的pid指的是进程号。接着回到new_原创 2017-04-23 18:38:15 · 758 阅读 · 0 评论 -
理解Makefile
本次笔记是看了陈皓的《跟我一起写Makefile》而作的记录,原版链接地址如下http://pan.baidu.com/s/1skBumRF第一部分一、Makefile介绍make命令编译和链接文件的的规则是:1、如果这个工程没有编译过,那么我们所有的C文件都要编译并被链接。2、如果这个工程的某几个C文件被修改,那么我们只需编译被修改的C文件,并链接目标文件。原创 2017-04-08 22:01:11 · 651 阅读 · 0 评论 -
<Linux>AM3358内核移植与根文件系统的制作
唉....当了太久的咸鱼了...遇到各种坑,翻了好多资料....杂七杂八的乱成一团。。现在抽空整理一下,以便日后可以参考。这段时间,零零碎碎地做了不少东西,先是移植了2440的uboot,内核以及根文件系统的制作,这部分有一些参考的视频,2440板子玩的人也比较多,所以参考资料相对较多。。对这一部分就不整理了。之后主要是对一块am3358的板子进行移植,这块板子的uboot我就不碰了,主要是对原创 2017-07-05 21:27:13 · 4590 阅读 · 0 评论 -
在ubuntu根文件系统上安装lxde桌面
在开发板上移植并且配置好ubuntu根文件系统后,就可以通过串口或者ssh登录系统,在终端执行操作指令。可是根据我们的需求,需要图形界面的操作,所以需要安装一个桌面。网上也有一些推荐的桌面,比如说gnome、kde、xfce等,不过我们的需求也不是很复杂,就安装一个轻量级的lxde桌面。说真的,第一次做这方面的,走了很多弯路,看了很多文档、博客。慢慢地也就知道了是这么回事,现在lxde的桌面能在板原创 2017-08-16 16:15:29 · 6607 阅读 · 2 评论 -
在ubuntu14.04上安装ROS(robot operating system)
我们给板子移植一个ubuntu根文件系统,并且安装一个lxde的桌面,目的就是为了在ubuntu文件系统上安装ros实现对机器人的控制。废话不多说,直奔主题。参考文档:http://www.cnblogs.com/liu-fa/p/5779206.htmlhttp://blog.csdn.net/huapiaoxiang21/article/details/73558795原创 2017-08-16 17:12:20 · 763 阅读 · 0 评论 -
制作ubuntu根文件系统
参考文档:http://blog.csdn.net/mountzf/article/details/51707853http://developer.t-firefly.com/thread-10963-1-1.htmlhttp://rockchip.wikidot.com/porting-os折腾了几天,看了不少参考资料,终于把ubuntu根文件系统制作出来了,基本是原创 2017-08-03 15:15:40 · 6818 阅读 · 2 评论 -
ubuntu下用脚本执行sudo命令免去输入密码
运行脚本进行一些操作确实省了不少事,不过我遇到一个问题,运行脚本安装一些指令的时候,提示要输入sudo密码 而且大多软件在安装包下载完毕后还需要你输入y进行确认安装。其实不用那么麻烦,在install指令中可以实现这些操作。直接上指令:echo 'yourpassword' |sudo -S apt-get -y install software1 software2 ...把y原创 2017-08-30 15:12:27 · 2997 阅读 · 0 评论 -
开发板更新内核
方法一、uboot界面更新1、sf probe2、tftp uImage (需要windows主机运行tftpd32,并且开发板能ping通主机)3、sf update 80200000 100000 $filesize方法二、根文件系统下更新。1、进入/dev 目录2、flash_erase mtd3 0 0 (要确保根文件系统有flash_era原创 2017-09-19 20:30:49 · 1707 阅读 · 0 评论 -
Linux内核启动应用程序分析(二)
在前面的分析中我们了解到,内核挂接到根文件系统之后,进入init_post这个函数,开始启动应用程序。在前一篇博文中,我们具体分析了init_post最终会调用run_init_process(“\sbin\init”)这个函数进入下一阶段的启动流程。请参考:http://blog.csdn.net/stephen_lu_fahai/article/details/70452434在此之前,我原创 2017-04-22 21:03:18 · 919 阅读 · 0 评论 -
Linux内核启动应用程序分析(一)
前面我们分析了Linux内核的启动流程,请参考:http://blog.csdn.net/stephen_lu_fahai/article/details/70162011http://blog.csdn.net/stephen_lu_fahai/article/details/70305405通过分析Linux内核的启动流程,我们知道Linux内核首先挂接到根文件系统下,接着用ini原创 2017-04-22 16:44:09 · 2589 阅读 · 0 评论 -
Linux内核Makefile分析
博文转自:http://blog.csdn.net/lizuobin2/article/details/51464152本文简单介绍了 Linux 内核 Makefile 的大框架,对于KBuild 系统的详细的编译过程没有作过多的分析,写的很粗犷~还请见谅。更详细的内容请参考: 嵌入式Linux应用开发完全手册 makefile.t转载 2017-04-22 15:40:38 · 549 阅读 · 0 评论 -
u-boot第二阶段启动流程分析
第一阶段的初始化结束后进入start_armboot函数,也就是进入第二阶段的初始化。下面来分析第二阶段的主要流程。在此之前,我们先来明确u-boot的目标,u-boot要做的事情是1、把内核中flash中读出 2、启动内核248行,gd_t是一个结构体指针,保存一些全局变量,这条语句是给它分配一个内存空间258行,init_sequence是一个函数指针,具体如下:也原创 2017-04-11 11:26:14 · 585 阅读 · 0 评论 -
<Linux>u-boot 命令分析并编写一个命令
一、run_command函数前面我们说到,u-boot的核心就是run_command这个函数,那么我们就来分析一下这个函数具体要做那些事情。1321行,对命令进行解析。举个例子:比如说,md.w 0这个命令,它就能解析成为:Argv[0]=”md” Argv[1]=”0那么这个代表什么意思呢?接着往下看:1327行,这个函数提取1321行解析后的参数,那就先跟踪原创 2017-04-18 23:42:25 · 897 阅读 · 0 评论 -
<Linux>u-boot启动Linux内核分析
通过分析u-boot的启动流程,我们可以知道,u-boot启动内核的命令是bootcmd=nand_read.jffs 0x30007FC0 kernel:bootm 0x30007FC0;也就是先吧内核读到内存上,再去启动内核。在此之前我们先来明确一个定义,nandflash上的内核成为:uImage,其格式为:一个64k的头部+真正的内核其中头部的定义如下:我们重点关原创 2017-04-12 19:53:54 · 646 阅读 · 0 评论 -
Linux 链接脚本分析
转自:http://blog.csdn.net/lizuobin2/在前面学习的过程中,看代码时遇到 arch_initcall(xxx) 等函数总是处于愣神的状态,对于最基础的 module_init(xxx) 也只是拿来用用,不知道幕后的东西,了解 MACHINE_START 创建了一个 machine_desc ,却不知道 machine_desc->map_io 等函数时何时调转载 2017-04-16 21:45:09 · 627 阅读 · 0 评论 -
u-boot第一阶段启动流程分析
此博文是在网上看了一篇文档后做的整理,若是了解ARM汇编指令的基本知识,理解本文会更加方便。对于uboot中的start.S主要做的事情就是系统各个方面的初始化,大致可以分为以下6个部分:1、设置CPU模式2、关闭看门狗3、关闭中断4、设置堆栈SP指针5、清除bss段6、异常中断处理下面按照start.S源码逐个分析以上部分1、设置CPU模式原创 2017-04-09 22:48:41 · 857 阅读 · 0 评论 -
<Linux>Linux内核启动分析(一)——head.S
之前我们说到u-boot的最终目的是将内核从flash中读出,并且启动内核。那么内核一旦开始启动之后,就没有u-boot什么事情了,控制权就交给了内核,那么先来明确一下内核要做的事情:运行用户程序,而要想运行用户程序,就得先挂接到文件系统上。下面分析内核的启动流程:这是在内核文件下arch\arm\kernel目录下的head.S文件,也是内核启动的第一个文件。79行,通过设置CP原创 2017-04-13 21:09:19 · 3772 阅读 · 0 评论 -
<Linux>Linux内核启动分析(二)——start_kernel
在前一篇对head.S的分析中,我们知道内核启动的第一阶段的是处理u-boot传进来的机器id,由此来判断内核是否支持这个CPU以及该单板。而head.S最后跳到start_kernel这函数中作进一步的处理。分析如下:一、start_kernel在start_kernel这个函数中首先进行一系列的初始化,咱们就先不去具体分析每一个初始化函数,主要看最后两行的的setup_arch原创 2017-04-20 21:46:57 · 1310 阅读 · 0 评论