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

Reply via email to