7、嵌入式linux内核制作

前面我们已经制作了uboot,接下来是制作kernel。

首先进入内核源码,执行make distclean.清除先前编译产生的文件。

注意配置内核的时候多了一个ARCH=arm的条件。

回车之后会进入arm的配置菜单:

就像我们前面配置linux内核一样,我们也会去找一个配置好的配置文件:

把config-file拷贝到我们的内核代码目录下:

然后把config-file拷贝成.config.

重新进入配置界面,发现配置生效了。

接下来就是内核的编译:

在编译的过程中会出现这样的一个错误:

这是因为,我们的可执行文件,都有一个文件头,是mkimage帮我们加上去的。现在系统找不到它。他是在uboot的tools文件下:

我们把该工具在编译好的uboot的tools里面拷贝到/bin目录。Cp mkimage /bin重新编译:

Make uImage ARCH=arm CROSS_COMPILE=arm-linux-

如上所示,编译完成,生了uImage。接下来,把他烧写到开发板启动。

最后烧写错误:

根据提示,我也不知啥zImage。就烧写成zImage。

生成zImage:

然后把他烧写到开发板,运行:

后来,我再次制作uImage成功,成功烧写了:

时间: 2024-12-25 20:44:16

7、嵌入式linux内核制作的相关文章

嵌入式Linux内核制作【转】

本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User Space和Kernel Space构成,即用户空间和内核空间 用户空间:应用程序 C库 系统配置文件等 内核空间:在内存中,用户一般不能直接接触到(系统调用接口,体系结构相关的一些代码等等) 这样划分的的好处: 其实内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用

嵌入式Linux内核制作

一.Linux内核简介 Linux系统架构分为内核空间和用户空间.它们之间切换条件:1.系统调用 2.硬件中断. 内核架构:1.系统调用接口 2.进程管理块 3.内存管理 4.体系结构相关代码 4.虚拟文件系统 5.网络栈 6.设备驱动 二.制作Linux内核 1.修改配置文件 make config --文本模式交互式的配置 make menuconfig --基于文本模式的菜单型配置(直观.简单.高效.推荐) 配置文件的选择:1.默认   2.已有的配置文件,Linux系统下的/boot/目

3.4.嵌入式linux内核制作

? ? ? 前面我们已经制作了uboot,接下来是制作kernel. 首先进入内核源码,执行make distclean.清除先前编译产生的文件. 注意配置内核的时候多了一个ARCH=arm的条件. 回车之后会进入arm的配置菜单: 就像我们前面配置linux内核一样,我们也会去找一个配置好的配置文件: 把config-file拷贝到我们的内核代码目录下: 然后把config-file拷贝成.config. 重新进入配置界面,发现配置生效了. 接下来就是内核的编译: ? ? ? 在编译的过程中会

第四季-专题3-嵌入式Linux内核制作

专题3-嵌入式Linux内核制作 一.linux内核简介 系统架构 (1)Linux系统是怎么构成的? (2)为什么linux系统分为了用户空间和内核空间? 现代CPU通常实现了不同的工作模式,以ARM为例,就实现了7中工作模式: 用户模式(usr),快速中断(fiq),外部中断(irq).管理模式(svc),数据访问中止(abt),系统模式(sys),未定义指令异常(und). X86也实现了4个不同的级别:Ring0-Ring3.Ring0下,可以执行特权指令,可以访问IO设备等,在RIng

嵌入式linux 内核关机函数实现

arch/arm/kernel/process.c 实现pm_power_off = 关机函数 参考 board-omap3touchbook.c 文件中 pm_power_off = omap3_touchbook_poweroff; static void omap3_touchbook_poweroff(void) { int pwr_off = TB_KILL_POWER_GPIO; if (gpio_request_one(pwr_off, GPIOF_OUT_INIT_LOW, "D

维护嵌入式 Linux 内核——So Easy

安全漏洞只发生在 Windows 上的好日子正在快速过去.恶意软件黑客和拒绝服务老手们正在越来越多地瞄准过时的嵌入式 Linux 设备,因此在 10 月的欧洲嵌入式 Linux 会议(ELCE)上的几个演讲的主题就与修复 Linux 安全漏洞相关. 最值得去听的讲演之一是 Pengutronix 内核黑客 Jan Lübbe 的<长期维护或管理(或免管理)嵌入式系统 10 年以上>.在总结嵌入式 Linux 中不断增长的安全威胁后,Lübbe 制定了一项计划,以确保长期设备的安全和功能完整.

嵌入式Linux内核tasklet机制(附实测代码)

Linux 中断编程分为中断顶半部,中断底半部 中断顶半部: 做紧急,耗时短的事情,同时还启动中断底半部.中断底半部: 做耗时的事件,这个事件在执行过程可以被中断.中断底半部实现方法: tasklet,工作队列,软中断等机制实现.实际上是把耗时事件推后执行,不在中断程序执行. 什么是tasklet? Tasklet 一词的原意是"小片任务"的意思,这里是指一小段可执行的代码,且通常以函数的形式出现.这个 tasklet 绑定的函数在一个时刻只能在一个 CPU 上运行 ,tasklet(

【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】

本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加内核启动Hello World 任务: 内核启动的时候加载Hello驱动,并打印出Hello World 步骤: (1)在drivers目录下新建hello文件夹,在里面实现相应的hello.c.Makefile.Kconfig (2)修改上一级(Linux-3.4.2/drivers下)的Make

linux内核---嵌入式linux内核的五个子系统

转自:https://blog.csdn.net/qq_27522735/article/details/63251168 Linux内核主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示. 图1 Linux内核的组成部分与关系 1.进程调度 进程调度控制系统中的多个进程对CPU的访问,使得多个进程能在CPU中"微观串行,宏观并行"地执行.进程调度处于系统的中心位置,内核中其他的子系统都依赖它,因为