一.BootLoader引导内核过程     1.Bootloader的工作     1.1.将内核读入内存     2.2.保存内核启动参数到指定位置,内核启动时去这个位置解析参数     3.3.启动内核.传入机器ID 二.内核的启动流程         内核首要目的是挂载根文件系统,启动应用程序,内核启动的过程大致为以下几步: 1.检查CPU和机器类型 2.进行堆栈.MMU等其他程序运行关键的东西进行初始化 3.打印内核信息 4.执行各种模块的初始化 5.挂接根文件系统 6.启动第一个in…
基于 移植uboot后. 1. 移植linux内核 1.1 下载源码 打开 https://www.kernel.org/ 直接肝最新的 5.2.8 下载完后,在ubuntu里解压备用. 1.2 搭建交叉编译环境 . 交叉编译环境用的是arm-linux-gcc 4.6.4的版本,这个版本挺好找的,在网上下载压缩包后,根据个人习惯解压到 /opt/ 下, . 并且修改环境变量 sudo vim /etc/profile export PATH=/opt/gcc-/bin:$PATH . 保存,然…
内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/3669623.html 一.下载yaffs2源码 二.进入yaffs2目录,执行打补丁脚本文件patch-ker.sh,打补丁到内核中: cd yaffs2 ./patch-ker.sh c -/linux2.6.30.4 三.在内核配置中添加对yaffs的支持 执行make menuconfig进入配置单…
自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YAFFS2的最新源码地址吧,2011年6月28号的那个版本, 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 具体下载目录在 /pub/2011/06/28/YAFFS2/ 这个是目前最新的YAFFS2的源码了 参考文章:http…
Linux下查看当前内核系统支持的文件系统: 一般都在 /lib/modules/kernl-version/kernel/fs/ 目录下包含了当前内核版本支持的文件系统: ls /lib/modules/kernl-version/kernel/fs/ eg: v0id@v0id-eof ~ $ ls /lib/modules/3.11.0-12-generic/kernel/fs/ 9p    afs      bfs             cachefiles  coda      dl…
Q1: fs/yaffs2/yaffs_mtdif2.c:xxx: error: 'struct xxx1' has no member named 'fun_xxx' A1:比对fun_xxx和struct中fun_xxx名字是否相同 有一个版本是修改以下文档 诸如此类问题: vi fs/yaffs2/yaffs_vfs.c +2514 vi fs/yaffs2/yaffs_vfs.c +2702 vi fs/yaffs2/yaffs_vfs.c +2708 vi fs/yaffs2/yaff…
通过移植学习linux新版本内核,大概了解一下内核变化. 记录一下移植过程中遇到的问题或值得注意的地方. 1,添加一款arm9芯片的支持 首先修改\arch\arm\tools\mach-types文件 添加一行 w90p950evb MACH_W90P950EVB W90P950EVB 同目录下的脚本文件在编译内核时会根据该文件生成 \include\generated\mach-types.h 其中会生成类似这样的定义: define MACH_TYPE_W90P950EVB 1923 #i…
内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核. 本文将以kernel 4.7.2版本为实验,操作平台为RedHat 7.2,将通过以下三个方面来说明内核及模块的编译. 源码编译Linux内核 使用Linux内核模块…
前题: 在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的.今天一一更正,记录如下: 前文笔记链接:  ubuntu 12.04编译安装linux-3.6.10内核笔记 NO 1: 内核清洁工作. 一般的清洁可能会立刻想到make clean.但这个确实不完整,make clean只能清楚一部分东西.而有一个命令是做的非常彻底的,那就是make mrproper.对于这两个的差别,可以在进入ker…
配置并编译安装内核模块和内核后,解压附件 firmware.tar.bz2,拷贝其中的rtlwifi文件夹到/lib/firmware下,然后 执行装载内核模块命令: sudo modprobe rtl8192ce ( 若装载后显示device not ready,需要进入机子BIOS恢复默认设置,重启) 一些信息: [ghui@BuildHost Desktop]$ lspci 00:00.0 Host bridge: Intel Corporation 2nd Generation Core…