嵌入式linux kernel开发全流程

Madeline ·
更新时间:2024-09-20
· 784 次阅读

Current Minimal Requirements ============================ Upgrade to at *least* these software revisions before thinking you've encountered a bug!  If you're unsure what version you're currently running, the suggested command should tell you. Again, keep in mind that this list assumes you are already functionally running a Linux kernel.  Also, not all tools are necessary on all systems; obviously, if you don't have any ISDN hardware, for example, you probably needn't concern yourself with isdn4k-utils. o  Gnu C                  3.2                     # gcc --version o  Gnu make               3.80                    # make --version o  binutils               2.12                    # ld -v o  util-linux             2.10o                   # fdformat --version o  module-init-tools      0.9.10                  # depmod -V o  e2fsprogs              1.41.4                  # e2fsck -V o  jfsutils               1.1.3                   # fsck.jfs -V o  reiserfsprogs          3.6.3                   # reiserfsck -V o  xfsprogs               2.6.0                   # xfs_db -V o  squashfs-tools         4.0                     # mksquashfs -version o  btrfs-progs            0.18                    # btrfsck o  pcmciautils            004                     # pccardctl -V o  quota-tools            3.09                    # quota -V o  PPP                    2.4.0                   # pppd --version o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version o  nfs-utils              1.0.5                   # showmount --version o  procps                 3.2.0                   # ps --version o  oprofile               0.9                     # oprofiled --version o  udev                   081                     # udevd --version o  grub                   0.93                    # grub --version || grub-install --version o  mcelog                 0.6                     # mcelog --version o  iptables               1.4.2                   # iptables -V

  linux kernel 内核配置   linux kernel 的配置选项非常多,从零配置工作量极大,因此一般的配置流程分为两步,先进行预配置,这步主要是利用他人的成果,再进行个性化定制,这步是根据需要进行细化配置了。通常会有两种情行下,一种是从旧内核升级到新内核时进行配置,一种是从新开始使用默认配置再定制。   使用预定义配置再定制   1 预配置的两种方法   1)使用源代码中提供的预定义配置文件   预定义配置文件在目录 arch/$(ARCH)/configs/ 中,其中$(ARCH)是指处理器架构类型,如arm , x86 ,mips 等。   使用预定义配置的方法如下:   make  ARCH=${ARCH}      ${PLATFORM}_defconfig   “make ARCH=${ARCH}  ${PLATFORM}_defconfig"   使用arch/$ARCH/configs/${PLATFORM}_defconfig 文件中的默认值来创建一个 ./.config文件。 ARCH参数是必要的,既然默认配置文件所在路径中包含了ARCH。   查看内核源代码支持哪些ARCH,可以查看源代码树中的arch目录下有哪些目录名。而具体开发板应该使用哪个ARCH是很好确定的,比如开发板的cpu为arm cortex A8 ,则ARCH为arm,相应的CROSS_COMPILE是与ARCH一致的交叉编译工具链前缀,为了确定PLATFORM,可以查看arch/$ARCH/configs/下的文件名,也可以使用如下命令   make ARCH=arm  help   从输出中你可以看到 ${PLATFORM}_defconfig应该如何书写了,如果没有你的开发板名称,你可以找一个近似的平台作为参考,在此基础上进行配置也不错。   2)使用外部提供的.config文件进行配置   2 个性化定制   个性化定制时,常用如下命令,它们的区别是配置的方式不同。   “ make menuconfig  ”     - Update current config utilising a menu based program 使用基于菜单的程序更新当前配置   “  make xconfig ”     - Update current config utilising a QT based front-end  使用基于QT的前端更新当前配置   注意是更新(Update),这意味着如果当前已经配置过内核(即存在.config文件),那么该命令执行后会读取.config中的配置项,在此基础上进行配置。   从旧内核配置升级到新内核配置   linux kernel 内核编译   linux kernel 内核安装与运行   linux kernel 内核开发与调试



嵌入式linux Linux 嵌入 kernel

需要 登录 后方可回复, 如果你还没有账号请 注册新账号