AnsweredAssumed Answered

Building the Linux Kernel for S32V234-evb

Question asked by long zhao on Nov 14, 2016
Latest reply on Nov 15, 2016 by long zhao

Hi:

   I need your help. I get a problem when i generate the uImage using the tools of mkimage.Now  Building the Linux Kernel for S32V234-evb。In fact when implement the command:make all ,then there the path:arch/arm64/boot,there is the Image,but i need the uImage,when i implement :

mkimage -A arm64   -O linux -T kernel -C none -a 0xC80080000 -e 0xC80080000 -n "Linux test s32v234-evb"   -d arch/arm64/boot/Image uImage

the error as blow:

Invalid CPU Type - valid names are: alpha, arm, x86, ia64, m68k, microblaze, mips, mips64, nios2, powerpc, ppc, s390, sh, sparc, sparc64, blackfin, avr32, nds32, or1k, sandbox
Usage: mkimage -l image
-l ==> list image header information
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)
mkimage [-D dtc_options] [-f fit-image.its|-F] fit-image
-D => set options for device tree compiler
-f => input filename for FIT source
Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)
mkimage -V ==> print version information and exit

but there is supposed the arm64:

static const table_entry_t uimage_arch[] = {
{ IH_ARCH_INVALID, NULL, "Invalid ARCH", },
{ IH_ARCH_ALPHA, "alpha", "Alpha", },
{ IH_ARCH_ARM, "arm", "ARM", },
{ IH_ARCH_I386, "x86", "Intel x86", },
{ IH_ARCH_IA64, "ia64", "IA64", },
{ IH_ARCH_M68K, "m68k", "M68K", },
{ IH_ARCH_MICROBLAZE, "microblaze", "MicroBlaze",},
{ IH_ARCH_MIPS, "mips", "MIPS", },
{ IH_ARCH_MIPS64, "mips64", "MIPS 64 Bit", },
{ IH_ARCH_NIOS2, "nios2", "NIOS II", },
{ IH_ARCH_PPC, "powerpc", "PowerPC", },
{ IH_ARCH_PPC, "ppc", "PowerPC", },
{ IH_ARCH_S390, "s390", "IBM S390", },
{ IH_ARCH_SH, "sh", "SuperH", },
{ IH_ARCH_SPARC, "sparc", "SPARC", },
{ IH_ARCH_SPARC64, "sparc64", "SPARC 64 Bit", },
{ IH_ARCH_BLACKFIN, "blackfin", "Blackfin", },
{ IH_ARCH_AVR32, "avr32", "AVR32", },
{ IH_ARCH_NDS32, "nds32", "NDS32", },
{ IH_ARCH_OPENRISC, "or1k", "OpenRISC 1000",},
{ IH_ARCH_ARM64, "arm64", "AArch64", },
{ IH_ARCH_SANDBOX, "sandbox", "Sandbox", },
{ IH_ARCH_ARC, "arc", "ARC", },
{ IH_ARCH_X86_64, "x86_64", "AMD x86_64", },
{ -1, "", "", },
};

here is the make help:

   Architecture specific targets (arm64):
   * Image.gz - Compressed kernel image (arch/arm64/boot/Image.gz)
   Image - Uncompressed kernel image (arch/arm64/boot/Image)
   * dtbs - Build device tree blobs for enabled boards
   dtbs_install - Install dtbs to /boot/dtbs/4.1.26-rt29
   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

   s32v234_defconfig - Build for s32v234

Outcomes