内核
stephen_kl
现在不学,更待何时……
展开
-
从何处开始阅读源代码
<br />1. 系统的启动和初始化<br /> 在基于Intel的系统上,当 loadlin.exe 或 LILO把内核装入到内存并把控制权传递给内核时,内核开始启动。关于这一部分,看arch/i386/kernel/head.S ,head.S进行特定结构的设置,然后跳转到init/main.c的main()例程。<br />2. 内存管理<br /> 内存管理的代码主要在/mm,但特定结构的代码在arch/*/mm。缺页中断处理的代码在mm/memory.c,而内存映射和页高速缓存器的转载 2010-09-06 15:57:00 · 753 阅读 · 0 评论 -
linux内核sysfs详解
"sysfs is a ram-based filesystem initially based on ramfs. It provides a meansto export kernel data structures, their attributes, and the linkages between them touserspace.” --- documentation/file转载 2016-06-16 20:34:46 · 1110 阅读 · 0 评论 -
为AM335x移植Linux内核主线代码(1)了解dtb
http://www.eefocus.com/marianna/blog/cate_18142_0.html?p=5这个链接里有关于AM335x内核移植的很多文章,为以后的TQ335X平台内核移植留个记录。转载 2016-05-27 15:42:41 · 175 阅读 · 0 评论 -
成功移植linux2.6.38内核到TQ2440(转)
经过一个星期的不停修改错误,看代码,每天都忙到2点才睡,今天终于解决了所有问题,成功移植linux2.6.38内核到TQ2440。移植步骤:1.修改根目录的Makefile中的ARCH=arm,CROSS-COMPILE=arm-linux-2.在arch/arm/mach-s3c2440/mach-smdk2440.c中,将163行的s3c24xx_init_clocks转载 2012-01-19 15:56:06 · 3081 阅读 · 1 评论 -
嵌入式arm开发环境的搭建(有关于arm-none-linux-gnueabi-gcc的链接)
Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境。 这个教程是去年刚开始做STM32的时候写的,当时还没开始用STM32,先琢磨了免费的开发环境搭建,因此写的这个教程可能有很多错误,最近在网上看到很多人在论坛里转载了这个教程,由于当初我在ourdev论坛上只转载 2011-12-21 16:09:55 · 2158 阅读 · 0 评论 -
kernel panic No init found的一种解决办法
这两天制作了一个yaffs2的根文件系统,但是用busybox1.18.3生成的文件系统镜像烧如板子后出现这种错误:kernel panic - not syncing: No init found. Try passing init= option to kernel.最后经过搜索,发现原来没有向文件系统中拷贝lib的链接库,通过对问题的搜索,找到了一篇分析文章,摘录如下,转载 2011-11-02 10:43:07 · 1916 阅读 · 0 评论 -
linux3.0内核移植问题记录
#include /* DM9000AEP 10/100 ethernet controller */#define MACH_SMDK2440_DM9K_BASE (S3C2410_CS3 + 0x300)NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)Scannin原创 2011-10-28 13:57:04 · 3920 阅读 · 3 评论 -
内核移植出错的一些总结
http://jixiang1119.blog.163.com/blog/static/282709732009424103447311/1 "mount_devfs_fs(): unable to mount devfs, err: -2"一个困扰了我很久的问题,主要是ecc的问题。在此我把我的理解说一下好了: 搞清楚你在driver/mtd/nand/s3c2410转载 2011-10-28 13:54:45 · 108 阅读 · 0 评论 -
移植Linux2.6.39到杨创utu2440
http://blog.csdn.net/panzhenjie/article/details/6443311移植是基于比较新的官方的2.6.39的内核,下载下来linux-2.6.39.tar.bz2,然后解压。view plaintar jxvf linux-2.6.39.tar.bz2 进入内核目录,把最接转载 2011-10-25 14:19:35 · 2375 阅读 · 0 评论 -
移植linux2.6.38产生的问题及其解决方法
在移植linux2.6.38过程中,遇见了很多的问题,通过在网上查阅相关信息和在图书馆不停的查阅资料,终于成功了。下面将移植过程中产生的问题及其解放方法与大家共享一下。1、编译内核时yaffs2出现unknown field 'clear_inode' specified转载 2011-10-19 15:54:31 · 155 阅读 · 0 评论 -
Error: unrecognized/unsupported machine ID
Error: unrecognized/unsupported machine ID (r1 = 0x33f60264).解决方法一======================================================== Linux内核启动时出现:bad machine ID,原因大致是u-boot传递给内核的machine ID错误,可以手动在内核源转载 2011-10-21 10:48:21 · 1083 阅读 · 1 评论 -
成功移植linux2.6.38内核到TQ2440(转)
经过一个星期的不停修改错误,看代码,每天都忙到2点才睡,今天终于解决了所有问题,成功移植linux2.6.38内核到TQ2440。移植步骤:1.修改根目录的Makefile中的ARCH=arm,CROSS-COMPILE=arm-linux-2.在arch转载 2011-10-19 13:48:24 · 1088 阅读 · 0 评论 -
Linux Kernel 3.0 版本正式发布!
原文链接 :http://tech.163.com/digi/11/0723/12/79L8844500162OUT.htm l 网易摘抄的 终于!Linus Torvalds今天早些时候发布了备受瞩目的Linux Kernel 3.0新转载 2011-10-19 11:23:59 · 969 阅读 · 0 评论 -
linux2.6内核启动流程
计算机在启动时都是先加电,然后进行硬件检测并引导操作系统的初始化程序,然后操作系统的初始化程序程负责读入系统内核并建产系统的运行环境.一这过程相对来说比较复而且与CPU体系结构相关,这里我们通过linux并以i386的体系结构对这一过程进行较为详细的说明. 一、硬件检测 当 机器加电后它首先执行BIOS(基本输入输出系统)中的代码,BIOS首先执行加电自检程序(POST),当自检通过程便完成了硬件的启动。POST程序 通过对内存及其他硬件的设备的诊断检测确定硬件的存在并可正确操作。B转载 2010-09-06 16:03:00 · 768 阅读 · 0 评论 -
Linux Kernel代码分段分析尝试
1. gcc的__attribute__编绎属性要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或定义的函数或数据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure表明函数除返回值外,不会通过其它(如全局变量、指针)对函数外部产生任何影响。但这里我们比较感兴趣的是对代码段起作用子项section。__attribute转载 2010-09-09 13:44:00 · 781 阅读 · 0 评论 -
NanoPi M2编译Debian步骤详解
为Nanopi编译debian系统的方法在官方的手册上已经有详细的介绍,但从linux新手的角度,不仅应该会编译,还可以尝试下理解其每一步的含义。环境与准备:1、Ubuntu kylin 16.0(64位!!!)2、Git3、https://github.com/friendlyarm中的各个文件零、安装git如果小伙伴完全是新手,刚刚安装好乌班图,为了日后方便转载 2016-11-26 13:53:44 · 918 阅读 · 0 评论