http://blog.csdn.net/yinjiabin/article/details/7489563 根文件系统一般包括: 1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp; 2)基本程序运行所需的库函数,如:libc/uC-libc; 3)基本的系统配置文件,如:rc,inittab等脚本文件; 4)必要的设备支持文件,如:/dev/hd*,/dev/tty,/dev/fdO; 5)基本的应用程序,如:sh,ls,…
http://blog.csdn.net/yinjiabin/article/details/7489030 建立 nfs 服务器 在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的调试.使用 nfs,用户可以 将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个 目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系 统便能被重新使用,这点能够大大加快程序的调试.  Ubuntu 下安装 nfs 服务器的步骤如下:  st…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 网卡芯片:DM9621NP 交叉编译工具链: arm-none-linux-gnueabi…
转自:https://blog.csdn.net/shichaog/article/details/40218763 Linux系统启动那些事—基于Linux 3.10内核 csdn 我的空间的下载地址 ,有些做的效果网页上没了,感兴趣建议去上面地址下载pdf版的 下载地址 http://download.csdn.net/detail/shichaog/8054005   shichaog@126.com启动流程概述也许你会好奇Linux是如何启动的?本文围绕Linux如何启动起来展开一些介绍…
目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http://infohacker.blog.51cto.com/6751239/1203635 Device Drivers设备驱动程序 Generic Driver Options 驱动程序通用选项 Select only drivers that don't need compile-time ext…
转载:http://www.cnblogs.com/leaven/archive/2010/08/06/1794293.html 更多文档参见:http://pan.baidu.com/s/1dDvJRaD 作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM ATC授权培训讲师. 看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解.先从函数注册引出问题吧. 一.中断注册方法 在linux内核中用于申请中断的函数是req…
Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件.您可以自由链接.下载.传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明. 其他作品 本文作者十分愿意与他人共享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有作品…
基于linux-2.6.35的class_create(),device_create解析 作者:苗老师,华清远见嵌入式学院讲师. 从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代.提醒一点,udev是应用层的,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用device_create创建对应的设备.大致用法如下: st…
  1.   SoC Linux底层驱动的组成和现状 为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍.中断控制器.SMP启动.CPU hotplug以及底层的GPIO.clock.pinctrl和DMA硬件的封装等.定时器节拍.中断控制器.SMP启动和CPU hotplug这几部分相对来说没有像早期GPIO.clock.pinctrl和DMA的实现那么杂乱,基本上有个固定的套路. 定时器节拍为Linux基于时间片的调度机制以及内核和用户空间的定时器提供支撑…
Suse环境下编译linux-2.6.24内核 1.下载linux-2.6.24内核源码: https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.gz 2.解压linux-2.6.24.tar.gz文件,会生成linux-2.6.24目录 tar –xzf linux-2.6.24.tar.gz 3.编译环境构建 一般linux系统都自带gcc和make等编译工具,这里我的编译环境为SUSE Linux.gc…
一.移植环境:        1.主机:Ubuntu 10.10发行版        2.目标机:FS_S5PC100平台        3.交叉编译工具:arm-cortex_a8-linux-gnueabi        4.wifi模块:marvell-8686        5.内核:linux-2.6.35 ---------------------------------------------------------------------二.在linux下的移植1. 平台代码修改…
http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可以按照如下步骤获得整个项目代码. $ git clone https://github.com/hurley25/hurlex-doc.git…
转自:https://blog.csdn.net/zr_lang/article/details/39963253 一直想写有些关于文件系统的博文,但是由于近一年来实在太忙,所以没有时间写.前几日赶上放国庆节假期,回来后又正好处在RHEL-6.6刚发布,RHEL-7.1还没有开始繁重工作的阶段,所以抽出一些时间准备写一些东西.不知道是否能坚持长久,可能在忙起来后会拖后进度吧.反正也不着急,慢慢写. 既然要分析就要选择一个确定的linux版本进行说明,目前最新的linux稳定版是3.16.3,就选…
EASYARM-IMX283(以下简称IMX283)默认采用从nand flash启动,但是在开发过程中因为要频繁的替换内核,我们更倾向于从nfs启动. 先看看IMX283中uboot中默认采用的启动选项,内容如下: bootcmd=run nand_boot bootdelay= baudrate= ipaddr=192.168.12.62 serverip=192.168.12.61 netmask=255.255.255.0 bootfile="uImage" loadaddr=…
原文地址:OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]作者:千山我独行 由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩.以前一直都是sd卡去进行实验的.想着,如果和公司实验室里的开发平台一样的话,那多好啊,既方便,又快捷.磨刀不误砍柴工嘛,好的开发环境可以提高很多效率的.好了,下面开始讲讲怎么去实现的吧.下文很多是参考网上的资料的,很多是雷同,我只是记录自己的过程. 首先是tftp下载内核吧.网上也都说了,ok6410的uboo…
一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 二.问题背景 开发板启动过程分三个阶段,即先启动U-Boot,再加载内核和设备树,然后挂载文件系统,这三个过程可以分别以不同方式启动.除了从SD系统启动卡启动开发板,我们可以将U-Boot镜像文件.内核镜像文件.设备树镜像文件以及文件系统固化到开发板的eMMC或者NAND FLASH中,然后从eMMC或者N…
一 系统最核心组件目录: 1 arch目录该目录中的每个子目录中都与某种体系结构相对应,用于存放体系结构相关代码,向平台无关的系统核心模块提供所需的功能接口.每个体系结构对应的子目录下通常至少包含以下几个子目录:boot子目录.kernel子目录.lib子目录.mm子目录. 2 include目录这个目录包含了Linux源代码目录树中绝大部分头文件,每个体系架构都在该目录下对应一个子目录,该子目录中包含了给定体系结构所必需的宏定义和内联函数. 3 init目录该目录中存放的是系统核心初始化代码,…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers…
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态. 多任务系统分为两种: 抢占式多任务:Linux提供了抢占式的多任务模式,由调度程序来决定什么时候停止一个进程的运行. 现代操作系统提供:动态时间片计算的方式:可配置的计算策略 非抢占式多任务:除非进程自己主动停止运行,否则会一直…
嵌入式开发,如果使用nfs挂载来启动内核和文件系统,这样便于调试文件系统和驱动,则首先要保证ubuntu开启nfs服务, 执行以下命令安装nfs服务,安装后自动运行 sudo apt-get install nfs-kernel-server 配置其配置文件 sudo vi /etc/exports 在里面增加想要挂载的文件路径 # 11 /work/nfs_root *(rw,sync,no_root_squash) 12 /work/nfs_root/first_fs *(rw,sync,n…
ARM linux解析之压缩内核zImage的启动过程 semilog@163.com 首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,decompress.c加在压缩内核的最前面最终生成zImage的,那么它的启动过程就是从这个head.s开始的,并且如果代码从RAM运行的话,是与位置无关的,可以加载到内存的任何地方. 下面以arch/arm/boot/compressed/head.s为主线进行启动过程解…
1.制作根文件系统及nfs烧写 1.1 先解压文件系统,/wok/nfs_root 目录下是已经构造好的各种文件系统:① fs_mini.tar.bz2 是最小的根文件系统,里面的设备节点是事先建立好的:② fs_mini_mdev.tar.bz2 是最小的根文件系统,里面的设备节点是等系统启动后使用mdev 自动建立的:③ fs_qtopia.tar.bz2 是 JZ2440 使用的支持触摸屏的根文件系统:④ fs_xwindow.tar.bz2 是书上的基于 X 的根文件系统. 步骤: cd…
在u-boot之start_armboot函数分析已经分析过了整个程序框架,但只是说了下什么时候运行内核,并没有具体说明是怎么执行内核的.内核启动分以下几个步骤说明: 1.启动参数bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0说明 2.run_command函数是怎么执行命令的 3.u-boot给内核传递的参数说明 4.内核启动流程 1.启动参数bootcmd=nand read.jffs2 0x30007FC0 kerne…
  1.Ubuntu14.04上搭建NFS服务 1.1.安装NFS服务 $ sudo apt-get install nfs-kernel-server    //安装NFS服务 1.2 创建Tiny4412开发板根文件系统 这部分内容参考<Busybox构建根文件系统和制作Ramdisk>部分. 假设Tiny4412开发板根文件系统路径为/home/felix/nfs 1.3. 配置NFS服务器 配置NFS主要涉及配置文件/etc/exports,它用于NFS服务器端,其中列出了NFS服务器…
mini2440 内核启动后,可以用busybox制作一个简单的根文件系统并用nfs来启动该文件系统 启动mini2440, 按任意键进入uboot,按q键进入uboot命令行: 执行以下命令: set bootargs "noinitrd root=/dev/nfs rw nfsroot=192.168.211.2:/home/host/nfs/mini2440/rootfs ip=192.168.211.211 console=ttySAC0 init=/linuxrc" save…
http://blog.csdn.net/liudijiang/article/details/50555429(转) 首先得要有制作好的uboot和linux内核镜像zImage,先烧录到sd卡里,这个是已经做好了的工作. 一,ubuntu上先设置好nfs服务 1.新建一个要挂载的文件 liudijiang@ubuntu:~/share$ pwd /home/liudijiang/share 我已经建好了,这是我的路径 2.安装nfs服务 liudijiang@ubuntu:~/share$…
NFS启动文件系统 一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 二.问题背景 开发板启动过程分三个阶段,即先启动U-Boot,再加载内核和设备树,然后挂载文件系统,这三个过程可以分别以不同方式启动.除了从SD系统启动卡启动开发板,我们可以将U-Boot镜像文件.内核镜像文件.设备树镜像文件以及文件系统固化到开发板的eMMC或者NAND FLASH中,…
转自linux如何使用NFS挂载文件系统 设备:一台服务器和一台客户端,这里我们把装在PC机上的RedHat作为服务器,而客户端则是嵌入式linux开发板. 环境:开发板已启动,连接好串口和网线,串口用于下发命令控制开发板,网线则用于NFS 1.确认Redhat上装好了NFS软件包 在终端输入 [root@localhost examples]# rpm -q nfs-utils nfs-utils-1.0.9-24.el5 如果出现以上结果,表示已经安装好了NFS,否则,请先安装nfs-uti…
1.1 启动时出现的错误 [root@znix ~]#/etc/init.d/nfs start Shutting down NFS daemon:                                 [  OK  ] Shutting down NFS mountd:                                  [  OK  ] Shutting down NFS services:                                 [  OK …
start_kernel其实也是内核的一个进程,它占用了进程号0,start_kernel的内容简写如下: asmlinkage void __init start_kernel(void) //内核线程,0号进程idle进程 { ...... tick_init(); boot_cpu_init(); page_address_init(); //内存管理相关 kernel2.6.35.11/mm/highmem.c ...... setup_arch(&command_line); //内核…