Message ID | 1451919315-18115-1-git-send-email-palminha@synopsys.com |
---|---|
State | New |
Headers | show |
Hi Carlos, On Mon, 2016-01-04 at 14:55 +0000, palminha@synopsys.com wrote: > From: Carlos Palminha <palminha@synopsys.com> > > Cannot compile kernel with INITRAMFS SOURCE option. > Please move this option to a buildroot patch. First of all if your problem is only related to Buildroot then there's not much sense in adding linux-snps-arc@lists.infradead.org which is used for pure Linux kernel discussions. Then even in case of Buildroot CONFIG_INITRAMFS_SOURCE could be a problem only if you don't set Buildroot's BR2_TARGET_ROOTFS_INITRAMFS=y, see how it is done in snps_axs101_defconfig here https://git.busybox.net/buildroot/tree/configs/snps_axs101_defconfig#n7 What happens if BR2_TARGET_ROOTFS_INITRAMFS=y then existing in kernel's defconfig CONFIG_INITRAMFS_SOURCE gets overridden with new value, see https://git.busybox.net/buildroot/tree/linux/linux.mk#n217 Now if you really want to not use built-in kernel initramfs then simplest thing to do is to run "make linux-menuconfig" from your Buildroot's folder and disable or set with nothing CONFIG_INITRAMFS_SOURCE. -Alexey
Hi Alexey, Probably my e-mail comments before the patch mislead you... If you download the kernel source and try to compile it, it won't work because of the INITRAMFS pointing to a non-existing directory. (check log below) That's why that option should be removed from the standard kernel. Regards, C.Palminha palminha@palminha-vm:~/src/kernels/linux-mainline-next$ make axs101_defconfig HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config # palminha@palminha-vm:~/src/kernels/linux-mainline-next$ make scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CC kernel/bounds.s CHK include/generated/bounds.h CHK include/generated/timeconst.h CC arch/arc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTLD scripts/dtc/dtc CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC scripts/kallsyms HOSTCC scripts/pnmtologo HOSTCC scripts/conmakehash HOSTCC scripts/sortextable CC init/main.o CHK include/generated/compile.h CC init/version.o CC init/do_mounts.o CC init/do_mounts_initrd.o LD init/mounts.o CC init/initramfs.o CC init/calibrate.o CC init/init_task.o LD init/built-in.o HOSTCC usr/gen_init_cpio ./scripts/gen_initramfs_list.sh: Cannot open '../arc_initramfs/' usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.gz' failed make[1]: *** [usr/initramfs_data.cpio.gz] Error 1 Makefile:943: recipe for target 'usr' failed make: *** [usr] Error 2 palminha@palminha-vm:~/src/kernels/linux-mainline-next$ On 07-01-2016 23:20, Alexey Brodkin wrote: > Hi Carlos, > > On Mon, 2016-01-04 at 14:55 +0000, palminha@synopsys.com wrote: >> From: Carlos Palminha <palminha@synopsys.com> >> >> Cannot compile kernel with INITRAMFS SOURCE option. >> Please move this option to a buildroot patch. > > First of all if your problem is only related to Buildroot then > there's not much sense in adding linux-snps-arc@lists.infradead.org > which is used for pure Linux kernel discussions. > > Then even in case of Buildroot CONFIG_INITRAMFS_SOURCE could be a problem > only if you don't set Buildroot's BR2_TARGET_ROOTFS_INITRAMFS=y, see > how it is done in snps_axs101_defconfig here > https://git.busybox.net/buildroot/tree/configs/snps_axs101_defconfig#n7 > > What happens if BR2_TARGET_ROOTFS_INITRAMFS=y then existing in kernel's > defconfig CONFIG_INITRAMFS_SOURCE gets overridden with new value, see > https://git.busybox.net/buildroot/tree/linux/linux.mk#n217 > > Now if you really want to not use built-in kernel initramfs then simplest > thing to do is to run "make linux-menuconfig" from your Buildroot's folder > and disable or set with nothing CONFIG_INITRAMFS_SOURCE. > > -Alexey >
On Saturday 09 January 2016 05:55 AM, Carlos Palminha wrote: > Hi Alexey, > > Probably my e-mail comments before the patch mislead you... > If you download the kernel source and try to compile it, it won't work because of the INITRAMFS pointing to a non-existing directory. (check log below) > > That's why that option should be removed from the standard kernel. Since the axs101 DT cmdline lacks any reference to root device - how does this unmodified kernel boot anyways w/o changing DT. Does uboot provide the cmdline for rootfs ? The reason we've had initramfs for ages (vs. relying on uboot) is because we can't have uboot based workflow primarily because Alexey / I have 1 AXS MB and we constantly keep switching between 700 and HS builds. I think you can use KCONFIG_ALLCONFIG (grep in Documentation) to override the INITRAMFS ! -Vineet
Hi Vineet, On Mon, 2016-01-11 at 07:47 +0000, Vineet Gupta wrote: > On Saturday 09 January 2016 05:55 AM, Carlos Palminha wrote: > > Hi Alexey, > > > > Probably my e-mail comments before the patch mislead you... > > If you download the kernel source and try to compile it, it won't work because of the INITRAMFS pointing to a non > > -existing directory. (check log below) > > > > That's why that option should be removed from the standard kernel. > > Since the axs101 DT cmdline lacks any reference to root device - how does this > unmodified kernel boot anyways w/o changing DT. Does uboot provide the cmdline for > rootfs ? Indeed if initramfs is not built-in vmlinux/uImage then kernel command-line must be adjusted to point to real root device. This could be done in 2 ways: [1] Manually modify "bootargs" value in arch/arc/boot/dts/axs10{1|3}.dts [2] In case of U-Boot it's possible to load device tree blob together with uImage and in that case U-Boot's "bootargs" env variable will override the one in .dtb -Alexey
Hi guys, I don't think maintaining that flag this in the kernel is correct... the kernel simply doesn't compile out of the box. If you grep for CONFIG_INITRAMFS_SOURCE, ARC is the only architecture that uses that kernel flag by default pointing to an external directory. I don't think this is proper to have it like this by default from the kernel point of view. Regards, C.Palminha palminha@PALMINHA-E7440 ~/Development/linus.git.linux ((v4.3)) $ grep -r INITRAMFS_SOURCE *|grep configs arch/arc/configs/axs101_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs/" arch/arc/configs/axs103_defconfig:CONFIG_INITRAMFS_SOURCE="../../arc_initramfs_hs/" arch/arc/configs/axs103_smp_defconfig:CONFIG_INITRAMFS_SOURCE="../../arc_initramfs_hs/" arch/arc/configs/nsimosci_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs/" arch/arc/configs/nsimosci_hs_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs_hs/" arch/arc/configs/nsimosci_hs_smp_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs_hs/" arch/arc/configs/nsim_700_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs/" arch/arc/configs/nsim_hs_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs_hs/" arch/arc/configs/nsim_hs_smp_defconfig:CONFIG_INITRAMFS_SOURCE="../arc_initramfs_hs/" arch/arc/configs/tb10x_defconfig:CONFIG_INITRAMFS_SOURCE="../tb10x-rootfs.cpio" arch/mips/configs/nlm_xlr_defconfig:CONFIG_INITRAMFS_SOURCE="" arch/mips/configs/rt305x_defconfig:CONFIG_INITRAMFS_SOURCE="" arch/unicore32/configs/unicore32_defconfig:#CONFIG_INITRAMFS_SOURCE="arch/unicore/ramfs/ramfs_config" arch/xtensa/configs/common_defconfig:CONFIG_INITRAMFS_SOURCE="" On 11-01-2016 07:47, Vineet Gupta wrote: > On Saturday 09 January 2016 05:55 AM, Carlos Palminha wrote: >> Hi Alexey, >> >> Probably my e-mail comments before the patch mislead you... >> If you download the kernel source and try to compile it, it won't work because of the INITRAMFS pointing to a non-existing directory. (check log below) >> >> That's why that option should be removed from the standard kernel. > > Since the axs101 DT cmdline lacks any reference to root device - how does this > unmodified kernel boot anyways w/o changing DT. Does uboot provide the cmdline for > rootfs ? > > The reason we've had initramfs for ages (vs. relying on uboot) is because we can't > have uboot based workflow primarily because Alexey / I have 1 AXS MB and we > constantly keep switching between 700 and HS builds. > > I think you can use KCONFIG_ALLCONFIG (grep in Documentation) to override the > INITRAMFS ! > > -Vineet >
diff --git a/arch/arc/configs/axs101_defconfig b/arch/arc/configs/axs101_defconfig index f1ac981..3d14cf8 100644 --- a/arch/arc/configs/axs101_defconfig +++ b/arch/arc/configs/axs101_defconfig @@ -12,7 +12,6 @@ CONFIG_NAMESPACES=y # CONFIG_UTS_NS is not set # CONFIG_PID_NS is not set CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="../arc_initramfs/" CONFIG_EMBEDDED=y CONFIG_PERF_EVENTS=y # CONFIG_VM_EVENT_COUNTERS is not set
From: Carlos Palminha <palminha@synopsys.com> Cannot compile kernel with INITRAMFS SOURCE option. Please move this option to a buildroot patch. --- arch/arc/configs/axs101_defconfig | 1 - 1 file changed, 1 deletion(-)