ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2009年7月3日 星期五

uImage 和 mkimage

uImage 是能讓 u-boot 開機的 kernel image。 在u-boot 的 README 中的 "Building a Linux Image:" 有提到.. 不能用以前的zImage,bzImage。新的 kernel source已經新增一個 target 叫 "uImage"。 所以..
make xx_config
make coldconfig
make dep
make uImage
就可以build 出 uImage。 uImage 和以往zImage, bzImage 不同的是..她需要用 tools/mkimage 這個 tool 來包裝過:
  • build vmlinux (ELF binary format)
  • {CROSS_COMPILE)-objcopy -O binary -R .note -R .comment -S vmlinux linu.bin
  • gzip -9 linux.bin
  • 包裝:
    mkimage -A arm -O linux -T kernel -C gzip -a 0 -e 0 -n "Linux Kernel Image" -d linux.bin.gz uImage
有關mkimage 的help:
Usage: ../kernel/scripts/mkimage -l image
          -l == list image header information
       ../kernel/scripts/mkimage [-x] -A arch -O os -T type -C comp -a addr 
                                      -e ep -n name -d data_file[:data_file...] image
          -A == set architecture to 'arch'
          -O == set operating system to 'os'
          -T == set image type to 'type'
          -C == set compression type 'comp'
          -a == set load address to 'addr' (hex)
          -e == set entry point to 'ep' (hex)
          -n == set image name to 'name'
          -d == use image data from 'datafile'
          -x == set XIP (execute in place)

沒有留言:

標籤

網誌存檔