首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式开发实作(Linux内核编译及安装)(2)

嵌入式开发实作(Linux内核编译及安装)(2)

终生成的文件
  •   vmlinux 原始内核镜像,非压缩的
  • arch/<arch>/boot/zImage zlib压缩的内核镜像(Default image on arm)
  • arch/<arch>/boot/bzImage bzip2压缩的内核镜像。通常很小,足够放入一张软盘(Default image on i386)
安装的文件
  • /boot/vmlinuz-<version> 内核镜像;
  • /boot/System.map-<version> 保存有内核的符号地址(symbol addresses);
  • /boot/initrd-<version>.img Initial RAM disk:保存有你需要在引导时挂接最终根文件系统的模块。安装命令“make install”为替你运行“mkinitrd ”生成initrd;
  • /etc/grub.conf or /etc/lilo.conf
  • bootloader的配置文件:“make install”会为你的新内核更新相应的bootloader的配置文件。如果你使用的是LILO,它会在生成配置文件后,执行/sbin/lilo,让LILO的配置生效。
  • /lib/modules/<version>/ Kernel modules + extras
    •   build/
            为本<version>的内核添加模块所需的所有东西: .config file (build/.config), module symbol information (build/module.symVers), kernel headers (build/include/)
    • kernel/
            内核模块文件 .ko (Kernel Object),目录结构与源代码目标一一对应。
    • modules.alias
            模块别名记录(用于insmod和modprobe),例如:
            alias sound--service--?-0 snd_mixer_oss
    • modules.dep
            模块依赖记录(用于insmod和modprobe)
    • modules.symbols
            标识某符号是属于哪个模块的。
这个目录的所有文件都是文本文件,可以直接查看。
小结编译及安装步骤:
  • 编辑Makefile版本信息
  • 定义内核特性,生成配置文件.config,用于编译:make xconfig
  • 编译内核:make
  • 安装内核:make install
  • 安装模块:make modules_install
继承事业,薪火相传
返回列表