
内核技术
一个大李子
二流程序员,懂的不多,不懂的很多。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
U-Boot启动的函数调用过程(以arm926ejs为例)
调用链如下,后面是文字解说: reset -> cpu_init_crit -> lowlevel_init (板子相关) -> relocate (将U-boot重定位到RAM) -> stack_setup -> clear_bss -> start_armboot() (C程序) -> mai原创 2009-11-04 14:14:00 · 3029 阅读 · 2 评论 -
没有代码空谈流程(U-boot如何启动内核)
我们用的u-boot已经改的面目全非,不过核心还是完全相同的,换了个面目而已。开源的好处,想改就改来玩玩。不过流程还是人家的。 u-boot通过bootm命令来启动内核,这个命令的处理函数是do_bootm,这个函数处理的是uboot-mkimage制作的映像,如果正好这个映像是内核,那么它就会调用do_bootm_linux函数,并在该函数中给内核传递参数并调用内核入口函数来启动内核。下原创 2009-11-10 16:40:00 · 1410 阅读 · 0 评论 -
内核代码行数
工具: count lines of code at "http://cloc.sourceforge.net" Linux-2.6.31-rc7------------------------------------------------------Language files blank comment code-原创 2009-11-13 17:45:00 · 637 阅读 · 0 评论 -
编译内核
最土的编译内核过程,搞成这样纯粹是为了保证成功,i386平台,2.6.18 下载当前的内核源码压缩包,解压缩到一个目录,拷贝/boot/.config到源码根目录,然后make menuconfig即可。然后退出。运行make bzImage或者make,然后make modules_install。拷贝arch/i386/boot/bzImage到/boot/,重命名为vmlinuz-2.6.原创 2009-11-21 20:12:00 · 834 阅读 · 0 评论 -
hello world 模块
首先保证当前内核的头文件存在,然后写hello.c以如下内容: /*****************************************************************************/ #include #include #include static int hello_init(void) { pr原创 2009-11-21 20:21:00 · 589 阅读 · 0 评论