[opensuse-kernel] Building an ARM kernel
Aloha oh mighty plumbers, My understanding of the way ARM is lead me to believe that we could not have a single -default kernel. I understood that we would require a separate kernel for each SoC, so one for Ti's OMAP, one for Freescale's iMX, one for Nvidia's Tegra. Is this correct? I have .configs for the three mentioned above which I have placed in kernel-source/config/arm and have added the following to kernel-source/config.conf: # Initial ARM support +arm arm/imx +arm arm/omap +arm arm/tegra I'm struggling with getting a spec file generated, I've added the following to kernel-source/rpm/kernel-binary.spec.in: %ifarch %arm add_vmlinux --compressed image=zImage cp -p arch/arm/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor %endif Now I'll admit I'm not sure if the above is correct, but I was hoping to find out by trial and error (maybe not the best way but it does help in the learning process). My understanding is that I would get a kernel-arm.spec created, but I don't see anything of the sorts when I run the tar-up.sh. Also, do I need to add the following to the above spec.in: %define build_imx (%build_flavor == "imx") %define build_omap (%build_flavor == "omap") %define build_tegra (%build_flavor == "tegra") Thanks for putting up with my questions, and thanks for your help :-) Andy -- Andrew Wafaa IRC: FunkyPenguin GPG: 0x3A36312F -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/26/2011 07:10 AM, Andrew Wafaa wrote:
Aloha oh mighty plumbers,
My understanding of the way ARM is lead me to believe that we could not have a single -default kernel. I understood that we would require a separate kernel for each SoC, so one for Ti's OMAP, one for Freescale's iMX, one for Nvidia's Tegra. Is this correct?
Yep. Hopefully only for now. :)
I have .configs for the three mentioned above which I have placed in kernel-source/config/arm and have added the following to kernel-source/config.conf:
# Initial ARM support +arm arm/imx +arm arm/omap +arm arm/tegra
I'm struggling with getting a spec file generated, I've added the following to kernel-source/rpm/kernel-binary.spec.in:
%ifarch %arm add_vmlinux --compressed image=zImage cp -p arch/arm/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor %endif
Now I'll admit I'm not sure if the above is correct, but I was hoping to find out by trial and error (maybe not the best way but it does help in the learning process). My understanding is that I would get a kernel-arm.spec created, but I don't see anything of the sorts when I run the tar-up.sh.
Actually, I think the comment at the top of config.conf might help: # See the arch-symbols script for a list of symbols defined. I haven't tested it, but you might need to add 'arm' to the output of - --list.
Also, do I need to add the following to the above spec.in:
%define build_imx (%build_flavor == "imx") %define build_omap (%build_flavor == "omap") %define build_tegra (%build_flavor == "tegra")
Only if you need to use them. The build_* defines are only for where conditionals are needed in the spec file. Thanks for the great work! - -Jeff - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOqBeVAAoJEB57S2MheeWyl7wP/1o2+0W1jy/+YLHqiPiDsibi n3vN2FvhikC9YLOYNgnrCPMjVSDX0lS80JXgylGIBrurZ9jvT5tYnv/+IioWt1K3 kfmbvqgnOEK73eSLmpGUUDmTzl6Oj3lYTtfgtFSzts0U/6O8k8OQRTWL9J1HCZWp d88ObQZD3t0SM89cDAdTMlnBCTlNLaH+CWSbRO88O+ot6wvR71JGrvWWUGygXGTL 8TtQxxrG/GixvQvC4yoER/K3UTNjhT2PKMuWuFBnhpQLiQL0s0PbJluIIy2bgZCE Vy2v150FDvsiMEEAIPuD6tKUCJOXXeCqtHBQf3uzU1nB/FG5mhDHWtqC6gdj0Kw5 sySuJmZL6YB6kczPjb/TMudg7vdxp3zlUj1NISNQzZ4p2juuMWfLA7jb0zyJdU26 6u9fcyP7FFO1BuP9/ifmaODab4OYB0SoLM6LVlsU8jWPIbZxjxeEPe2YcR4AQftO a3xTEPRbqeSQqkkIWwOg5A8bkebFyuJES4gmfngML1l1LqbTAYXYCzj24dNEi/94 aa0RX8MI8cLU6cK7Ab4rwjCoqnjoi/ZlAT5gnDu9HNaFWgMLfUJag6jA7wqdjdx0 zxcHFQ+8lD9c4mgbYSvxNZqnGEgVhk4Q5na5Q6vHzXxLYIc9NFZPjBAaf/9nGuNj GVl+BlF5XpbLgGZanS8i =YtyK -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On 26 October 2011 15:22, Jeff Mahoney <jeffm@suse.de> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 10/26/2011 07:10 AM, Andrew Wafaa wrote:
Aloha oh mighty plumbers,
My understanding of the way ARM is lead me to believe that we could not have a single -default kernel. I understood that we would require a separate kernel for each SoC, so one for Ti's OMAP, one for Freescale's iMX, one for Nvidia's Tegra. Is this correct?
Yep. Hopefully only for now. :)
OK so that is good news :)
I have .configs for the three mentioned above which I have placed in kernel-source/config/arm and have added the following to kernel-source/config.conf:
# Initial ARM support +arm arm/imx +arm arm/omap +arm arm/tegra
I'm struggling with getting a spec file generated, I've added the following to kernel-source/rpm/kernel-binary.spec.in:
%ifarch %arm add_vmlinux --compressed image=zImage cp -p arch/arm/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor %endif
Now I'll admit I'm not sure if the above is correct, but I was hoping to find out by trial and error (maybe not the best way but it does help in the learning process). My understanding is that I would get a kernel-arm.spec created, but I don't see anything of the sorts when I run the tar-up.sh.
Actually, I think the comment at the top of config.conf might help:
# See the arch-symbols script for a list of symbols defined.
I haven't tested it, but you might need to add 'arm' to the output of - --list.
Yup, I added arm to the list in arch-symbols and hey presto.
Also, do I need to add the following to the above spec.in:
%define build_imx (%build_flavor == "imx") %define build_omap (%build_flavor == "omap") %define build_tegra (%build_flavor == "tegra")
Only if you need to use them. The build_* defines are only for where conditionals are needed in the spec file.
I now think I'm going mad, I cant remember where on earth I added the above. The result is a separate spec file for each SoC which is what I was expecting so maybe I'm not too far from the mark, although tar-up.sh does complain about no Description for the new spec files.
Thanks for the great work!
Thank you for all your help and support. One last thing, how do you want me to send my changes, and can i just copy the contents of the result of tar-up.sh to my branch of kernel-source on obs?
- -Jeff
Thanks again. Andy -- Andrew Wafaa IRC: FunkyPenguin GPG: 0x3A36312F -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/26/2011 11:30 AM, Andrew Wafaa wrote:
I now think I'm going mad, I cant remember where on earth I added the above. The result is a separate spec file for each SoC which is what I was expecting so maybe I'm not too far from the mark, although tar-up.sh does complain about no Description for the new spec files.
That's easy enough to fix -- check out rpm/package-descriptions and add your descriptions there.
One last thing, how do you want me to send my changes, and can i just copy the contents of the result of tar-up.sh to my branch of kernel-source on obs?
Your best bet is to create a commit against your copy of the git repository and ask Michal to pull it. The OBS project is created from that. Then the question is how much involvement you want in maintaining it. There are two options: The first is how all of our kernel flavors work - -- leave it uncommented in config.conf and I'll merge in new config options/changes automatically. The second is how Jan Engelhardt maintains the sparc flavors. Those are commented out in config.conf and he explicitly sends us updates when he wants them merged. Personally, I'd recommend the first option with updates when you want something different to happen. For your own building, yes, copying the results of tar-up.sh to your own project will work. - -Jeff - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOqClWAAoJEB57S2MheeWy0GQQAI/2gyK55N5s2afPu2V47AfZ s9+Pu50LS2HzzS00IaeudWuc8OQHMJ9gKOdiDY4zNamVHhayjVm2xPbgDHydZ1pR n+oFJ2ZJTH74JtFDHQgW91dhVJ4inlM8meF6kY1J9wJR4GSE0mt1P/f1jzj9bw4W klfzao+tTR8IDSlpSG/ju/NPA6Cal5gtgbTFM981iun8B3cQDSHebO/P8l0OKBPj 6ApvbHSuGTIwaNvQcxCMLK+KLXuYiMvJU7Icaa+hJbEushmEjQZ7RPCfzkf9e0HQ Gv0rf2jSyW0y6a/45JVgn8lnEnZ5Wn5kfZiPsQ6WrJqqZSVvA5voMh8bQGZcdPAO xvAup0G9Qg2CB3T9aODGficYj8+gIiLbKZiu0q1a0j7Ae+Y+prc42XEu/JCfP0Bx 8vvZiQg9wHJK1x2jgJh56yd+iSnG/fTfmzEA60l6FUl39DGcjsSWtW4HY4RcAs6p uSrEEakOPU8xCKaVkleuPWSbgj4I1w1wPVkMHaco9ZbrPJcQzQbaPMYxMJsrtsIO S+AmpJJUhSeDCaaaiMrxKUikI1p7GXiyjUl8LTdnScP4w9P3T4xLlCGQe5iKo0cY maGcPDvEe3Omd1RoNs8DxafpnGWi9FTMd1/uKTW1/u7nLX4GkxgysXtQn8gYV6Ld SytYfbAn84FWba6t1cdR =xXJi -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Wednesday 26 October 2011 01:10:59 pm Andrew Wafaa wrote:
Aloha oh mighty plumbers,
My understanding of the way ARM is lead me to believe that we could not have a single -default kernel. I understood that we would require a separate kernel for each SoC, so one for Ti's OMAP, one for Freescale's iMX, one for Nvidia's Tegra. Is this correct?
Today it is. However arm maintainers have worked together during the kernel summit workshop to hopefully be able to have a single kernel image covering more than one family, in a near future. My understanding (but I am no arm expert by any means) is that it may not be possible to convert all families that way, but at least this should drastically limit the number of kernel flavors. -- Jean Delvare Suse L3 -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/26/2011 10:47 AM, Jean Delvare wrote:
On Wednesday 26 October 2011 01:10:59 pm Andrew Wafaa wrote:
Aloha oh mighty plumbers,
My understanding of the way ARM is lead me to believe that we could not have a single -default kernel. I understood that we would require a separate kernel for each SoC, so one for Ti's OMAP, one for Freescale's iMX, one for Nvidia's Tegra. Is this correct?
Today it is. However arm maintainers have worked together during the kernel summit workshop to hopefully be able to have a single kernel image covering more than one family, in a near future. My understanding (but I am no arm expert by any means) is that it may not be possible to convert all families that way, but at least this should drastically limit the number of kernel flavors.
\o/ - -Jeff - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOqCK3AAoJEB57S2MheeWyt8kP/2+PczA2/fD1bsmm/8Gsb1Lj Ajr/ingRwYzlrtpqEGI9RFdAyKQPQ4n3brJEozDZhnEwB2o7OR07gJMiSda7cpAR r+b/UyghuvS7Bug9k51ieEIaGY6cuw66nhnjBdQQlrjhrMSddX0rd5mWbwZ7MSLB v5ypin8mzu74zu8Pwb+52vgzjMHFEpRk73FdXWW0ogsTCj41YY7Gy9+/8r6korC9 ckTAmAXIl/YkemW5qDdtB+5WkaLE4XXKdxiVc4ibId6xpLqKA+pEzzl/XjZBprrG JOq7CAMB0FKRoyuckcEj7pPj5ThZMsBC1lhprSOlnNufquPRCtUKimLxAEYg9Xf8 mGzqR9X1ZsaY7R2BIt5xnPBlOYUQN3r8JdpyUXTjNK8Uukz+QLcOuqfXG9wruYsR i9Q4TcAiPgJEPMAvnClJv+DS3KnILYwtQm5U21gH0nn9e6lD249KoGgSGG/LMV9x pAA8bt+WG3PCAoeoygeJUrdNp3ss+J5nhHB2W3YUJEMcxoGS+EjXT9qTFElD/PfL FUTNaLy0d66yZCg9a6k1YDQ4NI7ja/FSlW4XFeifYYb3vOP+nSnY1o8KFE4cgFOk cqiWST4ZQjD/4vzc1e5pPZWGjEZ0G7/XDjvA+aG6EfZ5XQ65EOYPPx+TvBqQ81is GtPCP599DrRRmdtsFAGe =Ar6n -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (3)
-
Andrew Wafaa
-
Jean Delvare
-
Jeff Mahoney