由zImage生成uImage】的更多相关文章

一.手动使用mkimage命令 mkimage -A arm -O linux -T kernel -C none -a 30007fc0 -e 30007fc0 -n uImage   -d /work/jz2440/kernel/linux-2.6.22.6/arch/arm/boot/zImage uImage   我的内核目录:/work/jz2440/kernel/linux-2.6.22.6 我的tftpboot:/work/tftpbootuboot——bootm地址:30007f…
写个随笔,备忘! 拿到一个内核后,首先将其make为zImage,步骤: 1.将与要移植的系统的配置文件拷贝给.config cp xxx_xxx .config 2.修改Makefile,指定平台构架和交叉编译环境 vim Makefile  ARCH  ?=XXX CROSS_COMPILE ?=xxxx 3.启动配置界面,定制内核 make nemuconfig 4.make zImage, 内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像…
http://blog.csdn.net/maojudong/article/details/4178118 zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制.Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”. vmlinuz 的建立有两种方式.一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/sr…
有些u-boot 指定要链接uImage 所以今天记录一下kernel 生成uImage 的条件 在kernel 配置完make menuconfig 后,进行编译,发现make uImage 生成不了uImage ,发现是少了一个工具. 在你的u-boot 生成文件里面,在tools 目录下,有一个mkimage 工具. 将这个工具放置到你的usr/bin/ 目录里面, 再kernel 进行make uImage 即可编译出uImage .…
1. 依据arch/arm/kernel/vmlinux.lds 生成linux内核源码根目录下的vmlinux,这个vmlinux属于未压缩,带调试信息.符号表的最初的内核,大小约23MB: arm-linux-gnu-ld -EL  -p --no-undefined -X -o vmlinux -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o  arch/arm/kernel/init_task.o   init/built-in.…
kernel 源码编译生成 vmlinx,vmlinux 是 elf 文件,对 vmlinux 使用 objcopy 得到 Image,Image 是纯粹的二进制文件,vmlinux 只能在OS环境下执行,不能烧录, Image 可以烧录. zImage 是 对 Image 进行压缩, uImage 是在 zImage 添加头部信息,方便uboot 启动. uboot 支持所有 uImage 启动,但只有开启 zImage 配置参数的uboot 才支持 zImage 启动.…
1. 使用dd命令制作烧写文件 环境: bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512K(boot),3M(kernel),2560K(rootfs),10M MTD partitions : 0x000000000000-0x000000080000 : "boot" 0x000000080000-0x000000380000 : &quo…
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M. 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本.加载位置.生成时间.大小等信息:其0x40之后与zImage没区别. 如何生成uImage文件?首先在uboot的/tools目录下寻找mkimage文件,把其copy到系统/…
在网络中,不少服务器采用的是Linux系统.为了进一步提高服务器的性能,可能需要根 据特定的硬件及需求重新编译Linux内核.编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件.比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件 . 编译过RedHat Linux内核的人对其中的System.map.vmlinuz.initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作.那么这几个文件是…
make Image uImage与zImage的区别  http://blog.chinaunix.net/uid-25322094-id-3589796.html 内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M. 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本.加载位置…
1.各种文件的意义 vmlinux  编译出来的最原始的内核文件,未压缩. zImage   是vmlinux经过gzip压缩后的文件. bzImage bz表示“big zImage”,不是用bzip2压缩的.两者的不同之处在于,zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上).如果内核比较小,那么采用zImage或bzImage都行,如果比较大应该用bzImage. uImage   U-boot专用的映像文件,它是在zImage之前加上一个…
zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制.Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”. vmlinuz的建立有两种方式.一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage/boot/vmlinuz”产生.…
linux内核经过编译后会生成一个ELF格式的可执行程序,叫vmlinux或vmlinuz,是原始的未经任何处理加工的原版内核ELF文件:嵌入式系统烧录的一般不是这个vmlinuz/vmlinux,而是要用objcopy工具制作成烧录镜像格式,经过制作加工成烧录镜像的文件就叫Image(这个制作烧录镜像主要目的就是缩减大小,节省空间).原则上Image就可以直接被烧录到Flash上进行启动执行(类似于u-boot.bin),但是实际上并不是这样.实际上linux的大牛们觉得Image还是太大了所…
vmlinux是内核文件,zImage是一般情况下默认的压缩内核映像文件,压缩vmlinux,加上一段解压启动代码得到.而uImage则是使用工具mkimage对普通的压缩内核映像文件(zImage)加工而得.它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本.加载位置.生成时间.大小等信息:其0x40之后与zImage没区别.其实就是一个自动跟手动的区别,有了uImage头部的描述,u-boot就知道对应Image的信息,如果没有头部则需要自…
编译出uboot可以运行的linux内核代码的命令是make uImage,下面详细介绍下生成linux-2.6.22.6/arch/arm/boot/uImage的过程: 1.vmlinux.Image.uImage.zImage的区别 2.vmlinux生成过程简介 3.uImage生成过程简介 1.vmlinux.Image.uImage.zImage的区别,在执行make uImage之后会在%生成如下几个文件Image.uImage.zImage. vmlinux是可引导的.压缩的内核…
先编译友善提供的linux内核: make ARCH=arm mini2440_defconfigmake CROSS_COMPILE=arm-linux- uImage 在arch/arm/boot/uImage 生成uImage 在使用<mini2440移植uboot 2014.04(六)>中移植的uboot来加载刚才编译的uImage,拷贝到tftp文件夹,重启tftp服务器: tftp uImage bootm 此时内核无法加载,在显示下面的信息后就不再显示其他内容. Starting…
本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 解压缩到系统某个文件夹下(我解压缩到/home/host/soft下) 然后~/.bashrc添加一行: export PATH=$PATH:/home/host/soft/-glibc--multilib-1.0/arm-fsl-linux-gnueabi/bin/ 然后重新打开bash,执行下面的命…
mini2440下烧写u-boot后,就可以用u-boot烧写linux内核了. 安装mkimage工具: apt-get install u-boot-tools 解压缩官方mini2440 linux包: .tar.gz 然后进入文件夹,并进行编译(配置文件应该选择和自己的lcd对应的配置来进行拷贝,因为我的开发板没有屏幕,所以就随便选取了一个配置): cd linux-2.6.32.2cp config_mini2440_n35 .config make zImage 注: 生成的zIma…
在网络中,不少服务器采用的是Linux系统.为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核.编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件.比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行.  编译过RedHat Linux内核的人对其中的System.map.vmlinuz.initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作…
Linux下USB烧写uImage kernel   1.启动开发板,进入u-boot:(如果开发板中没有系统,可以通过用SD卡方式启动开发板进入)   U-Boot 2011.06 (Mar 19 2012 - 08:45:34) for MINI6410   CPU: S3C6400@667MHz Fclk = 667MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode) Board: MINI6410 DRAM: 256 MiB NAND: 512 Mi…
转自:http://blog.chinaunix.net/uid-25909619-id-4938388.html 研究内核源码和内核运行原理的时候,很总要的一点是要了解内核的初始情况,也就是要了解内核启动过程.我在研究内核的内存管理的时候,想知道内核启动后的页表的放置,页表的初始化等信息,这促使我这次仔细地研究内核的启动代码.       CPU在bootloader的帮助下将内核载入到了内存中,并开始执行.当然,bootloader必须为zImage做好必要的准备:  1. CPU 寄存器的…
Hi,大家好!我是CrazyCatJack.最近在学习Linux内核的配置.编译及Makefile文件.今天总结一下学习成果,分享给大家^_^ 1.解压缩打补丁 首先是解压缩你获取到的Linux内核.这里我用到的是linux.2.22.6版本的内核.在Linux下命令行通过tar xjf linux.2.22.6.tar.bz2解压内核.然后,如果你需要对这个内核打补丁的话,用patch命令:patch -px <../linux.2.22.6.patch.这里的px指的是忽略掉补丁文件中描述的…
驱动使用方式1.编译到内核中 * make uImage进入到系统后mknod /dev/led c 500 0 创建设备节点 2.编译为模块 M make module进入到系统后 mknod /dev/led c 500 0 创建设备节点insmod fs4412_led_drv.ko(驱动可执行程序) 加载驱动 uImage的编译1.步骤 make uImage -jNUM NUM = 处理器数量*处理器核心数 2.流程进入顶层目录下的Makefile 找不到uImage 就去找inclu…
QT210下载烧录编译android2.3过程 工作环境:ubuntu12.04.5 | QT210开发板光盘 | QT210开发板 android2.3编译环境:gcc version 4.4.7  | java version 6 | java version 5 | git version 1.7.9.5 tips by chsry:浅灰色是终端窗口运行保存的部分命令和信息,ubuntu14.04无法编译QT210 android2.3(无法安装java6) 安装好ubuntu12.04.…
1.文件系统就是数据的存储结构,不要以为你的硬盘存储东西理所当然,没有文件系统,你存的只是0010101101100 2.内存管理是计算机运行时内存的分配和使用. 3.进程管理就是说每次执行一个程序都要创建一个进程. 4.通过vfs可以调用任何格式的文件系统如ext2,ext3.. 虚拟文件系统包含好多结构体,用来描述对象.5.索引结点仅在文件被访问时,才在内存中创建. ------------------------------------------------------------- l…
linux内核最小系统,使用内核版本:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.1.tar.bz2 1,FL2440板子的基本硬件:晶振12MHZ CPU 型号为S3C2440,基于ARM920T,指令集ARMV4,时钟主频400MHz SDRAM H57V2562GTR-75C 2片*32MB=64MB,挂载于nGCS6 (0x3000 0000) NANDFLASH 型号:K9F2G08U0B  大小:256MB Netwo…
Linux内核配置.编译及Makefile简述 Hi,大家好!我是CrazyCatJack.最近在学习Linux内核的配置.编译及Makefile文件.今天总结一下学习成果,分享给大家^_^ 1.解压缩打补丁 首先是解压缩你获取到的Linux内核.这里我用到的是linux.2.22.6版本的内核.在Linux下命令行通过tar xjf linux.2.22.6.tar.bz2解压内核.然后,如果你需要对这个内核打补丁的话,用patch命令:patch -px <../linux.2.22.6.p…
首先贴出来我的bootargs的设置(注没有换行符!!!): setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsroot=10.10.2.59:/opt/rootfs/ ip=10.10.1.156:10.10.2.59:10.10.1.1:255.255.255.0:skdkjzz:eth0:off console=ttyAMA0,115200 Linux编译生成zImage,但是uboot不能识别,uboot…
下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下. 其中涉及的内容较多,很多东西不再详述,如需深入研究请查阅相关资料(百度或谷歌一下一大堆).开发环境:Fedora 9交叉编译工具链:arm-linux-gcc 4.3.2 with EABI嵌入式Linux内核版本:2.6.29.4-FriendlyARM.昨天写贴子的时候具体记不清了,今天起来启动开发板用uname -r查一下,就是…
这几天参考国嵌的实验手册和网上的资料完成了u-boot定制.内核定制.ramdisk根文件系统的制作,并成功.趁热打铁,总结一下.本文引用了很多网络上的文章,就不一一注明了.感谢各大侠的帮助,如有雷同,望见谅. 开发环境:红帽企业版5 交叉编译工具链:arm-linux-gcc4.3.2 嵌入式Linux内核版本:友善之臂的mini2440开发板光盘自带的内核linux-2.6.32.2 开发板:mini2440-64MNand Flash Bootloader:u-boot-1.20 具体步骤…