arc: Removed local initramfs source file from axs101 configuration.
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
From: Carlos Palminha <[email protected]>
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(-)
arch/arc/configs/axs101_defconfig +0 -1
@@ -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
Signature · 1 line
2.5.0
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
Hi Carlos,
Quoted 4 lines · On Mon, 2016-01-04@14:55 +0000, [email protected] wrote:
From: Carlos Palminha <palminha at 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 at 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
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
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 at 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 at 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 at palminha-vm:~/src/kernels/linux-mainline-next$
Quoted 27 lines · Alexey Brodkin
Hi Carlos,
Quoted 4 lines · On Mon, 2016-01-04@14:55 +0000, [email protected] wrote:
From: Carlos Palminha <palminha at 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 at lists.infradead.org which is used for pure Linux kernel discussions.
Then even in case of Buildroot
CONFIG_INITRAMFS_SOURCEcould be a problem only if you don't set Buildroot's BR2_TARGET_ROOTFS_INITRAMFS=y, see how it is done insnps_axs101_defconfighere
https://git.busybox.net/buildroot/tree/configs/snps_axs101_defconfig#n7What happens if BR2_TARGET_ROOTFS_INITRAMFS=y then existing in kernel's defconfig
CONFIG_INITRAMFS_SOURCEgets overridden with new value, see
https://git.busybox.net/buildroot/tree/linux/linux.mk#n217Now 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
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
Quoted 6 lines · Carlos Palminha
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
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
Hi Vineet,
Quoted 7 lines · Vineet Gupta
Quoted 6 lines · Carlos Palminha
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)
Quoted 5 lines
Quoted 1 line
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
PATCH 1/1 arc: Removed local initramfs source file from axs101 configuration.
In reply to Vineet GuptaHi 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 at 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=""
Quoted 21 lines · Vineet Gupta
Quoted 6 lines · Carlos Palminha
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