hi, a11: I am trying to build rtems with kbuild on linux. just a hobby, make rtems easier to build on linux. not support freebsd, windows... (I guess some company don't use windows or linux, securty is critical for them. for small companies, e.g. shenzhen small companies, convenien is more important.) but this may make it hard to ship a bsp in lib. anyway, just for fun. :D for more infomation about kbuild building and config, there maybe some video on youtube: compile linux kernel.
repo: (push later) http://github.com/zhang3/rtems-kbuild here is some build log: - - - - rtems@book:~/rtems-kbuild$ make CC c/src/lib/libcpu/arm/s3c24xx/clock/clockdrv.o CC c/src/lib/libcpu/arm/s3c24xx/clock/support.o LD c/src/lib/libcpu/arm/s3c24xx/clock/built-in.o CC c/src/lib/libcpu/arm/s3c24xx/irq/irq.o LD c/src/lib/libcpu/arm/s3c24xx/irq/built-in.o CC c/src/lib/libcpu/arm/s3c24xx/timer/timer.o LD c/src/lib/libcpu/arm/s3c24xx/timer/built-in.o LD c/src/lib/libcpu/arm/s3c24xx/built-in.o LINK vmlinux LD vmlinux.o arm-rtems-ld: cannot find arch/arm/kernel/head.o: No such file or directory c/src/lib/libcpu/arm/s3c24xx/: file not recognized: Is a directory Makefile:970: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1 - - - - rtems@book:~/rtems-kbuild$ make V=1 make -f ./scripts/Makefile.build obj=c/src/lib/libcpu/arm/s3c24xx make -f ./scripts/Makefile.build obj=c/src/lib/libcpu/arm/s3c24xx/clock arm-rtems-gcc -Wp,-MD,c/src/lib/libcpu/arm/s3c24xx/clock/.clockdrv.o.d -Ic/src/lib/libcpu/arm/s3c24xx/include -Ic/src/lib/libcpu/arm/include -Ic/src/lib/libcpu/arm/shared/include -Icpukit/score/include -Icpukit/dev/include -Icpukit/include -Icpukit/score/cpu/arm -Ibsp-include -DHAVE_CONFIG_H -DCPU_S3C2410 -D__rtems__ -mlittle-endian -Ic/src/lib/libcpu/arm/s3c24xx/include -fno-dwarf2-cfi-asm -fno-ipa-sra -marm -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCPU_S3C2410 -specs ./c/src/lib/libbsp/arm/smdk2410/bsp_specs -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(clockdrv)" -D"KBUILD_MODNAME=KBUILD_STR(clockdrv)" -c -o c/src/lib/lib cpu/arm/s3c24xx/clock/clockdrv.o c/src/lib/libcpu/arm/s3c24xx/clock/clockdrv.c arm-rtems-gcc -Wp,-MD,c/src/lib/libcpu/arm/s3c24xx/clock/.support.o.d -Ic/src/lib/libcpu/arm/s3c24xx/include -Ic/src/lib/libcpu/arm/include -Ic/src/lib/libcpu/arm/shared/include -Icpukit/score/include -Icpukit/dev/include -Icpukit/include -Icpukit/score/cpu/arm -Ibsp-include -DHAVE_CONFIG_H -DCPU_S3C2410 -D__rtems__ -mlittle-endian -Ic/src/lib/libcpu/arm/s3c24xx/include -fno-dwarf2-cfi-asm -fno-ipa-sra -marm -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCPU_S3C2410 -specs ./c/src/lib/libbsp/arm/smdk2410/bsp_specs -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(support)" -D"KBUILD_MODNAME=KBUILD_STR(support)" -c -o c/src/lib/libcpu /arm/s3c24xx/clock/support.o c/src/lib/libcpu/arm/s3c24xx/clock/support.c arm-rtems-ld -EL -r -o c/src/lib/libcpu/arm/s3c24xx/clock/built-in.o c/src/lib/libcpu/arm/s3c24xx/clock/clockdrv.o c/src/lib/libcpu/arm/s3c24xx/clock/support.o (cat /dev/null; ) > c/src/lib/libcpu/arm/s3c24xx/clock/modules.order make -f ./scripts/Makefile.build obj=c/src/lib/libcpu/arm/s3c24xx/irq arm-rtems-gcc -Wp,-MD,c/src/lib/libcpu/arm/s3c24xx/irq/.irq.o.d -Ic/src/lib/libcpu/arm/s3c24xx/include -Ic/src/lib/libcpu/arm/include -Ic/src/lib/libcpu/arm/shared/include -Icpukit/score/include -Icpukit/dev/include -Icpukit/include -Icpukit/score/cpu/arm -Ibsp-include -DHAVE_CONFIG_H -DCPU_S3C2410 -D__rtems__ -mlittle-endian -Ic/src/lib/libcpu/arm/s3c24xx/include -fno-dwarf2-cfi-asm -fno-ipa-sra -marm -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCPU_S3C2410 -specs ./c/src/lib/libbsp/arm/smdk2410/bsp_specs -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(irq)" -D"KBUILD_MODNAME=KBUILD_STR(irq)" -c -o c/src/lib/libcpu/arm/s3c24xx/i rq/irq.o c/src/lib/libcpu/arm/s3c24xx/irq/irq.c arm-rtems-ld -EL -r -o c/src/lib/libcpu/arm/s3c24xx/irq/built-in.o c/src/lib/libcpu/arm/s3c24xx/irq/irq.o (cat /dev/null; ) > c/src/lib/libcpu/arm/s3c24xx/irq/modules.order make -f ./scripts/Makefile.build obj=c/src/lib/libcpu/arm/s3c24xx/timer arm-rtems-gcc -Wp,-MD,c/src/lib/libcpu/arm/s3c24xx/timer/.timer.o.d -Ic/src/lib/libcpu/arm/s3c24xx/include -Ic/src/lib/libcpu/arm/include -Ic/src/lib/libcpu/arm/shared/include -Icpukit/score/include -Icpukit/dev/include -Icpukit/include -Icpukit/score/cpu/arm -Ibsp-include -DHAVE_CONFIG_H -DCPU_S3C2410 -D__rtems__ -mlittle-endian -Ic/src/lib/libcpu/arm/s3c24xx/include -fno-dwarf2-cfi-asm -fno-ipa-sra -marm -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fno-var-tracking-assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCPU_S3C2410 -specs ./c/src/lib/libbsp/arm/smdk2410/bsp_specs -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(timer)" -D"KBUILD_MODNAME=KBUILD_STR(timer)" -c -o c/src/lib/libcpu/arm/s 3c24xx/timer/timer.o c/src/lib/libcpu/arm/s3c24xx/timer/timer.c arm-rtems-ld -EL -r -o c/src/lib/libcpu/arm/s3c24xx/timer/built-in.o c/src/lib/libcpu/arm/s3c24xx/timer/timer.o (cat /dev/null; ) > c/src/lib/libcpu/arm/s3c24xx/timer/modules.order arm-rtems-ld -EL -r -o c/src/lib/libcpu/arm/s3c24xx/built-in.o c/src/lib/libcpu/arm/s3c24xx/clock/built-in.o c/src/lib/libcpu/arm/s3c24xx/irq/built-in.o c/src/lib/libcpu/arm/s3c24xx/timer/built-in.o (cat /dev/null; cat c/src/lib/libcpu/arm/s3c24xx/clock/modules.order; cat c/src/lib/libcpu/arm/s3c24xx/irq/modules.order; cat c/src/lib/libcpu/arm/s3c24xx/timer/modules.order;) > c/src/lib/libcpu/arm/s3c24xx/modules.order /bin/bash scripts/link-vmlinux.sh arm-rtems-ld -EL -p --no-undefined -X --pic-veneer --build-id + '[' arm-rtems-ld = clean ']' + case "${KCONFIG_CONFIG}" in + . ./.config ++ CONFIG_ARM=y ++ CONFIG_SYS_SUPPORTS_APM_EMULATION=y ++ CONFIG_STACKTRACE_SUPPORT=y ++ CONFIG_HAVE_LATENCYTOP_SUPPORT=y ++ CONFIG_LOCKDEP_SUPPORT=y ++ CONFIG_TRACE_IRQFLAGS_SUPPORT=y ++ CONFIG_RWSEM_XCHGADD_ALGORITHM=y ++ CONFIG_FIX_EARLYCON_MEM=y ++ CONFIG_GENERIC_HWEIGHT=y ++ CONFIG_GENERIC_CALIBRATE_DELAY=y ++ CONFIG_NEED_DMA_MAP_STATE=y ++ CONFIG_ARCH_SUPPORTS_UPROBES=y ++ CONFIG_VECTORS_BASE=0xffff0000 ++ CONFIG_ARM_PATCH_PHYS_VIRT=y ++ CONFIG_NEED_MACH_IO_H=y ++ CONFIG_PGTABLE_LEVELS=2 ++ CONFIG_MMU=y ++ CONFIG_ARCH_S3C24XX=y ++ CONFIG_MULTI_IRQ_HANDLER=y ++ CONFIG_VMSPLIT_3G=y ++ CONFIG_PAGE_OFFSET=0xC0000000 ++ CONFIG_ARCH_NR_GPIO=512 ++ CONFIG_HZ_FIXED=200 ++ CONFIG_HZ=200 ++ CONFIG_HAVE_ARCH_PFN_VALID=y ++ CONFIG_CPU_SW_DOMAIN_PAN=y ++ CONFIG_ARCH_WANT_GENERAL_HUGETLB=y ++ CONFIG_FORCE_MAX_ZONEORDER=11 ++ CONFIG_SWIOTLB=y ++ CONFIG_IOMMU_HELPER=y ++ CONFIG_USE_OF=y ++ CONFIG_ATAGS=y ++ CONFIG_ZBOOT_ROM_TEXT=0x0 ++ CONFIG_ZBOOT_ROM_BSS=0x0 ++ CONFIG_CMDLINE= ++ CONFIG_AUTO_ZRELADDR=y + info LD vmlinux.o + '[' '' '!=' silent_ ']' + printf ' %-7s %s\n' LD vmlinux.o LD vmlinux.o + modpost_link vmlinux.o + arm-rtems-ld -EL -r -o vmlinux.o arch/arm/kernel/head.o --start-group c/src/lib/libcpu/arm/s3c24xx/ --end-group arm-rtems-ld: cannot find arch/arm/kernel/head.o: No such file or directory c/src/lib/libcpu/arm/s3c24xx/: file not recognized: Is a directory + on_exit + '[' 1 -ne 0 ']' + cleanup + rm -f .old_version + rm -f .tmp_System.map + rm -f '.tmp_kallsyms*' + rm -f .tmp_version + rm -f '.tmp_vmlinux*' + rm -f System.map + rm -f vmlinux + rm -f vmlinux.o Makefile:970: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1 ... duhuanpeng. ... duhuanpeng. _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel