So. When trying to do the latest merge, this is what I get on a prep for the -tegra config:
+ mv kernel-3.10.0-armv7hl-tegra.config .config ++ head -1 .config ++ cut -b 3- + Arch=arm + make ARCH=arm listnewconfig + grep -E '^CONFIG_' warning: (VIRTIO_PCI && VIRTIO_MMIO && REMOTEPROC && RPMSG) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION) + '[' -s .newoptions ']' + cat .newoptions CONFIG_ARCH_MULTI_V6 CONFIG_ARCH_MULTI_V7 CONFIG_ARCH_MVEBU CONFIG_ARCH_BCM CONFIG_ARCH_HIGHBANK CONFIG_ARCH_MXC CONFIG_ARCH_OMAP2PLUS CONFIG_ARCH_SOCFPGA CONFIG_PLAT_SPEAR CONFIG_ARCH_SUNXI CONFIG_ARCH_SIRF CONFIG_ARCH_U8500 CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA CONFIG_ARCH_VEXPRESS_CA9X4 CONFIG_ARCH_VIRT CONFIG_ARCH_WM8850 CONFIG_ARCH_ZYNQ + exit 1 error: Bad exit status from /var/tmp/rpm-tmp.JpdsWj (%prep)
Now, looking at the various ARM config files, almost all of those are set in config-armv7. None of them are set in config-armv7-generic or config-armv7-tegra. The questions I have are:
1) What is config-armv7 and why is it different from config-armv7-generic?
2) Why does tegra (and the other boards) not inherit config-armv7 at all and only inherits from temp-armv7-generic (config-armv7-generic + config-generic)?
As it stands right now, either config-armv7-generic needs to inherit all the settings from config-armv7 or they need to be explicitly set in config-armv7-tegra. Explicitly setting them is feasible, but that's a lot of duplication. I've no clue what the setup here is, nor which option is correct.
Can you please tell me which to do so I can continue with this merge? I'd like to get -git12 fixed up and pushed out today.
josh
On Thu, May 2, 2013 at 6:43 PM, Josh Boyer jwboyer@redhat.com wrote:
So. When trying to do the latest merge, this is what I get on a prep for the -tegra config:
- mv kernel-3.10.0-armv7hl-tegra.config .config
++ head -1 .config ++ cut -b 3-
- Arch=arm
- make ARCH=arm listnewconfig
- grep -E '^CONFIG_'
warning: (VIRTIO_PCI && VIRTIO_MMIO && REMOTEPROC && RPMSG) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)
- '[' -s .newoptions ']'
- cat .newoptions
CONFIG_ARCH_MULTI_V6 CONFIG_ARCH_MULTI_V7 CONFIG_ARCH_MVEBU CONFIG_ARCH_BCM CONFIG_ARCH_HIGHBANK CONFIG_ARCH_MXC CONFIG_ARCH_OMAP2PLUS CONFIG_ARCH_SOCFPGA CONFIG_PLAT_SPEAR CONFIG_ARCH_SUNXI CONFIG_ARCH_SIRF CONFIG_ARCH_U8500 CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA CONFIG_ARCH_VEXPRESS_CA9X4 CONFIG_ARCH_VIRT CONFIG_ARCH_WM8850 CONFIG_ARCH_ZYNQ
- exit 1
error: Bad exit status from /var/tmp/rpm-tmp.JpdsWj (%prep)
Now, looking at the various ARM config files, almost all of those are set in config-armv7. None of them are set in config-armv7-generic or config-armv7-tegra. The questions I have are:
- What is config-armv7 and why is it different from
config-armv7-generic?
It's non pae vs pae. I did it the same as x86.
- Why does tegra (and the other boards) not inherit config-armv7 at all
and only inherits from temp-armv7-generic (config-armv7-generic + config-generic)?
Because generic is inherited by the other 3.
As it stands right now, either config-armv7-generic needs to inherit all the settings from config-armv7 or they need to be explicitly set in config-armv7-tegra. Explicitly setting them is feasible, but that's a lot of duplication. I've no clue what the setup here is, nor which option is correct.
Tegra will disappear with 3.10 (at least that's the plans) and the other two are different because they need to be. armv7-generic is the shared bits between the two.
Can you please tell me which to do so I can continue with this merge? I'd like to get -git12 fixed up and pushed out today.
If you can push the changes you have I can fix the issues now.
Peter
On Thu, May 02, 2013 at 06:49:00PM +0100, Peter Robinson wrote:
On Thu, May 2, 2013 at 6:43 PM, Josh Boyer jwboyer@redhat.com wrote:
So. When trying to do the latest merge, this is what I get on a prep for the -tegra config:
- mv kernel-3.10.0-armv7hl-tegra.config .config
++ head -1 .config ++ cut -b 3-
- Arch=arm
- make ARCH=arm listnewconfig
- grep -E '^CONFIG_'
warning: (VIRTIO_PCI && VIRTIO_MMIO && REMOTEPROC && RPMSG) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)
- '[' -s .newoptions ']'
- cat .newoptions
CONFIG_ARCH_MULTI_V6 CONFIG_ARCH_MULTI_V7 CONFIG_ARCH_MVEBU CONFIG_ARCH_BCM CONFIG_ARCH_HIGHBANK CONFIG_ARCH_MXC CONFIG_ARCH_OMAP2PLUS CONFIG_ARCH_SOCFPGA CONFIG_PLAT_SPEAR CONFIG_ARCH_SUNXI CONFIG_ARCH_SIRF CONFIG_ARCH_U8500 CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA CONFIG_ARCH_VEXPRESS_CA9X4 CONFIG_ARCH_VIRT CONFIG_ARCH_WM8850 CONFIG_ARCH_ZYNQ
- exit 1
error: Bad exit status from /var/tmp/rpm-tmp.JpdsWj (%prep)
Now, looking at the various ARM config files, almost all of those are set in config-armv7. None of them are set in config-armv7-generic or config-armv7-tegra. The questions I have are:
- What is config-armv7 and why is it different from
config-armv7-generic?
It's non pae vs pae. I did it the same as x86.
Er... similar I guess. Not the same. x86 has "PAE" in the PAE config :). You do have a config-armv7-lpae, but that is inheriting from config-armv7-generic.
- Why does tegra (and the other boards) not inherit config-armv7 at all
and only inherits from temp-armv7-generic (config-armv7-generic + config-generic)?
Because generic is inherited by the other 3.
What other 3? There's only 3 kernels total right now: armv7hl (config-armv7), armv7hl-lpae (config-armv7-generic), and tegra (config-armv7-generic but not any of the lpae configs).
As it stands right now, either config-armv7-generic needs to inherit all the settings from config-armv7 or they need to be explicitly set in config-armv7-tegra. Explicitly setting them is feasible, but that's a lot of duplication. I've no clue what the setup here is, nor which option is correct.
Tegra will disappear with 3.10 (at least that's the plans) and the other two are different because they need to be. armv7-generic is the shared bits between the two.
Oh. Good.
Can you please tell me which to do so I can continue with this merge? I'd like to get -git12 fixed up and pushed out today.
If you can push the changes you have I can fix the issues now.
I would feel extremely bad if I pushed something to git that didn't even pass 'make prep'. As a compromise, I added this line in kernel.spec:
@@ -1451,6 +1451,8 @@ mkdir configs rm -f kernel-%{version}-*debug.config %endif
+rm -f kernel-%{version}-arm*.config + # now run oldconfig over all the config files
So the ARM configs won't be included in the prep run. That lets things progress on all the other arches for now. Just remove that line, fix things up, and push out.
I'll hold off on doing the build for a bit. Thanks for the quick reply.
josh