embeded/ARM2015. 2. 2. 14:53

별거 없네 -_-a

라고 하지만 일단 칩 벤더 패치 먹이는 것 부터가 일단 난관? ㅋㅋㅋ


$ make distclean

$ make -j8 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- defconfig imx5_defconfig

$ make -j8 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 



distclean 하면 .config 까지 날아가서 완전 새로 설정해야 한다.
그리고 help는 해당 아키텍쳐에 대해서만 나오니

$ make help

Cleaning targets:

  clean   - Remove most generated files but keep the config and

                    enough build support to build external modules

  mrproper   - Remove all generated files + config + various backup files

  distclean   - mrproper + remove editor backup and patch files


Configuration targets:

  config   - Update current config utilising a line-oriented program

  nconfig         - Update current config utilising a ncurses menu based program

  menuconfig   - Update current config utilising a menu based program

  xconfig   - Update current config utilising a QT based front-end

  gconfig   - Update current config utilising a GTK based front-end

  oldconfig   - Update current config utilising a provided .config as base

  localmodconfig  - Update current config disabling modules not loaded

  localyesconfig  - Update current config converting local mods to core

  silentoldconfig - Same as oldconfig, but quietly, additionally update deps

  randconfig   - New config with random answer to all options

  defconfig   - New config with default answer to all options

  allmodconfig   - New config selecting modules when possible

  allyesconfig   - New config where all options are accepted with yes

  allnoconfig   - New config where all options are answered with no


Other generic targets:

  all   - Build all targets marked with [*]

* vmlinux   - Build the bare kernel

* modules   - Build all modules

  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)

  firmware_install- Install all firmware to INSTALL_FW_PATH

                    (default: $(INSTALL_MOD_PATH)/lib/firmware)

  dir/            - Build all files in dir and below

  dir/file.[oisS] - Build specified target only

  dir/file.lst    - Build specified mixed source/assembly target only

                    (requires a recent binutils and recent build (System.map))

  dir/file.ko     - Build module including final link

  modules_prepare - Set up for building external modules

  tags/TAGS   - Generate tags file for editors

  cscope   - Generate cscope index

  kernelrelease   - Output the release version string

  kernelversion   - Output the version stored in Makefile

  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH

                    (default: /home/interm/Downloads/linux/linux-2.6.35.3/usr)


Static analysers

  checkstack      - Generate a list of stack hogs

  namespacecheck  - Name space analysis on compiled kernel

  versioncheck    - Sanity check on version.h usage

  includecheck    - Check for duplicate included header files

  export_report   - List the usages of all exported symbols

  headers_check   - Sanity check on exported headers

  headerdep       - Detect inclusion cycles in headers


Kernel packaging:

  rpm-pkg         - Build both source and binary RPM kernel packages

  binrpm-pkg      - Build only the binary kernel package

  deb-pkg         - Build the kernel as an deb package

  tar-pkg         - Build the kernel as an uncompressed tarball

  targz-pkg       - Build the kernel as a gzip compressed tarball

  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball


Documentation targets:

 Linux kernel internal documentation in different formats:

  htmldocs        - HTML

  pdfdocs         - PDF

  psdocs          - Postscript

  xmldocs         - XML DocBook

  mandocs         - man pages

  installmandocs  - install man pages generated by mandocs

  cleandocs       - clean all generated DocBook files


Architecture specific targets (x86):

* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)

  install      - Install kernel using

                  (your) ~/bin/installkernel or

                  (distribution) /sbin/installkernel or

                  install to $(INSTALL_PATH) and run lilo

  fdimage      - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)

  fdimage144   - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)

  fdimage288   - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)

  isoimage     - Create a boot CD-ROM image (arch/x86/boot/image.iso)

                  bzdisk/fdimage*/isoimage also accept:

                  FDARGS="..."  arguments for the booted kernel

                  FDINITRD=file initrd for the booted kernel


  i386_defconfig           - Build for i386

  x86_64_defconfig         - Build for x86_64


  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build

  make V=2   [targets] 2 => give reason for rebuild of target

  make O=dir [targets] Locate all output files in "dir", including .config

  make C=1   [targets] Check all c source with $CHECK (sparse by default)

  make C=2   [targets] Force check of all c source with $CHECK


Execute "make" or "make all" to build all targets marked with [*] 

For further info see the ./README file 


아키텍쳐를 정해주면 해당 아키텍쳐에 대한 설정이 쭈욱 나온다.

imx5_defconfig 외에는 되는게 없네 -_-

$ make help ARCH=arm

Cleaning targets:

  clean  - Remove most generated files but keep the config and

                    enough build support to build external modules

  mrproper  - Remove all generated files + config + various backup files

  distclean  - mrproper + remove editor backup and patch files


Configuration targets:

  config  - Update current config utilising a line-oriented program

  nconfig         - Update current config utilising a ncurses menu based program

  menuconfig  - Update current config utilising a menu based program

  xconfig  - Update current config utilising a QT based front-end

  gconfig  - Update current config utilising a GTK based front-end

  oldconfig  - Update current config utilising a provided .config as base

  localmodconfig  - Update current config disabling modules not loaded

  localyesconfig  - Update current config converting local mods to core

  silentoldconfig - Same as oldconfig, but quietly, additionally update deps

  randconfig  - New config with random answer to all options

  defconfig  - New config with default answer to all options

  allmodconfig  - New config selecting modules when possible

  allyesconfig  - New config where all options are accepted with yes

  allnoconfig  - New config where all options are answered with no


Other generic targets:

  all  - Build all targets marked with [*]

* vmlinux  - Build the bare kernel

* modules  - Build all modules

  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)

  firmware_install- Install all firmware to INSTALL_FW_PATH

                    (default: $(INSTALL_MOD_PATH)/lib/firmware)

  dir/            - Build all files in dir and below

  dir/file.[oisS] - Build specified target only

  dir/file.lst    - Build specified mixed source/assembly target only

                    (requires a recent binutils and recent build (System.map))

  dir/file.ko     - Build module including final link

  modules_prepare - Set up for building external modules

  tags/TAGS  - Generate tags file for editors

  cscope  - Generate cscope index

  kernelrelease  - Output the release version string

  kernelversion  - Output the version stored in Makefile

  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH

                    (default: /home/interm/Downloads/linux/linux-2.6.35.3/usr)


Static analysers

  checkstack      - Generate a list of stack hogs

  namespacecheck  - Name space analysis on compiled kernel

  versioncheck    - Sanity check on version.h usage

  includecheck    - Check for duplicate included header files

  export_report   - List the usages of all exported symbols

  headers_check   - Sanity check on exported headers

  headerdep       - Detect inclusion cycles in headers


Kernel packaging:

  rpm-pkg         - Build both source and binary RPM kernel packages

  binrpm-pkg      - Build only the binary kernel package

  deb-pkg         - Build the kernel as an deb package

  tar-pkg         - Build the kernel as an uncompressed tarball

  targz-pkg       - Build the kernel as a gzip compressed tarball

  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball


Documentation targets:

 Linux kernel internal documentation in different formats:

  htmldocs        - HTML

  pdfdocs         - PDF

  psdocs          - Postscript

  xmldocs         - XML DocBook

  mandocs         - man pages

  installmandocs  - install man pages generated by mandocs

  cleandocs       - clean all generated DocBook files


Architecture specific targets (arm):

* zImage        - Compressed kernel image (arch/arm/boot/zImage)

  Image         - Uncompressed kernel image (arch/arm/boot/Image)

* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)

  uImage        - U-Boot wrapped zImage

  bootpImage    - Combined zImage and initial RAM disk

                  (supply initrd image via make variable INITRD=<path>)

  install       - Install uncompressed kernel

  zinstall      - Install compressed kernel

                  Install using (your) ~/bin/installkernel or

                  (distribution) /sbin/installkernel or

                  install to $(INSTALL_PATH) and run lilo


  acs5k_defconfig          - Build for acs5k

  acs5k_tiny_defconfig     - Build for acs5k_tiny

  afeb9260_defconfig       - Build for afeb9260

  am200epdkit_defconfig    - Build for am200epdkit

  am3517_evm_defconfig     - Build for am3517_evm

  ams_delta_defconfig      - Build for ams_delta

  ap4evb_defconfig         - Build for ap4evb

  assabet_defconfig        - Build for assabet

  at572d940hfek_defconfig  - Build for at572d940hfek

  at91cap9adk_defconfig    - Build for at91cap9adk

  at91rm9200dk_defconfig   - Build for at91rm9200dk

  at91rm9200ek_defconfig   - Build for at91rm9200ek

  at91sam9260ek_defconfig  - Build for at91sam9260ek

  at91sam9261ek_defconfig  - Build for at91sam9261ek

  at91sam9263ek_defconfig  - Build for at91sam9263ek

  at91sam9g20ek_defconfig  - Build for at91sam9g20ek

  at91sam9rlek_defconfig   - Build for at91sam9rlek

  ateb9200_defconfig       - Build for ateb9200

  badge4_defconfig         - Build for badge4

  bcmring_defconfig        - Build for bcmring

  cam60_defconfig          - Build for cam60

  carmeva_defconfig        - Build for carmeva

  cerfcube_defconfig       - Build for cerfcube

  cm_t35_defconfig         - Build for cm_t35

  cm_x2xx_defconfig        - Build for cm_x2xx

  cm_x300_defconfig        - Build for cm_x300

  cns3420vb_defconfig      - Build for cns3420vb

  colibri_pxa270_defconfig - Build for colibri_pxa270

  colibri_pxa300_defconfig - Build for colibri_pxa300

  collie_defconfig         - Build for collie

  corgi_defconfig          - Build for corgi

  cpu9260_defconfig        - Build for cpu9260

  cpu9g20_defconfig        - Build for cpu9g20

  cpuat91_defconfig        - Build for cpuat91

  csb337_defconfig         - Build for csb337

  csb637_defconfig         - Build for csb637

  da8xx_omapl_defconfig    - Build for da8xx_omapl

  davinci_all_defconfig    - Build for davinci_all

  devkit8000_defconfig     - Build for devkit8000

  dove_defconfig           - Build for dove

  ebsa110_defconfig        - Build for ebsa110

  ecbat91_defconfig        - Build for ecbat91

  edb7211_defconfig        - Build for edb7211

  em_x270_defconfig        - Build for em_x270

  ep93xx_defconfig         - Build for ep93xx

  eseries_pxa_defconfig    - Build for eseries_pxa

  ezx_defconfig            - Build for ezx

  footbridge_defconfig     - Build for footbridge

  fortunet_defconfig       - Build for fortunet

  g3evm_defconfig          - Build for g3evm

  g4evm_defconfig          - Build for g4evm

  h3600_defconfig          - Build for h3600

  h5000_defconfig          - Build for h5000

  h7201_defconfig          - Build for h7201

  h7202_defconfig          - Build for h7202

  hackkit_defconfig        - Build for hackkit

  htcherald_defconfig      - Build for htcherald

  igep0020_defconfig       - Build for igep0020

  imote2_defconfig         - Build for imote2

  imx23evk_defconfig       - Build for imx23evk

  imx23evk_updater_defconfig - Build for imx23evk_updater

  imx25_3stack_defconfig   - Build for imx25_3stack

  imx25_updater_defconfig  - Build for imx25_updater

  imx28evk_defconfig       - Build for imx28evk

  imx28evk_updater_defconfig - Build for imx28evk_updater

  imx5_defconfig           - Build for imx5

  imx5_updater_defconfig   - Build for imx5_updater

  integrator_defconfig     - Build for integrator

  iop13xx_defconfig        - Build for iop13xx

  iop32x_defconfig         - Build for iop32x

  iop33x_defconfig         - Build for iop33x

  ixp2000_defconfig        - Build for ixp2000

  ixp23xx_defconfig        - Build for ixp23xx

  ixp4xx_defconfig         - Build for ixp4xx

  jornada720_defconfig     - Build for jornada720

  kafa_defconfig           - Build for kafa

  kb9202_defconfig         - Build for kb9202

  kirkwood_defconfig       - Build for kirkwood

  ks8695_defconfig         - Build for ks8695

  lart_defconfig           - Build for lart

  loki_defconfig           - Build for loki

  lpd270_defconfig         - Build for lpd270

  lpd7a400_defconfig       - Build for lpd7a400

  lpd7a404_defconfig       - Build for lpd7a404

  lubbock_defconfig        - Build for lubbock

  lusl7200_defconfig       - Build for lusl7200

  magician_defconfig       - Build for magician

  mainstone_defconfig      - Build for mainstone

  mini2440_defconfig       - Build for mini2440

  mmp2_defconfig           - Build for mmp2

  msm_defconfig            - Build for msm

  mv78xx0_defconfig        - Build for mv78xx0

  mx1_defconfig            - Build for mx1

  mx21_defconfig           - Build for mx21

  mx27_defconfig           - Build for mx27

  mx31pdk_defconfig        - Build for mx31pdk

  mx3_defconfig            - Build for mx3

  mx3_updater_defconfig    - Build for mx3_updater

  mx51_defconfig           - Build for mx51

  n770_defconfig           - Build for n770

  n8x0_defconfig           - Build for n8x0

  neocore926_defconfig     - Build for neocore926

  neponset_defconfig       - Build for neponset

  netwinder_defconfig      - Build for netwinder

  netx_defconfig           - Build for netx

  nhk8815_defconfig        - Build for nhk8815

  ns9xxx_defconfig         - Build for ns9xxx

  nuc910_defconfig         - Build for nuc910

  nuc950_defconfig         - Build for nuc950

  nuc960_defconfig         - Build for nuc960

  omap_2430sdp_defconfig   - Build for omap_2430sdp

  omap_3430sdp_defconfig   - Build for omap_3430sdp

  omap_3630sdp_defconfig   - Build for omap_3630sdp

  omap3_beagle_defconfig   - Build for omap3_beagle

  omap3_defconfig          - Build for omap3

  omap3_evm_defconfig      - Build for omap3_evm

  omap3_pandora_defconfig  - Build for omap3_pandora

  omap3_stalker_lks_defconfig - Build for omap3_stalker_lks

  omap3_touchbook_defconfig - Build for omap3_touchbook

  omap_4430sdp_defconfig   - Build for omap_4430sdp

  omap_apollon_2420_defconfig - Build for omap_apollon_2420

  omap_generic_1510_defconfig - Build for omap_generic_1510

  omap_generic_1610_defconfig - Build for omap_generic_1610

  omap_generic_1710_defconfig - Build for omap_generic_1710

  omap_generic_2420_defconfig - Build for omap_generic_2420

  omap_h2_1610_defconfig   - Build for omap_h2_1610

  omap_h4_2420_defconfig   - Build for omap_h4_2420

  omap_innovator_1510_defconfig - Build for omap_innovator_1510

  omap_innovator_1610_defconfig - Build for omap_innovator_1610

  omap_ldp_defconfig       - Build for omap_ldp

  omap_osk_5912_defconfig  - Build for omap_osk_5912

  omap_perseus2_730_defconfig - Build for omap_perseus2_730

  omap_zoom2_defconfig     - Build for omap_zoom2

  omap_zoom3_defconfig     - Build for omap_zoom3

  onearm_defconfig         - Build for onearm

  orion5x_defconfig        - Build for orion5x

  overo_defconfig          - Build for overo

  palmte_defconfig         - Build for palmte

  palmtt_defconfig         - Build for palmtt

  palmz71_defconfig        - Build for palmz71

  palmz72_defconfig        - Build for palmz72

  pcm027_defconfig         - Build for pcm027

  picotux200_defconfig     - Build for picotux200

  pleb_defconfig           - Build for pleb

  pnx4008_defconfig        - Build for pnx4008

  pxa168_defconfig         - Build for pxa168

  pxa255-idp_defconfig     - Build for pxa255-idp

  pxa3xx_defconfig         - Build for pxa3xx

  pxa910_defconfig         - Build for pxa910

  qil-a9260_defconfig      - Build for qil-a9260

  raumfeld_defconfig       - Build for raumfeld

  realview_defconfig       - Build for realview

  realview-smp_defconfig   - Build for realview-smp

  rpc_defconfig            - Build for rpc

  rx51_defconfig           - Build for rx51

  s3c2410_defconfig        - Build for s3c2410

  s3c6400_defconfig        - Build for s3c6400

  s5p6440_defconfig        - Build for s5p6440

  s5p6442_defconfig        - Build for s5p6442

  s5pc100_defconfig        - Build for s5pc100

  s5pc110_defconfig        - Build for s5pc110

  s5pv210_defconfig        - Build for s5pv210

  sam9_l9260_defconfig     - Build for sam9_l9260

  shannon_defconfig        - Build for shannon

  shark_defconfig          - Build for shark

  simpad_defconfig         - Build for simpad

  spear300_defconfig       - Build for spear300

  spear310_defconfig       - Build for spear310

  spear320_defconfig       - Build for spear320

  spear600_defconfig       - Build for spear600

  spitz_defconfig          - Build for spitz

  stamp9g20_defconfig      - Build for stamp9g20

  stmp378x_defconfig       - Build for stmp378x

  stmp37xx_defconfig       - Build for stmp37xx

  sx1_defconfig            - Build for sx1

  tct_hammer_defconfig     - Build for tct_hammer

  trizeps4_defconfig       - Build for trizeps4

  u300_defconfig           - Build for u300

  u8500_defconfig          - Build for u8500

  usb-a9260_defconfig      - Build for usb-a9260

  usb-a9263_defconfig      - Build for usb-a9263

  versatile_defconfig      - Build for versatile

  viper_defconfig          - Build for viper

  xcep_defconfig           - Build for xcep

  yl9200_defconfig         - Build for yl9200

  zeus_defconfig           - Build for zeus


  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build

  make V=2   [targets] 2 => give reason for rebuild of target

  make O=dir [targets] Locate all output files in "dir", including .config

  make C=1   [targets] Check all c source with $CHECK (sparse by default)

  make C=2   [targets] Force check of all c source with $CHECK


Execute "make" or "make all" to build all targets marked with [*] 

For further info see the ./README file


$ make -j8 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

make[1]: `include/generated/mach-types.h' is up to date.

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  Kernel: arch/arm/boot/Image is ready

  SHIPPED arch/arm/boot/compressed/lib1funcs.S

  AS      arch/arm/boot/compressed/lib1funcs.o

  LD      arch/arm/boot/compressed/vmlinux

  OBJCOPY arch/arm/boot/zImage

  Kernel: arch/arm/boot/zImage is ready

  UIMAGE  arch/arm/boot/uImage

"mkimage" command not found - U-Boot images will not be built

  Image arch/arm/boot/uImage is ready 


$ mkimage

The program 'mkimage' is currently not installed. You can install it by typing:

sudo apt-get install u-boot-tools


$ sudo apt-get install u-boot-tools


기본으로는 zImage와 Image가 생성되며

uImage는 커널 컴파일시에 uImage로 해야 생성이 된다.



linux-2.6.35.3/arch/arm/boot$ file *Image

Image:  data

uImage: u-boot legacy uImage, Linux-2.6.35.3, Linux/ARM, OS Kernel Image (Not compressed), 2985820 bytes, Sun Feb  1 22:33:13 2015, Load Address: 0x70008000, Entry Point: 0x70008000, Header CRC: 0x0A03D97E, Data CRC: 0x99B88B34

zImage: Linux kernel ARM boot executable zImage (little-endian)


'embeded > ARM' 카테고리의 다른 글

ARM cortex-a8 neon 활성화 체크  (0) 2015.02.02
i.mx515 uboot cross compile  (0) 2015.02.02
i.mx515 SDMA  (0) 2015.02.02
armv7 errata / kernel  (0) 2015.01.28
NEON enabled?  (0) 2015.01.28
Posted by 구차니