Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Andrew Lunn and...@lunn.ch wrote: Not quite, as 3.11 comes with DT for the sheeva plug, but that DT lacks ethernet support. Hi Marc I've not tested it, but ethernet should work. Adding DT support to the ethernet driver took time, so during the transition, we instantiated ethernet using old style platform_driver. If it really does not work, it is a bug, which i will fix and get put into stable. Feel free to ask me about such issues. Sheeva Plug without DT works on 3.11, but there isn't any Ethernet with 3.11 and appended DT. I'm in 3.12 with my proposed patches and everything is fine. Marc -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Hi Marc I've not tested it, but ethernet should work. Adding DT support to the ethernet driver took time, so during the transition, we instantiated ethernet using old style platform_driver. If it really does not work, it is a bug, which i will fix and get put into stable. Feel free to ask me about such issues. Sheeva Plug without DT works on 3.11, but there isn't any Ethernet with 3.11 and appended DT. I'm in 3.12 with my proposed patches and everything is fine. So i looked at 3.11. The code is there to start the ethernet on Sheeva plug. So it is not obvious why it does not work. If you are happy with 3.12, i won't debug further. But if 3.11 is of interest, i can help figure out what is wrong. Andrew -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Not quite, as 3.11 comes with DT for the sheeva plug, but that DT lacks ethernet support. Hi Marc I've not tested it, but ethernet should work. Adding DT support to the ethernet driver took time, so during the transition, we instantiated ethernet using old style platform_driver. If it really does not work, it is a bug, which i will fix and get put into stable. Feel free to ask me about such issues. Andrew -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Sun, 2013-12-15 at 21:13 +0100, Marc Kleine-Budde wrote: On 12/06/2013 09:31 AM, Ian Campbell wrote: [...] This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? v3.11+DT works on Sheeva Plug, just tested it. That's good. Do you know if v3.10 or earlier shipped a DT in the kernel package? I just noticed that the Ethernet is missing with v3.11+DT. Hrm, that's rather unfortunate. I suppose a field describing the minimum kernel version for dtb support is the only way to go here. :-/ At least the linux-version tool is available to simplify the logic. Ethernet support was added with v3.12-rc1~114^2~10^2~12. So probably don't want to use v3.11-DT on the Sheeva Plug. Indeed not. Ian. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/06/2013 09:31 AM, Ian Campbell wrote: [...] This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? v3.11+DT works on Sheeva Plug, just tested it. That's good. Do you know if v3.10 or earlier shipped a DT in the kernel package? I just noticed that the Ethernet is missing with v3.11+DT. Ethernet support was added with v3.12-rc1~114^2~10^2~12. So probably don't want to use v3.11-DT on the Sheeva Plug. Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Quoting Marc Kleine-Budde (m...@blackshift.org): Package: flash-kernel Version: 3.11 Severity: normal Tags: patch Hello, I've two patches to support DT based kernel on Sheeva Plug. These patches are needed to boot 3.12 (which is currently in experimental). I actually know nearly nothing about these kind of things but it seems to me that we should be able to commi tthis without a big risk to break anything. Cyril, objections? signature.asc Description: Digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Christian PERRIER bubu...@debian.org (2013-12-07): Quoting Marc Kleine-Budde (m...@blackshift.org): Package: flash-kernel Version: 3.11 Severity: normal Tags: patch Hello, I've two patches to support DT based kernel on Sheeva Plug. These patches are needed to boot 3.12 (which is currently in experimental). I actually know nearly nothing about these kind of things but it seems to me that we should be able to commi tthis without a big risk to break anything. Cyril, objections? I'd rather see Martin or Ian come to a conclusion on their own, given the length of the thread already, and the DT-specific subtleties. Mraw, KiBi. signature.asc Description: Digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Thu, 2013-12-05 at 18:42 +0100, Marc Kleine-Budde wrote: On 12/05/2013 06:01 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:39 +0100, Marc Kleine-Budde wrote: On 12/05/2013 01:15 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. Indeed. Actually, now that I think about it -- a non-DT aware kernel just shouldn't care if you append a DT to it, it won't ever go looking. It's probably safe to just append it unconditionally. Yes, should be safe. Which is what you did, so we've come full circle, sorry for the distraction. It's good to talk about the implications. If we want to handle downgrading of kernels with an updated flash-kernel, I think, that cannot be done without an additional Kernel-Version field. This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? v3.11+DT works on Sheeva Plug, just tested it. That's good. Do you know if v3.10 or earlier shipped a DT in the kernel package? I was thinking of the following scenario: I have installed current flash-kernel (without DT support) and kernel v3.11. Then the new flash-kernel with append-DT-if-present-in-the-Kernel-package feature is released together with a new DT only kernel (=v3.12). I upgrade, because I want to have the shiny new kernel. For whatever reason I want to downgrade to v3.11, then I end up with v3.11 with DT, because the flash-kernel is still the new one. Right, this is the scenario I am worried about. The system does not behave as I expected. I downgraded to the same kernel but now the DT Sheeva Plug is booted. Ideally v3.11+DT would work well enough that the user wouldn't care about the difference. even if not I think so long as v3.11+DT works well enough to be able to manually fix things (e.g. by downgrading f-k) then this would be an acceptable trade-off to support such partial upgrades. Although the bootloader sets the ARCH number, an attached DT seems to be preferred. That is what I would expect, yes. I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? I don't have physical access to that Sheeva Plug. Hrm, this would be something which would be good to try somewhere. On Wheezy there is no Sheevaplug DTB to attach... Oh yes, of course. Now I think of it the Wheezy kirkwood kernel did have DT and APPENDED_DTB support enabled, in order to support dreamplugs. http://packages.debian.org/wheezy/armel/linux-image-3.2.0-4-kirkwood/filelist Wheezy has two dtb files: /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-dreamplug.dtb /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-iconnect.dtb I have a feeling that would mean that it wouldn't boot if you appended a dtb to it. Which would mean we do have to think about versioned checks or something. Just stating the obvious: The Sheeva Plug probably wouldn't boot if I attach a dreamplug dtb to it. :) Right, I was thinking/worrying that it won't boot if you
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/06/2013 09:31 AM, Ian Campbell wrote: It's good to talk about the implications. If we want to handle downgrading of kernels with an updated flash-kernel, I think, that cannot be done without an additional Kernel-Version field. This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? v3.11+DT works on Sheeva Plug, just tested it. That's good. Do you know if v3.10 or earlier shipped a DT in the kernel package? There is no DT for Sheeva Plug in Debian's v3.10, but 25 dtb in total. I was thinking of the following scenario: I have installed current flash-kernel (without DT support) and kernel v3.11. Then the new flash-kernel with append-DT-if-present-in-the-Kernel-package feature is released together with a new DT only kernel (=v3.12). I upgrade, because I want to have the shiny new kernel. For whatever reason I want to downgrade to v3.11, then I end up with v3.11 with DT, because the flash-kernel is still the new one. Right, this is the scenario I am worried about. The system does not behave as I expected. I downgraded to the same kernel but now the DT Sheeva Plug is booted. Ideally v3.11+DT would work well enough that the user wouldn't care about the difference. even if not I think so long as v3.11+DT works well enough to be able to manually fix things (e.g. by downgrading f-k) then this would be an acceptable trade-off to support such partial upgrades. Yes works for me. Although the bootloader sets the ARCH number, an attached DT seems to be preferred. That is what I would expect, yes. I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? I don't have physical access to that Sheeva Plug. Hrm, this would be something which would be good to try somewhere. On Wheezy there is no Sheevaplug DTB to attach... Oh yes, of course. Now I think of it the Wheezy kirkwood kernel did have DT and APPENDED_DTB support enabled, in order to support dreamplugs. http://packages.debian.org/wheezy/armel/linux-image-3.2.0-4-kirkwood/filelist Wheezy has two dtb files: /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-dreamplug.dtb /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-iconnect.dtb I have a feeling that would mean that it wouldn't boot if you appended a dtb to it. Which would mean we do have to think about versioned checks or something. Just stating the obvious: The Sheeva Plug probably wouldn't boot if I attach a dreamplug dtb to it. :) Right, I was thinking/worrying that it won't boot if you attach any DTB to it, including a newer one for the shivaplug. But of course f-k wouldn't ever do that. So the only concern is intermediate kernel versions which have a DT file but prefer non-DT operation. As I say I think so long as it boots well enough to allow repair then this is ok. In Debian, v3.11 is the first kernel that ships with a Sheeva Plug DT and that works for me. Do shivaplugs typically provide u-boot console access as standard or does that require soldering and/or cracking the case open? No, just plug in a Mini USB Cable and you have a serial console (and a JTAG for debricking via openocd). Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/05/2013 11:43 AM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-04 14:23]: Hello, I've two patches to support DT based kernel on Sheeva Plug. These patches are needed to boot 3.12 (which is currently in experimental). When I spoke to Ian Campbell recently, I got the impression that the plan was to keep devices that were not using DT in wheezy as non-DT in future releases. So maybe the kernel config for 3.12 should be changed? That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug This patch was first released on mainline linux in v3.12-rc1. Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
* Marc Kleine-Budde m...@blackshift.org [2013-12-04 14:23]: Hello, I've two patches to support DT based kernel on Sheeva Plug. These patches are needed to boot 3.12 (which is currently in experimental). When I spoke to Ian Campbell recently, I got the impression that the plan was to keep devices that were not using DT in wheezy as non-DT in future releases. So maybe the kernel config for 3.12 should be changed? -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
* Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Thu, 2013-12-05 at 11:34 +, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. Yes :-/ Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. That was my thought -- whether flash-kernel would ignore the DT if it wasn't present in the kernel package or if it would fail? We want to support upgrading flash-kernel without upgrading the kernel, or if you want to downgrade your kernel for some reason, so it needs to cope gracefully. We probably do need some sort of relationship between the kernel image and f-k though such that f-k gets upgraded at the same time. Since we don't have a dependency (because some platforms don't need/use f-k) what should that relationship be? Does a Breaks do the trick? Ian. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood Kernel-Version: 3.12 U-Boot-Kernel-Address: 0x8000 U-Boot-Initrd-Address: 0x0 Boot-Kernel-Path: /boot/uImage Boot-Initrd-Path: /boot/uInitrd Required-Packages: u-boot-tools Bootloader-Sets-Root: no Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood Kernel-Version: = 3.12 DTB-Id: kirkwood-sheevaplug.dtb DTB-Append: yes U-Boot-Kernel-Address: 0x8000 U-Boot-Initrd-Address: 0x0 Boot-Kernel-Path: /boot/uImage Boot-Initrd-Path: /boot/uInitrd Boot-DTB-Path: dtb Required-Packages: u-boot-tools Bootloader-Sets-Root: no Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). I take it from your original patches that the machine ID differs with DT vs non as well? Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood Kernel-Version: 3.12 U-Boot-Kernel-Address: 0x8000 U-Boot-Initrd-Address: 0x0 Boot-Kernel-Path: /boot/uImage Boot-Initrd-Path: /boot/uInitrd Required-Packages: u-boot-tools Bootloader-Sets-Root: no Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood Kernel-Version: = 3.12 DTB-Id: kirkwood-sheevaplug.dtb DTB-Append: yes U-Boot-Kernel-Address: 0x8000 U-Boot-Initrd-Address: 0x0 Boot-Kernel-Path: /boot/uImage Boot-Initrd-Path: /boot/uInitrd Boot-DTB-Path: dtb Required-Packages: u-boot-tools Bootloader-Sets-Root: no Marc -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. I take it from your original patches that the machine ID differs with DT vs non as well? Yes, this is why the second patch adds another entry. Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. Indeed. Actually, now that I think about it -- a non-DT aware kernel just shouldn't care if you append a DT to it, it won't ever go looking. It's probably safe to just append it unconditionally. Which is what you did, so we've come full circle, sorry for the distraction. I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? Ian. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/05/2013 01:15 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. Indeed. Actually, now that I think about it -- a non-DT aware kernel just shouldn't care if you append a DT to it, it won't ever go looking. It's probably safe to just append it unconditionally. Yes, should be safe. Which is what you did, so we've come full circle, sorry for the distraction. It's good to talk about the implications. If we want to handle downgrading of kernels with an updated flash-kernel, I think, that cannot be done without an additional Kernel-Version field. This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? I don't have physical access to that Sheeva Plug. Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On Thu, 2013-12-05 at 13:39 +0100, Marc Kleine-Budde wrote: On 12/05/2013 01:15 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. Indeed. Actually, now that I think about it -- a non-DT aware kernel just shouldn't care if you append a DT to it, it won't ever go looking. It's probably safe to just append it unconditionally. Yes, should be safe. Which is what you did, so we've come full circle, sorry for the distraction. It's good to talk about the implications. If we want to handle downgrading of kernels with an updated flash-kernel, I think, that cannot be done without an additional Kernel-Version field. This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? I don't have physical access to that Sheeva Plug. Hrm, this would be something which would be good to try somewhere. Now I think of it the Wheezy kirkwood kernel did have DT and APPENDED_DTB support enabled, in order to support dreamplugs. I have a feeling that would mean that it wouldn't boot if you appended a dtb to it. Which would mean we do have to think about versioned checks or something. Ian. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
On 12/05/2013 06:01 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:39 +0100, Marc Kleine-Budde wrote: On 12/05/2013 01:15 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 13:04 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:57 PM, Ian Campbell wrote: On Thu, 2013-12-05 at 12:46 +0100, Marc Kleine-Budde wrote: On 12/05/2013 12:34 PM, Martin Michlmayr wrote: * Marc Kleine-Budde m...@blackshift.org [2013-12-05 11:49]: That's no option, as non DT Sheeva Plug support has been removed from the kernel in ffbc50663b69462adc9d97b93b6b92c4fe74b94c: ffbc506 ARM: kirkwood: remove support for legacy booting of Sheevaplug Interesting. I thought they promised not to remove non-DT support for existing devices. I personally don't mind, if it's removed once the DT works properly. Anyway, Marc, so thanks for your patch. I wonder if it makes sense to add a check to flash-kernel whether DT is required or not. i.e. that flash-kernel would append the DT blob on 3.12+ kernels on SheevaPlug but not on previous kernels. Yes, sounds like the way to go. Otherwise you have to tie certain flash-kernel versions to the non-DT and DT kernels. This will probably not scale when more no-DT board are removed from the kernel. Where should this information go? What about adding another field to all.db which limits an entry to certain kernel versions? Something like this: I think it would be sufficient to have a field marking the DTB as optional and have f-k only do the append if there is a dtb present in the DTS directory (/usr/lib/linux-X.Y/whatever) for the version it is handling. If the kernel needs a DTB but doesn't ship one, well ,that's a bug in the kernel (until we get to the point of burning DTBs into firmware, but lets not worry about that now!). ...or when the DT sources will be move into a separate repository. Indeed. Actually, now that I think about it -- a non-DT aware kernel just shouldn't care if you append a DT to it, it won't ever go looking. It's probably safe to just append it unconditionally. Yes, should be safe. Which is what you did, so we've come full circle, sorry for the distraction. It's good to talk about the implications. If we want to handle downgrading of kernels with an updated flash-kernel, I think, that cannot be done without an additional Kernel-Version field. This is because v3.11 ships with: /usr/lib/linux-image-3.11-2-kirkwood/kirkwood-sheevaplug.dtb But non-DT Sheeva support is still in the kernel, so non-DT Sheeva Plug is used with current flash-kernel and v3.11. Although v3.10 and v3.11 are not Wheezy's kernels. Is 3.11+DTB actively broken though? v3.11+DT works on Sheeva Plug, just tested it. I was thinking of the following scenario: I have installed current flash-kernel (without DT support) and kernel v3.11. Then the new flash-kernel with append-DT-if-present-in-the-Kernel-package feature is released together with a new DT only kernel (=v3.12). I upgrade, because I want to have the shiny new kernel. For whatever reason I want to downgrade to v3.11, then I end up with v3.11 with DT, because the flash-kernel is still the new one. The system does not behave as I expected. I downgraded to the same kernel but now the DT Sheeva Plug is booted. Although the bootloader sets the ARCH number, a attached DT seems to be preferred. I suppose it would be nice to just check that the Wheezy kernel doesn't complain about or get confused by the appended DTB. Can you check that? I don't have physical access to that Sheeva Plug. Hrm, this would be something which would be good to try somewhere. On Wheezy there is no Sheevaplug DTB to attach... Now I think of it the Wheezy kirkwood kernel did have DT and APPENDED_DTB support enabled, in order to support dreamplugs. http://packages.debian.org/wheezy/armel/linux-image-3.2.0-4-kirkwood/filelist Wheezy has two dtb files: /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-dreamplug.dtb /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-iconnect.dtb I have a feeling that would mean that it wouldn't boot if you appended a dtb to it. Which would mean we do have to think about versioned checks or something. Just stating the obvious: The Sheeva Plug probably wouldn't boot if I attach a dreamplug dtb to it. :) Marc signature.asc Description: OpenPGP digital signature
Bug#731345: flash-kernel: add support for DT based kernels on Sheeva Plug
Package: flash-kernel Version: 3.11 Severity: normal Tags: patch Hello, I've two patches to support DT based kernel on Sheeva Plug. These patches are needed to boot 3.12 (which is currently in experimental). regards, Marc -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (700, 'testing'), (70, 'experimental'), (70, 'unstable') Architecture: armel (armv5tel) Kernel: Linux 3.12-trunk-kirkwood Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages flash-kernel depends on: ii devio1.2-1+b1 ii initramfs-tools 0.115 ii linux-base 3.5 flash-kernel recommends no packages. Versions of packages flash-kernel suggests: ii u-boot-tools 2013.01.01-4 -- no debconf information From 4fb0373e4596a5efcbc086b7e127096efd36fd7c Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde m...@pengutronix.de Date: Wed, 4 Dec 2013 13:59:40 +0100 Subject: [PATCH 1/2] all.db: add dtb support for Sheeva Plug This patch adds support to upgrade from a non DT based kernel (linux-image-3.11-2-kirkwood) or older to a DT based one (i.e. linux-image-3.12-trunk-kirkwood which is currently in experimental). --- db/all.db | 3 +++ 1 file changed, 3 insertions(+) diff --git a/db/all.db b/db/all.db index 76e99fd..55db11a 100644 --- a/db/all.db +++ b/db/all.db @@ -250,10 +250,13 @@ Bootloader-Sets-Root: no Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood +DTB-Id: kirkwood-sheevaplug.dtb +DTB-Append: yes U-Boot-Kernel-Address: 0x8000 U-Boot-Initrd-Address: 0x0 Boot-Kernel-Path: /boot/uImage Boot-Initrd-Path: /boot/uInitrd +Boot-DTB-Path: dtb Required-Packages: u-boot-tools Bootloader-Sets-Root: no -- 1.8.5.rc0 From 2595607efde8338d35863e00eb60d409db050ec2 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde m...@pengutronix.de Date: Wed, 4 Dec 2013 14:03:55 +0100 Subject: [PATCH 2/2] all.db: add section for DT based Sheeva Plug This patch is needed to let flash-kernel recognize a DT based Sheeva Plug. --- db/all.db | 12 1 file changed, 12 insertions(+) diff --git a/db/all.db b/db/all.db index 55db11a..3e060e4 100644 --- a/db/all.db +++ b/db/all.db @@ -248,6 +248,18 @@ Boot-Initrd-Path: /boot/uInitrd Required-Packages: u-boot-tools Bootloader-Sets-Root: no +Machine: Globalscale Technologies SheevaPlug +Kernel-Flavors: kirkwood +DTB-Id: kirkwood-sheevaplug.dtb +DTB-Append: yes +U-Boot-Kernel-Address: 0x8000 +U-Boot-Initrd-Address: 0x0 +Boot-Kernel-Path: /boot/uImage +Boot-Initrd-Path: /boot/uInitrd +Boot-DTB-Path: dtb +Required-Packages: u-boot-tools +Bootloader-Sets-Root: no + Machine: Marvell SheevaPlug Reference Board Kernel-Flavors: kirkwood DTB-Id: kirkwood-sheevaplug.dtb -- 1.8.5.rc0