mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
       [not found] <r276.1579090214262888471.6UJY@lists.yoctoproject.org>
@ 2020-01-15 13:02 ` Enrico Joerns
  2020-01-15 13:26   ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Enrico Joerns @ 2020-01-15 13:02 UTC (permalink / raw)
  To: hu.schlieben, yocto; +Cc: barebox

Hi,

this is mainly a barebox-related question, thus I'd suggest asking it
on the barebox ML.

[cc-ing barebox mailing list]

On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
> Hi,
> 
> booting the new yocto zeus system manually by "boot mmc" works fine
> but default bootchooser fails with: 
> 
> bootchooser: Cannot get state 'state'
> Nothing bootable found on 'bootchooser'
> Nothing bootable found

Looks like the state node is missing in your device tree.
Which version of barebox do you use?
And from which layer / recipe?

> Building the "same" image in yocto thud works fine. The boot
> variables are:
> 
> * BOOT_system0_.default: 3
> * BOOT_system1_.default: 3
> * allow_color: 0
> * autoboot_timeout: 3
> * boot.default: bootchooser
>   boot.watchdog_timeout: 0
>   bootchooser.default_attempts: 3
>   bootchooser.default_priority: 1
>   bootchooser.disable_on_zero_attempts: 0
>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>   bootchooser.reset_priorities:
>   bootchooser.retry: 0
> * bootchooser.state_prefix: state.bootstate
> * bootchooser.system0.boot: mmc
> * bootchooser.system0.default_attempts: 3
> * bootchooser.system0.default_priority: 20
> * bootchooser.system1.boot: mmc1
> * bootchooser.system1.default_attempts: 3
> * bootchooser.system1.default_priority: 21
> * bootchooser.targets: system0 system1
>   bootm.appendroot: 0
> ...
> 

Regards, Enrico


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 13:02 ` [yocto] #yocto bootchooser: Cannot get state 'state' Enrico Joerns
@ 2020-01-15 13:26   ` Hans-Ulrich Schlieben
  2020-01-15 13:38     ` Ahmad Fatoum
  2020-01-15 13:39     ` Ahmad Fatoum
  0 siblings, 2 replies; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-15 13:26 UTC (permalink / raw)
  To: Enrico Joerns, yocto; +Cc: barebox

Hi Enrico,

thank you very much for your help. 
I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used barebox_2017.12.0
The image is built using my own ims layer which depends on core-image-minimal
LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.

Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
In thud this worked.

Thank you
Regards

hu

> -----Original Message-----
> From: Enrico Joerns <ejo@pengutronix.de> 
> Sent: Wednesday, 15 January 2020 14:03
> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; yocto@lists.yoctoproject.org
> Cc: barebox@lists.infradead.org
> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> 
> Hi,
> 
> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
> 
> [cc-ing barebox mailing list]
> 
> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
> > Hi,
> > 
> > booting the new yocto zeus system manually by "boot mmc" works fine 
> > but default bootchooser fails with:
> > 
> > bootchooser: Cannot get state 'state'
> > Nothing bootable found on 'bootchooser'
> > Nothing bootable found
> 
> Looks like the state node is missing in your device tree.
> Which version of barebox do you use?
> And from which layer / recipe?
> 
> > Building the "same" image in yocto thud works fine. The boot variables 
> > are:
> > 
> > * BOOT_system0_.default: 3
> > * BOOT_system1_.default: 3
> > * allow_color: 0
> > * autoboot_timeout: 3
> > * boot.default: bootchooser
> >   boot.watchdog_timeout: 0
> >   bootchooser.default_attempts: 3
> >   bootchooser.default_priority: 1
> >   bootchooser.disable_on_zero_attempts: 0
> >   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
> >   bootchooser.reset_priorities:
> >   bootchooser.retry: 0
> > * bootchooser.state_prefix: state.bootstate
> > * bootchooser.system0.boot: mmc
> > * bootchooser.system0.default_attempts: 3
> > * bootchooser.system0.default_priority: 20
> > * bootchooser.system1.boot: mmc1
> > * bootchooser.system1.default_attempts: 3
> > * bootchooser.system1.default_priority: 21
> > * bootchooser.targets: system0 system1
> >   bootm.appendroot: 0
> > ...
> > 
> 
> Regards, Enrico

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 13:26   ` Hans-Ulrich Schlieben
@ 2020-01-15 13:38     ` Ahmad Fatoum
  2020-01-15 13:39     ` Ahmad Fatoum
  1 sibling, 0 replies; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-15 13:38 UTC (permalink / raw)
  To: barebox

On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
> Hi Enrico,
> 
> thank you very much for your help. 
> I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used barebox_2017.12.0
> The image is built using my own ims layer which depends on core-image-minimal
> LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
> Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
> Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
> Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
> 
> Is there some info what to change in the devicetree and so on when moving to warrior/zeus?

Are there any other error messages?
Can you copy the device tree snippet you use for defining state?
What does running the state command say?

> In thud this worked.
> 
> Thank you
> Regards
> 
> hu
> 
>> -----Original Message-----
>> From: Enrico Joerns <ejo@pengutronix.de> 
>> Sent: Wednesday, 15 January 2020 14:03
>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; yocto@lists.yoctoproject.org
>> Cc: barebox@lists.infradead.org
>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>
>> Hi,
>>
>> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
>>
>> [cc-ing barebox mailing list]
>>
>> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
>>> Hi,
>>>
>>> booting the new yocto zeus system manually by "boot mmc" works fine 
>>> but default bootchooser fails with:
>>>
>>> bootchooser: Cannot get state 'state'
>>> Nothing bootable found on 'bootchooser'
>>> Nothing bootable found
>>
>> Looks like the state node is missing in your device tree.
>> Which version of barebox do you use?
>> And from which layer / recipe?
>>
>>> Building the "same" image in yocto thud works fine. The boot variables 
>>> are:
>>>
>>> * BOOT_system0_.default: 3
>>> * BOOT_system1_.default: 3
>>> * allow_color: 0
>>> * autoboot_timeout: 3
>>> * boot.default: bootchooser
>>>   boot.watchdog_timeout: 0
>>>   bootchooser.default_attempts: 3
>>>   bootchooser.default_priority: 1
>>>   bootchooser.disable_on_zero_attempts: 0
>>>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>>>   bootchooser.reset_priorities:
>>>   bootchooser.retry: 0
>>> * bootchooser.state_prefix: state.bootstate
>>> * bootchooser.system0.boot: mmc
>>> * bootchooser.system0.default_attempts: 3
>>> * bootchooser.system0.default_priority: 20
>>> * bootchooser.system1.boot: mmc1
>>> * bootchooser.system1.default_attempts: 3
>>> * bootchooser.system1.default_priority: 21
>>> * bootchooser.targets: system0 system1
>>>   bootm.appendroot: 0
>>> ...
>>>
>>
>> Regards, Enrico
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 13:26   ` Hans-Ulrich Schlieben
  2020-01-15 13:38     ` Ahmad Fatoum
@ 2020-01-15 13:39     ` Ahmad Fatoum
  2020-01-15 14:25       ` Hans-Ulrich Schlieben
  1 sibling, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-15 13:39 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns, yocto; +Cc: barebox

On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
> Hi Enrico,
> 
> thank you very much for your help. 
> I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used barebox_2017.12.0
> The image is built using my own ims layer which depends on core-image-minimal
> LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
> Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
> Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
> Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
> 
> Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
> In thud this worked.

Are there any other error messages?
Can you copy the device tree snippet you use for defining state?
What does running the state command say?

(now again, but with CC-list intact)

> 
> Thank you
> Regards
> 
> hu
> 
>> -----Original Message-----
>> From: Enrico Joerns <ejo@pengutronix.de> 
>> Sent: Wednesday, 15 January 2020 14:03
>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; yocto@lists.yoctoproject.org
>> Cc: barebox@lists.infradead.org
>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>
>> Hi,
>>
>> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
>>
>> [cc-ing barebox mailing list]
>>
>> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
>>> Hi,
>>>
>>> booting the new yocto zeus system manually by "boot mmc" works fine 
>>> but default bootchooser fails with:
>>>
>>> bootchooser: Cannot get state 'state'
>>> Nothing bootable found on 'bootchooser'
>>> Nothing bootable found
>>
>> Looks like the state node is missing in your device tree.
>> Which version of barebox do you use?
>> And from which layer / recipe?
>>
>>> Building the "same" image in yocto thud works fine. The boot variables 
>>> are:
>>>
>>> * BOOT_system0_.default: 3
>>> * BOOT_system1_.default: 3
>>> * allow_color: 0
>>> * autoboot_timeout: 3
>>> * boot.default: bootchooser
>>>   boot.watchdog_timeout: 0
>>>   bootchooser.default_attempts: 3
>>>   bootchooser.default_priority: 1
>>>   bootchooser.disable_on_zero_attempts: 0
>>>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>>>   bootchooser.reset_priorities:
>>>   bootchooser.retry: 0
>>> * bootchooser.state_prefix: state.bootstate
>>> * bootchooser.system0.boot: mmc
>>> * bootchooser.system0.default_attempts: 3
>>> * bootchooser.system0.default_priority: 20
>>> * bootchooser.system1.boot: mmc1
>>> * bootchooser.system1.default_attempts: 3
>>> * bootchooser.system1.default_priority: 21
>>> * bootchooser.targets: system0 system1
>>>   bootm.appendroot: 0
>>> ...
>>>
>>
>> Regards, Enrico
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 13:39     ` Ahmad Fatoum
@ 2020-01-15 14:25       ` Hans-Ulrich Schlieben
  2020-01-15 14:36         ` Ahmad Fatoum
  0 siblings, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-15 14:25 UTC (permalink / raw)
  To: Ahmad Fatoum, Enrico Joerns, yocto; +Cc: barebox

Hi Ahmad,

thank you very much for your help.

> Are there any other error messages?
No, there is even more working than in thud where ubi0 fails but bootchooser works:
Hit m for menu or any other key to stop autoboot:    0
testing for update
ubi0: scanning is finished
ubi0 error: ubi_read_volume_table: the layout volume was not found
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd0, error -22
failed to attach: Invalid argument
updating kernel
open volume: No such file or directory
updating oftree
open volume: No such file or directory
booting 'bootchooser'
booting 'mmc'

in zeus this looks like this:
Hit m for menu or any other key to stop autoboot:    1
testing for update
ubi0: scanning is finished
ubi0: registering /dev/nand0.root.ubi
ubi0: attached mtd0 (name "nand0.root", size 1019 MiB) to ubi0
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 8148, bad PEBs: 4, corrupted PEBs: 0
ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/1, WL threshold: 65536, image sequence number: 1694817280
ubi0: available PEBs: 7986, total reserved PEBs: 162, PEBs reserved for bad PEB handling: 156
updating kernel
open volume: No such file or directory
updating oftree
open volume: No such file or directory
bootchooser: Cannot get state 'state'
Nothing bootable found on 'bootchooser'
Nothing bootable found

> Can you copy the device tree snippet you use for defining state?
How/where do I find the complete devicetree? The only thing referring to barebox is this from the unchanged ksp-0663-layer:
&gpmi {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpmi_nand>;
        nand-on-flash-bbt;
        status = "okay";

        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
                label = "barebox";
                reg = <0x0 0x400000>;
        };

        partition@1 {
                label = "barebox-environment";
                reg = <0x400000 0x100000>;
        };

        partition@2 {
                label = "root";
                reg = <0x500000 0x0>;
        };
};

Is there a problem because ubi works now and garbles the data in the flash?

> What does running the state command say?
barebox@Phytec phyCORE-i.MX6 Quad with NAND:/ state
registered state instances:

is empty in zeus, whereas thud returned: (backend: raw, path: /dev/eeprom0.update-eeprom)

Thank you and Regards

hu


-----Original Message-----
From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
Sent: Wednesday, 15 January 2020 14:40
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
Cc: barebox@lists.infradead.org
Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'

On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
> Hi Enrico,
> 
> thank you very much for your help. 
> I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used 
> barebox_2017.12.0 The image is built using my own ims layer which 
> depends on core-image-minimal LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
> Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
> Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
> Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
> 
> Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
> In thud this worked.

Are there any other error messages?
Can you copy the device tree snippet you use for defining state?
What does running the state command say?

(now again, but with CC-list intact)

> 
> Thank you
> Regards
> 
> hu
> 
>> -----Original Message-----
>> From: Enrico Joerns <ejo@pengutronix.de>
>> Sent: Wednesday, 15 January 2020 14:03
>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; 
>> yocto@lists.yoctoproject.org
>> Cc: barebox@lists.infradead.org
>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>
>> Hi,
>>
>> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
>>
>> [cc-ing barebox mailing list]
>>
>> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
>>> Hi,
>>>
>>> booting the new yocto zeus system manually by "boot mmc" works fine 
>>> but default bootchooser fails with:
>>>
>>> bootchooser: Cannot get state 'state'
>>> Nothing bootable found on 'bootchooser'
>>> Nothing bootable found
>>
>> Looks like the state node is missing in your device tree.
>> Which version of barebox do you use?
>> And from which layer / recipe?
>>
>>> Building the "same" image in yocto thud works fine. The boot 
>>> variables
>>> are:
>>>
>>> * BOOT_system0_.default: 3
>>> * BOOT_system1_.default: 3
>>> * allow_color: 0
>>> * autoboot_timeout: 3
>>> * boot.default: bootchooser
>>>   boot.watchdog_timeout: 0
>>>   bootchooser.default_attempts: 3
>>>   bootchooser.default_priority: 1
>>>   bootchooser.disable_on_zero_attempts: 0
>>>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>>>   bootchooser.reset_priorities:
>>>   bootchooser.retry: 0
>>> * bootchooser.state_prefix: state.bootstate
>>> * bootchooser.system0.boot: mmc
>>> * bootchooser.system0.default_attempts: 3
>>> * bootchooser.system0.default_priority: 20
>>> * bootchooser.system1.boot: mmc1
>>> * bootchooser.system1.default_attempts: 3
>>> * bootchooser.system1.default_priority: 21
>>> * bootchooser.targets: system0 system1
>>>   bootm.appendroot: 0
>>> ...
>>>
>>
>> Regards, Enrico
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&amp;data=01%7C01%7Chu.sc
> hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974af9b
> 352b437cb606e9f242c0c227%7C0&amp;sdata=xYCzF1pdhTQArF5%2BHffieEkHNmdqX
> w%2BVo2EFWg%2FKOHY%3D&amp;reserved=0
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=%2FRUpJBBVrwI8cpLhou4AIoPnbiCjqjMBp5eo5VZorwc%3D&amp;reserved=0 |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 14:25       ` Hans-Ulrich Schlieben
@ 2020-01-15 14:36         ` Ahmad Fatoum
  2020-01-15 14:47           ` Enrico Joerns
  2020-01-16 15:09           ` Hans-Ulrich Schlieben
  0 siblings, 2 replies; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-15 14:36 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns, yocto; +Cc: barebox

Hello Hans-Ulrich,

On 1/15/20 3:25 PM, Hans-Ulrich Schlieben wrote:
>> Can you copy the device tree snippet you use for defining state?
> Is there a problem because ubi works now and garbles the data in the flash?
> 
>> What does running the state command say?
> barebox@Phytec phyCORE-i.MX6 Quad with NAND:/ state
> registered state instances:
> 
> is empty in zeus, whereas thud returned: (backend: raw, path: /dev/eeprom0.update-eeprom)

According to the state command output under thud, your state is stored
on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
There should also be an /dev/eeprom0.update-eeprom in barebox.
if not, try executing the drvinfo command and see if the driver has
probed the EEPROM.

Can you also paste the full barebox output from power-on till failure?

Your board should boot normally with upstream barebox, I think.
Can you try and see if v2020.01.0 suffers from the same problem?

Cheers
Ahmad

> 
> Thank you and Regards
> 
> hu
> 
> 
> -----Original Message-----
> From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
> Sent: Wednesday, 15 January 2020 14:40
> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
> Cc: barebox@lists.infradead.org
> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> 
> On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
>> Hi Enrico,
>>
>> thank you very much for your help. 
>> I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used 
>> barebox_2017.12.0 The image is built using my own ims layer which 
>> depends on core-image-minimal LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
>> Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
>> Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
>> Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
>>
>> Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
>> In thud this worked.
> 
> Are there any other error messages?
> Can you copy the device tree snippet you use for defining state?
> What does running the state command say?
> 
> (now again, but with CC-list intact)
> 
>>
>> Thank you
>> Regards
>>
>> hu
>>
>>> -----Original Message-----
>>> From: Enrico Joerns <ejo@pengutronix.de>
>>> Sent: Wednesday, 15 January 2020 14:03
>>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; 
>>> yocto@lists.yoctoproject.org
>>> Cc: barebox@lists.infradead.org
>>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>>
>>> Hi,
>>>
>>> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
>>>
>>> [cc-ing barebox mailing list]
>>>
>>> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
>>>> Hi,
>>>>
>>>> booting the new yocto zeus system manually by "boot mmc" works fine 
>>>> but default bootchooser fails with:
>>>>
>>>> bootchooser: Cannot get state 'state'
>>>> Nothing bootable found on 'bootchooser'
>>>> Nothing bootable found
>>>
>>> Looks like the state node is missing in your device tree.
>>> Which version of barebox do you use?
>>> And from which layer / recipe?
>>>
>>>> Building the "same" image in yocto thud works fine. The boot 
>>>> variables
>>>> are:
>>>>
>>>> * BOOT_system0_.default: 3
>>>> * BOOT_system1_.default: 3
>>>> * allow_color: 0
>>>> * autoboot_timeout: 3
>>>> * boot.default: bootchooser
>>>>   boot.watchdog_timeout: 0
>>>>   bootchooser.default_attempts: 3
>>>>   bootchooser.default_priority: 1
>>>>   bootchooser.disable_on_zero_attempts: 0
>>>>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>>>>   bootchooser.reset_priorities:
>>>>   bootchooser.retry: 0
>>>> * bootchooser.state_prefix: state.bootstate
>>>> * bootchooser.system0.boot: mmc
>>>> * bootchooser.system0.default_attempts: 3
>>>> * bootchooser.system0.default_priority: 20
>>>> * bootchooser.system1.boot: mmc1
>>>> * bootchooser.system1.default_attempts: 3
>>>> * bootchooser.system1.default_priority: 21
>>>> * bootchooser.targets: system0 system1
>>>>   bootm.appendroot: 0
>>>> ...
>>>>
>>>
>>> Regards, Enrico
>>
>> _______________________________________________
>> barebox mailing list
>> barebox@lists.infradead.org
>> https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
>> .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&amp;data=01%7C01%7Chu.sc
>> hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974af9b
>> 352b437cb606e9f242c0c227%7C0&amp;sdata=xYCzF1pdhTQArF5%2BHffieEkHNmdqX
>> w%2BVo2EFWg%2FKOHY%3D&amp;reserved=0
>>
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 14:36         ` Ahmad Fatoum
@ 2020-01-15 14:47           ` Enrico Joerns
  2020-01-16 15:13             ` Hans-Ulrich Schlieben
  2020-01-16 15:09           ` Hans-Ulrich Schlieben
  1 sibling, 1 reply; 22+ messages in thread
From: Enrico Joerns @ 2020-01-15 14:47 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben; +Cc: yocto, barebox, Ahmad Fatoum

On Wed, 2020-01-15 at 15:36 +0100, Ahmad Fatoum wrote:
> Hello Hans-Ulrich,
> 
> On 1/15/20 3:25 PM, Hans-Ulrich Schlieben wrote:
> > > Can you copy the device tree snippet you use for defining state?
> > 
> > Is there a problem because ubi works now and garbles the data in the flash?
> > 
> > > What does running the state command say?
> > 
> > barebox@Phytec phyCORE-i.MX6 Quad with NAND:/ state
> > registered state instances:
> > 
> > is empty in zeus, whereas thud returned: (backend: raw, path: /dev/eeprom0.update-eeprom)

The difference between 'zeus' and 'thud' is mainly the barebox version that you
get from the meta-phytec layer.

We had some changes in requirements for the state node alias within the two
year, but unsure if that hits you.

Note that you can find the build dtb in your BSP's deploy dir. You could run

  fdtdump tmp/deploy/images/<machine>/<name-of-dtb>.dtb

to dump it.


Regards, Enrico

> According to the state command output under thud, your state is stored
> on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
> There should also be an /dev/eeprom0.update-eeprom in barebox.
> if not, try executing the drvinfo command and see if the driver has
> probed the EEPROM.
> 
> Can you also paste the full barebox output from power-on till failure?
> 
> Your board should boot normally with upstream barebox, I think.
> Can you try and see if v2020.01.0 suffers from the same problem?
> 
> Cheers
> Ahmad
> 
> > 
> > Thank you and Regards
> > 
> > hu
> > 
> > 
> > -----Original Message-----
> > From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
> > Sent: Wednesday, 15 January 2020 14:40
> > To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
> > Cc: barebox@lists.infradead.org
> > Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> > 
> > On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
> > > Hi Enrico,
> > > 
> > > thank you very much for your help. 
> > > I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used 
> > > barebox_2017.12.0 The image is built using my own ims layer which 
> > > depends on core-image-minimal LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
> > > Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
> > > Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
> > > Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
> > > 
> > > Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
> > > In thud this worked.
> > 
> > Are there any other error messages?
> > Can you copy the device tree snippet you use for defining state?
> > What does running the state command say?
> > 
> > (now again, but with CC-list intact)
> > 
> > > 
> > > Thank you
> > > Regards
> > > 
> > > hu
> > > 
> > > > -----Original Message-----
> > > > From: Enrico Joerns <ejo@pengutronix.de>
> > > > Sent: Wednesday, 15 January 2020 14:03
> > > > To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; 
> > > > yocto@lists.yoctoproject.org
> > > > Cc: barebox@lists.infradead.org
> > > > Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> > > > 
> > > > Hi,
> > > > 
> > > > this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
> > > > 
> > > > [cc-ing barebox mailing list]
> > > > 
> > > > On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
> > > > > Hi,
> > > > > 
> > > > > booting the new yocto zeus system manually by "boot mmc" works fine 
> > > > > but default bootchooser fails with:
> > > > > 
> > > > > bootchooser: Cannot get state 'state'
> > > > > Nothing bootable found on 'bootchooser'
> > > > > Nothing bootable found
> > > > 
> > > > Looks like the state node is missing in your device tree.
> > > > Which version of barebox do you use?
> > > > And from which layer / recipe?
> > > > 
> > > > > Building the "same" image in yocto thud works fine. The boot 
> > > > > variables
> > > > > are:
> > > > > 
> > > > > * BOOT_system0_.default: 3
> > > > > * BOOT_system1_.default: 3
> > > > > * allow_color: 0
> > > > > * autoboot_timeout: 3
> > > > > * boot.default: bootchooser
> > > > >   boot.watchdog_timeout: 0
> > > > >   bootchooser.default_attempts: 3
> > > > >   bootchooser.default_priority: 1
> > > > >   bootchooser.disable_on_zero_attempts: 0
> > > > >   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
> > > > >   bootchooser.reset_priorities:
> > > > >   bootchooser.retry: 0
> > > > > * bootchooser.state_prefix: state.bootstate
> > > > > * bootchooser.system0.boot: mmc
> > > > > * bootchooser.system0.default_attempts: 3
> > > > > * bootchooser.system0.default_priority: 20
> > > > > * bootchooser.system1.boot: mmc1
> > > > > * bootchooser.system1.default_attempts: 3
> > > > > * bootchooser.system1.default_priority: 21
> > > > > * bootchooser.targets: system0 system1
> > > > >   bootm.appendroot: 0
> > > > > ...
> > > > > 
> > > > 
> > > > Regards, Enrico
> > > 
> > > _______________________________________________
> > > barebox mailing list
> > > barebox@lists.infradead.org
> > > https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> > > .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&amp;data=01%7C01%7Chu.sc
> > > hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974af9b
> > > 352b437cb606e9f242c0c227%7C0&amp;sdata=xYCzF1pdhTQArF5%2BHffieEkHNmdqX
> > > w%2BVo2EFWg%2FKOHY%3D&amp;reserved=0
> > > 
> > 
> > 
> 
> 
-- 
Pengutronix e.K.                    | Enrico Jörns                |
Embedded Linux Consulting & Support | Team Lead Integration       |
Steuerwalder Str. 21                | https://www.pengutronix.de  |
31137 Hildesheim, Germany           | Phone: +49-5121-206917-5080 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 14:36         ` Ahmad Fatoum
  2020-01-15 14:47           ` Enrico Joerns
@ 2020-01-16 15:09           ` Hans-Ulrich Schlieben
  2020-01-20 15:23             ` Ahmad Fatoum
  1 sibling, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-16 15:09 UTC (permalink / raw)
  To: Ahmad Fatoum, Enrico Joerns, yocto; +Cc: barebox

Hi Ahmad,

Thanks to your Mail I tested with barebox_2017.12.0-phy6.bb (thud used barebox_2017.12.0-phy4.bb) and this works in zeus too. 

> According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
> There should also be an /dev/eeprom0.update-eeprom in barebox.
That seems right, when working the eeprom is written to on each boot.
But I could not find any references to *eep* inside barebox in any layer.

> if not, try executing the drvinfo command and see if the driver has probed the EEPROM.

> Can you also paste the full barebox output from power-on till failure?
Here is the zeus from start:
barebox 2019.01.0 #1 Thu Jan 16 12:17:51 UTC 2020


Board: Phytec phyCORE-i.MX6 Quad with NAND detected i.MX6 Quad revision 1.5 i.MX reset reason POR (SRSR: 0x00000001)
i.MX6 Quad unique ID: ee803c540f2359d4
mdio_bus: miibus0: probed
eth0: got preset MAC address: 50:2d:f4:1b:af:b1
nand: ONFI flash detected
nand: NAND device: Manufacturer ID: 0xef, Chip ID: 0xd3 (Winbond W29N08GV), 1024MiB, page size: 2048, OOB size: 64 Bad block table found at page 524224, version 0x01 Bad block table found at page 524160, version 0x01
m25p80 flash@00: n25q128a13 (16384 Kbytes) imx-usb 2184200.usb@2184200.of: USB EHCI 1.00 imx-esdhc 2190000.usdhc@2190000.of: registered as mmc0
imx-ipuv3 2400000.ipu@2400000.of: IPUv3H probed
imx-ipuv3 2800000.ipu@2800000.of: IPUv3H probed
da9063 da90620: da9062 with id 62.22.ff.1a detected
netconsole: registered as netconsole-1
phySOM-i.MX6: Using environment in MMC
malloc space: 0x2fe7b860 -> 0x4fcf70bf (size 510.5 MiB)
mmc0: detected SD card version 2.0
mmc0: registered mmc0
envfs: no envfs (magic mismatch) - envfs never written?
running /env/bin/init...

Hit m for menu or any other key to stop autoboot:    0
testing for update
ubi0: scanning is finished
ubi0: registering /dev/nand0.root.ubi
ubi0: attached mtd0 (name "nand0.root", size 1019 MiB) to ubi0
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 8148, bad PEBs: 4, corrupted PEBs: 0
ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/1, WL threshold: 65536, image sequence number: 1694817280
ubi0: available PEBs: 7986, total reserved PEBs: 162, PEBs reserved for bad PEB handling: 156 updating kernel open volume: No such file or directory updating oftree open volume: No such file or directory
bootchooser: Cannot get state 'state'
Nothing bootable found on 'bootchooser'
Nothing bootable found

Booting zeus with barebox 2017 it works and looks like that:
barebox 2017.12.0 #1 Wed Jan 15 16:36:29 UTC 2020


Board: Phytec phyCORE-i.MX6 Quad with NAND detected i.MX6 Quad revision 1.5
i.MX6 unique ID: ee803c540f2359d4
mdio_bus: miibus0: probed
eth0: got preset MAC address: 50:2d:f4:1b:af:b1
nand: ONFI flash detected
nand: NAND device: Manufacturer ID: 0xef, Chip ID: 0xd3 (Winbond W29N08GV), 1024MiB, page size: 2048, OOB size: 64 Bad block table found at page 524224, version 0x01 Bad block table found at page 524160, version 0x01
m25p80 flash@00: n25q128a13 (16384 Kbytes) imx-usb 2184200.usb: USB EHCI 1.00 imx-esdhc 2190000.usdhc: registered as 2190000.usdhc
da9063 da90620: da9062 with id 62.22.ff.1a detected
state: New state registered 'state'
state: Using bucket 0@0x00000000
netconsole: registered as netconsole-1
phySOM-i.MX6: Using environment in MMC
malloc space: 0x2fefb480 -> 0x4fdf68ff (size 511 MiB)
mmc0: detected SD card version 2.0
mmc0: registered mmc0
envfs: no envfs (magic mismatch) - envfs never written?
running /env/bin/init...

Hit m for menu or any other key to stop autoboot:    0
testing for update
ubi0: scanning is finished
ubi0 error: ubi_read_volume_table: the layout volume was not found
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd0, error -22 failed to attach: Invalid argument updating kernel open volume: No such file or directory updating oftree open volume: No such file or directory booting 'bootchooser'
booting 'mmc'

So the lines
state: New state registered 'state'
state: Using bucket 0@0x00000000
are missing in barebox 2019.

> Your board should boot normally with upstream barebox, I think.
> Can you try and see if v2020.01.0 suffers from the same problem?
I do not know yet how to include an upstream package like barebox 2020.01.0. Do I have to rename the old recipe or download the recipe somewhere?

Thank you and Best Regards

hu

-----Original Message-----
From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
Sent: Wednesday, 15 January 2020 15:37
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
Cc: barebox@lists.infradead.org
Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'

Hello Hans-Ulrich,

On 1/15/20 3:25 PM, Hans-Ulrich Schlieben wrote:
>> Can you copy the device tree snippet you use for defining state?
> Is there a problem because ubi works now and garbles the data in the flash?
> 
>> What does running the state command say?
> barebox@Phytec phyCORE-i.MX6 Quad with NAND:/ state registered state 
> instances:
> 
> is empty in zeus, whereas thud returned: (backend: raw, path: 
> /dev/eeprom0.update-eeprom)

According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
There should also be an /dev/eeprom0.update-eeprom in barebox.
if not, try executing the drvinfo command and see if the driver has probed the EEPROM.

Can you also paste the full barebox output from power-on till failure?

Your board should boot normally with upstream barebox, I think.
Can you try and see if v2020.01.0 suffers from the same problem?

Cheers
Ahmad

> 
> Thank you and Regards
> 
> hu
> 
> 
> -----Original Message-----
> From: Ahmad Fatoum <a.fatoum@pengutronix.de>
> Sent: Wednesday, 15 January 2020 14:40
> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns 
> <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
> Cc: barebox@lists.infradead.org
> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> 
> On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
>> Hi Enrico,
>>
>> thank you very much for your help. 
>> I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used
>> barebox_2017.12.0 The image is built using my own ims layer which 
>> depends on core-image-minimal LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
>> Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
>> Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
>> Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
>>
>> Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
>> In thud this worked.
> 
> Are there any other error messages?
> Can you copy the device tree snippet you use for defining state?
> What does running the state command say?
> 
> (now again, but with CC-list intact)
> 
>>
>> Thank you
>> Regards
>>
>> hu
>>
>>> -----Original Message-----
>>> From: Enrico Joerns <ejo@pengutronix.de>
>>> Sent: Wednesday, 15 January 2020 14:03
>>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; 
>>> yocto@lists.yoctoproject.org
>>> Cc: barebox@lists.infradead.org
>>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>>
>>> Hi,
>>>
>>> this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
>>>
>>> [cc-ing barebox mailing list]
>>>
>>> On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
>>>> Hi,
>>>>
>>>> booting the new yocto zeus system manually by "boot mmc" works fine 
>>>> but default bootchooser fails with:
>>>>
>>>> bootchooser: Cannot get state 'state'
>>>> Nothing bootable found on 'bootchooser'
>>>> Nothing bootable found
>>>
>>> Looks like the state node is missing in your device tree.
>>> Which version of barebox do you use?
>>> And from which layer / recipe?
>>>
>>>> Building the "same" image in yocto thud works fine. The boot 
>>>> variables
>>>> are:
>>>>
>>>> * BOOT_system0_.default: 3
>>>> * BOOT_system1_.default: 3
>>>> * allow_color: 0
>>>> * autoboot_timeout: 3
>>>> * boot.default: bootchooser
>>>>   boot.watchdog_timeout: 0
>>>>   bootchooser.default_attempts: 3
>>>>   bootchooser.default_priority: 1
>>>>   bootchooser.disable_on_zero_attempts: 0
>>>>   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
>>>>   bootchooser.reset_priorities:
>>>>   bootchooser.retry: 0
>>>> * bootchooser.state_prefix: state.bootstate
>>>> * bootchooser.system0.boot: mmc
>>>> * bootchooser.system0.default_attempts: 3
>>>> * bootchooser.system0.default_priority: 20
>>>> * bootchooser.system1.boot: mmc1
>>>> * bootchooser.system1.default_attempts: 3
>>>> * bootchooser.system1.default_priority: 21
>>>> * bootchooser.targets: system0 system1
>>>>   bootm.appendroot: 0
>>>> ...
>>>>
>>>
>>> Regards, Enrico
>>
>> _______________________________________________
>> barebox mailing list
>> barebox@lists.infradead.org
>> https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flist
>> s 
>> .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&amp;data=01%7C01%7Chu.s
>> c 
>> hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974af9
>> b 
>> 352b437cb606e9f242c0c227%7C0&amp;sdata=xYCzF1pdhTQArF5%2BHffieEkHNmdq
>> X
>> w%2BVo2EFWg%2FKOHY%3D&amp;reserved=0
>>
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7C1257571ee267439a5d2408d799c85393%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=Z5c4T%2B5MOf1cbFRbqkbdCRgDp2lhJZPWzV9gf3sTDp4%3D&amp;reserved=0  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-15 14:47           ` Enrico Joerns
@ 2020-01-16 15:13             ` Hans-Ulrich Schlieben
  2020-01-20 15:31               ` Ahmad Fatoum
  0 siblings, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-16 15:13 UTC (permalink / raw)
  To: Enrico Joerns; +Cc: yocto, barebox, Ahmad Fatoum

Hi Enrico,

thank you for your help and for telling me about fdtdump. Works great.
I could not find any references to state in the device tree.
There where no references to state and bootchooser in the devicetree. 
The only references to barebox are two addresses inside the nand:
        gpmi-nand@00112000 {
...
            partition@0 {
                label = "barebox";
                reg = <0x00000000 0x00400000>;
            };
            partition@1 {
                label = "barebox-environment";
                reg = <0x00400000 0x00100000>;
            };
...
And there is a eeprom entry:
            i2c@021a8000 {
...
                eeprom@50 {
                    compatible = "atmel,24c32";
                    reg = <0x00000050>;
                };
Where to look for state in the devicetree?
Anyhow I compiled a zeus image using the old barebox version 2017.12.0 and bootchooser works again with zeus.
Interesting is that ubi fails too like in thud. So it seems as long as ubi fails state could be used or the other way around.

Here the zeus logs:
------------------------------------------------------------------------------------------
barebox 2017.12.0 #1 Wed Jan 15 16:36:29 UTC 2020


Board: Phytec phyCORE-i.MX6 Quad with NAND
detected i.MX6 Quad revision 1.5
i.MX6 unique ID: ee803c540f2359d4
mdio_bus: miibus0: probed
eth0: got preset MAC address: 50:2d:f4:1b:af:b1
nand: ONFI flash detected
nand: NAND device: Manufacturer ID: 0xef, Chip ID: 0xd3 (Winbond W29N08GV), 1024MiB, page size: 2048, OOB size: 64
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
m25p80 flash@00: n25q128a13 (16384 Kbytes)
imx-usb 2184200.usb: USB EHCI 1.00
imx-esdhc 2190000.usdhc: registered as 2190000.usdhc
da9063 da90620: da9062 with id 62.22.ff.1a detected
state: New state registered 'state'
state: Using bucket 0@0x00000000
netconsole: registered as netconsole-1
phySOM-i.MX6: Using environment in MMC
malloc space: 0x2fefb480 -> 0x4fdf68ff (size 511 MiB)
mmc0: detected SD card version 2.0
mmc0: registered mmc0
envfs: no envfs (magic mismatch) - envfs never written?
running /env/bin/init...

Hit m for menu or any other key to stop autoboot:    0
testing for update
ubi0: scanning is finished
ubi0 error: ubi_read_volume_table: the layout volume was not found
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd0, error -22
failed to attach: Invalid argument
updating kernel
open volume: No such file or directory
updating oftree
open volume: No such file or directory
booting 'bootchooser'
booting 'mmc'
-----------------------------------------------------------------------------------
barebox 2019.01.0 #1 Thu Jan 16 12:17:51 UTC 2020


Board: Phytec phyCORE-i.MX6 Quad with NAND detected i.MX6 Quad revision 1.5 i.MX reset reason POR (SRSR: 0x00000001)
i.MX6 Quad unique ID: ee803c540f2359d4
mdio_bus: miibus0: probed
eth0: got preset MAC address: 50:2d:f4:1b:af:b1
nand: ONFI flash detected
nand: NAND device: Manufacturer ID: 0xef, Chip ID: 0xd3 (Winbond W29N08GV), 1024MiB, page size: 2048, OOB size: 64 Bad block table found at page 524224, version 0x01 Bad block table found at page 524160, version 0x01
m25p80 flash@00: n25q128a13 (16384 Kbytes) imx-usb 2184200.usb@2184200.of: USB EHCI 1.00 imx-esdhc 2190000.usdhc@2190000.of: registered as mmc0
imx-ipuv3 2400000.ipu@2400000.of: IPUv3H probed
imx-ipuv3 2800000.ipu@2800000.of: IPUv3H probed
da9063 da90620: da9062 with id 62.22.ff.1a detected
netconsole: registered as netconsole-1
phySOM-i.MX6: Using environment in MMC
malloc space: 0x2fe7b860 -> 0x4fcf70bf (size 510.5 MiB)
mmc0: detected SD card version 2.0
mmc0: registered mmc0
envfs: no envfs (magic mismatch) - envfs never written?
running /env/bin/init...

Hit m for menu or any other key to stop autoboot:    0
testing for update
ubi0: scanning is finished
ubi0: registering /dev/nand0.root.ubi
ubi0: attached mtd0 (name "nand0.root", size 1019 MiB) to ubi0
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 8148, bad PEBs: 4, corrupted PEBs: 0
ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 1/1, WL threshold: 65536, image sequence number: 1694817280
ubi0: available PEBs: 7986, total reserved PEBs: 162, PEBs reserved for bad PEB handling: 156 updating kernel open volume: No such file or directory updating oftree open volume: No such file or directory
bootchooser: Cannot get state 'state'
Nothing bootable found on 'bootchooser'
Nothing bootable found
-----------------------------------------------------------------------------------
-----Original Message-----
From: Enrico Joerns <ejo@pengutronix.de> 
Sent: Wednesday, 15 January 2020 15:48
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>
Cc: barebox@lists.infradead.org; yocto@lists.yoctoproject.org; Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'

On Wed, 2020-01-15 at 15:36 +0100, Ahmad Fatoum wrote:
> Hello Hans-Ulrich,
> 
> On 1/15/20 3:25 PM, Hans-Ulrich Schlieben wrote:
> > > Can you copy the device tree snippet you use for defining state?
> > 
> > Is there a problem because ubi works now and garbles the data in the flash?
> > 
> > > What does running the state command say?
> > 
> > barebox@Phytec phyCORE-i.MX6 Quad with NAND:/ state registered state 
> > instances:
> > 
> > is empty in zeus, whereas thud returned: (backend: raw, path: 
> > /dev/eeprom0.update-eeprom)

The difference between 'zeus' and 'thud' is mainly the barebox version that you get from the meta-phytec layer.

We had some changes in requirements for the state node alias within the two year, but unsure if that hits you.

Note that you can find the build dtb in your BSP's deploy dir. You could run

  fdtdump tmp/deploy/images/<machine>/<name-of-dtb>.dtb

to dump it.


Regards, Enrico

> According to the state command output under thud, your state is stored 
> on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
> There should also be an /dev/eeprom0.update-eeprom in barebox.
> if not, try executing the drvinfo command and see if the driver has 
> probed the EEPROM.
> 
> Can you also paste the full barebox output from power-on till failure?
> 
> Your board should boot normally with upstream barebox, I think.
> Can you try and see if v2020.01.0 suffers from the same problem?
> 
> Cheers
> Ahmad
> 
> > 
> > Thank you and Regards
> > 
> > hu
> > 
> > 
> > -----Original Message-----
> > From: Ahmad Fatoum <a.fatoum@pengutronix.de>
> > Sent: Wednesday, 15 January 2020 14:40
> > To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico 
> > Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
> > Cc: barebox@lists.infradead.org
> > Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> > 
> > On 1/15/20 2:26 PM, Hans-Ulrich Schlieben wrote:
> > > Hi Enrico,
> > > 
> > > thank you very much for your help. 
> > > I'm using barebox_2019.01.0-phy4-r7.0 now. In thud I used
> > > barebox_2017.12.0 The image is built using my own ims layer which 
> > > depends on core-image-minimal LAYERDEPENDS_ims-layer = "core-image-minimal openembedded-layer phytec-layer"
> > > Its using the meta-phytec Layer and a custom layer from phytec named meta-ksp0663.
> > > Forgot to mention that rauc is used too, which moved from 1.1 to now 1.2.
> > > Just changed the LAYERSERIES_COMPAT to "zeus" here to check whether yocto zeus works.
> > > 
> > > Is there some info what to change in the devicetree and so on when moving to warrior/zeus?
> > > In thud this worked.
> > 
> > Are there any other error messages?
> > Can you copy the device tree snippet you use for defining state?
> > What does running the state command say?
> > 
> > (now again, but with CC-list intact)
> > 
> > > 
> > > Thank you
> > > Regards
> > > 
> > > hu
> > > 
> > > > -----Original Message-----
> > > > From: Enrico Joerns <ejo@pengutronix.de>
> > > > Sent: Wednesday, 15 January 2020 14:03
> > > > To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; 
> > > > yocto@lists.yoctoproject.org
> > > > Cc: barebox@lists.infradead.org
> > > > Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> > > > 
> > > > Hi,
> > > > 
> > > > this is mainly a barebox-related question, thus I'd suggest asking it on the barebox ML.
> > > > 
> > > > [cc-ing barebox mailing list]
> > > > 
> > > > On Wed, 2020-01-15 at 04:10 -0800, hu.schlieben@codewrights.de wrote:
> > > > > Hi,
> > > > > 
> > > > > booting the new yocto zeus system manually by "boot mmc" works 
> > > > > fine but default bootchooser fails with:
> > > > > 
> > > > > bootchooser: Cannot get state 'state'
> > > > > Nothing bootable found on 'bootchooser'
> > > > > Nothing bootable found
> > > > 
> > > > Looks like the state node is missing in your device tree.
> > > > Which version of barebox do you use?
> > > > And from which layer / recipe?
> > > > 
> > > > > Building the "same" image in yocto thud works fine. The boot 
> > > > > variables
> > > > > are:
> > > > > 
> > > > > * BOOT_system0_.default: 3
> > > > > * BOOT_system1_.default: 3
> > > > > * allow_color: 0
> > > > > * autoboot_timeout: 3
> > > > > * boot.default: bootchooser
> > > > >   boot.watchdog_timeout: 0
> > > > >   bootchooser.default_attempts: 3
> > > > >   bootchooser.default_priority: 1
> > > > >   bootchooser.disable_on_zero_attempts: 0
> > > > >   bootchooser.reset_attempts:  (list: "power-on", "all-zero")
> > > > >   bootchooser.reset_priorities:
> > > > >   bootchooser.retry: 0
> > > > > * bootchooser.state_prefix: state.bootstate
> > > > > * bootchooser.system0.boot: mmc
> > > > > * bootchooser.system0.default_attempts: 3
> > > > > * bootchooser.system0.default_priority: 20
> > > > > * bootchooser.system1.boot: mmc1
> > > > > * bootchooser.system1.default_attempts: 3
> > > > > * bootchooser.system1.default_priority: 21
> > > > > * bootchooser.targets: system0 system1
> > > > >   bootm.appendroot: 0
> > > > > ...
> > > > > 
> > > > 
> > > > Regards, Enrico
> > > 
> > > _______________________________________________
> > > barebox mailing list
> > > barebox@lists.infradead.org
> > > https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fl
> > > ists 
> > > .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&amp;data=01%7C01%7Ch
> > > u.sc 
> > > hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974
> > > af9b 
> > > 352b437cb606e9f242c0c227%7C0&amp;sdata=xYCzF1pdhTQArF5%2BHffieEkHN
> > > mdqX
> > > w%2BVo2EFWg%2FKOHY%3D&amp;reserved=0
> > > 
> > 
> > 
> 
> 
-- 
Pengutronix e.K.                    | Enrico Jörns                |
Embedded Linux Consulting & Support | Team Lead Integration       |
Steuerwalder Str. 21                | https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pengutronix.de&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7C7bea6efe1782401bc43f08d799c9e2c8%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=rPKoAb3cJyvDjdw7Fh9Z6RH2y1Oa2kagXFob7UJNswk%3D&amp;reserved=0  |
31137 Hildesheim, Germany           | Phone: +49-5121-206917-5080 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-16 15:09           ` Hans-Ulrich Schlieben
@ 2020-01-20 15:23             ` Ahmad Fatoum
  2020-01-21 17:51               ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-20 15:23 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns, yocto; +Cc: barebox

Hello,

On 1/16/20 4:09 PM, Hans-Ulrich Schlieben wrote:
> Hi Ahmad,
> 
> Thanks to your Mail I tested with barebox_2017.12.0-phy6.bb (thud used barebox_2017.12.0-phy4.bb) and this works in zeus too. 
> 
>> According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
>> There should also be an /dev/eeprom0.update-eeprom in barebox.
> That seems right, when working the eeprom is written to on each boot.
> But I could not find any references to *eep* inside barebox in any layer.

Does it come from the phytec git directly? Upstream barebox has this:
https://git.pengutronix.de/cgit/barebox/tree/arch/arm/dts/imx6qdl-phytec-state.dtsi?h=next

I would imagine, yours does to. You can check in the yocto build directory.
(If you have rm_work enabled, you might need RM_WORK_EXCLUDE += "your-barebox-recipe"
in your local.conf)

Also try of_dump /state inside of barebox to see the device tree node.

The reason, you haven't found it in the deploy/ device tree is that barebox modifies
the kernel device tree on loading and adds the state nodes to it.

>> if not, try executing the drvinfo command and see if the driver has probed the EEPROM.
>>>> Looks like the state node is missing in your device tree.

Do you have the state driver enabled? drvinfo should tell you that.

Cheers
Ahmad

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-16 15:13             ` Hans-Ulrich Schlieben
@ 2020-01-20 15:31               ` Ahmad Fatoum
  2020-01-21 18:28                 ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-20 15:31 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns; +Cc: yocto, barebox

Hello,

On 1/16/20 4:13 PM, Hans-Ulrich Schlieben wrote:
> Hi Enrico,
> 
> thank you for your help and for telling me about fdtdump. Works great.
> I could not find any references to state in the device tree.
> There where no references to state and bootchooser in the devicetree. 
> The only references to barebox are two addresses inside the nand:
>         gpmi-nand@00112000 {
> ...
>             partition@0 {
>                 label = "barebox";
>                 reg = <0x00000000 0x00400000>;
>             };
>             partition@1 {
>                 label = "barebox-environment";
>                 reg = <0x00400000 0x00100000>;
>             };
> ...
> And there is a eeprom entry:
>             i2c@021a8000 {
> ...
>                 eeprom@50 {
>                     compatible = "atmel,24c32";
>                     reg = <0x00000050>;
>                 };
> Where to look for state in the devicetree?

As mentioned in the other mail, it's in the barebox device tree
and on Linux boot fixed up into the Linux device tree.

> Anyhow I compiled a zeus image using the old barebox version 2017.12.0 and bootchooser works again with zeus.
> Interesting is that ubi fails too like in thud. So it seems as long as ubi fails state could be used or the other way around.

I don't think they are related.

It would be best if you can try to reproduce this issue with upstream barebox.
To do so without yocto:

  git clone https://git.pengutronix.de/git/barebox
  cd barebox
  cp $your_barebox_config_in_yocto .config
  make -j$(nproc) CROSS_COMPILE=/path/to/your/yocto/toolchain/bin/arm-$your_vendor-linux-gnueabihf- ARCH=arm

under images/ you will have the barebox images. You can get that onto your
device using a SD-Card, imx-usb-loader, tftp ... etc.

If you want to do it in Yocto, there are meta-ptx and meta-barebox that have
more recent barebox versions.

Cheers
Ahmad

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-20 15:23             ` Ahmad Fatoum
@ 2020-01-21 17:51               ` Hans-Ulrich Schlieben
  2020-01-21 20:21                 ` Ahmad Fatoum
  0 siblings, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-21 17:51 UTC (permalink / raw)
  To: Ahmad Fatoum, Enrico Joerns, yocto; +Cc: barebox

Hi Ahmad,

thank you for the great help. There's a lot to learn for me here.
> Does it come from the phytec git directly? Upstream barebox has this:
The zeus image I build here includes layer meta-phytec branch zeus and a custom layer from phytec called meta-ksp0663.
On the custom layer I created a new branch zeus and just renamed the barebox and barebox-targettools bbappend files from 2017 to 2019.

You are right about the missing state in barebox2019.01. 
for barebox 2019 drvinfo just contains:
state

drvinfo for barebox 2017 says:
state 
        imx6qdl_phytec_boot_state.19
Does that mean that the driver is not loaded?

At the barebox2019 version of_dump returns: Cannot find nodepath state
At the barebox2017 version of_dump returns a full subtree for imx6qdl_phytec_boot_state and the eeprom entry for state.

Looking into the 2017 barebox sources using      find ./ -iname "imx6qdl-phytec*.dtsi"  it finds imx6qdl-phytec-state.dtsi:
This file does not exist in the 2019 barebox sources. There is only imx6ul-phytec-state.dtsi available.

Now I will try the upstream version.

Thank you very much for your help.

Best Regards

hu

> -----Original Message-----
> From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
> Sent: Monday, 20 January 2020 16:23
> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
> Cc: barebox@lists.infradead.org
> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
> 
> Hello,
> 
> On 1/16/20 4:09 PM, Hans-Ulrich Schlieben wrote:
> > Hi Ahmad,
> > 
> > Thanks to your Mail I tested with barebox_2017.12.0-phy6.bb (thud used barebox_2017.12.0-phy4.bb) and this works in zeus too. 
> > 
> >> According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
> >> There should also be an /dev/eeprom0.update-eeprom in barebox.
> > That seems right, when working the eeprom is written to on each boot.
> > But I could not find any references to *eep* inside barebox in any layer.
> 
> Does it come from the phytec git directly? Upstream barebox has this:
> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.pengutronix.de%2Fcgit%2Fbarebox%2Ftree%2Farch%2Farm%2Fdts%2Fimx6qdl-phytec-state.dtsi%3Fh%3Dnext&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Cfd604ff2646c497fbb3508d79dbca678%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=fXOQB7awFhPhxJmDAyN5ipLxe3W8IbAw3vp03GL1Y10%3D&amp;reserved=0
> 
> I would imagine, yours does to. You can check in the yocto build directory.
> (If you have rm_work enabled, you might need RM_WORK_EXCLUDE += "your-barebox-recipe"
> in your local.conf)
> 
> Also try of_dump /state inside of barebox to see the device tree node.
> 
> The reason, you haven't found it in the deploy/ device tree is that barebox modifies the kernel device tree on loading and adds the state nodes to it.
> 
> >> if not, try executing the drvinfo command and see if the driver has probed the EEPROM.
> >>>> Looks like the state node is missing in your device tree.
> 
> Do you have the state driver enabled? drvinfo should tell you that.
> 
> Cheers
> Ahmad
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Cfd604ff2646c497fbb3508d79dbca678%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=Edh9RArsjllc2C5LSvixIndwBoKZfMY0dnbLT2NdE1w%3D&amp;reserved=0  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-20 15:31               ` Ahmad Fatoum
@ 2020-01-21 18:28                 ` Hans-Ulrich Schlieben
  2020-01-21 20:18                   ` Ahmad Fatoum
  2020-01-22 17:59                   ` Robert Berger@yocto.user
  0 siblings, 2 replies; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-21 18:28 UTC (permalink / raw)
  To: Ahmad Fatoum, Enrico Joerns; +Cc: yocto, barebox

Hi Ahmad, 

>   git clone https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.pengutronix.de%2Fgit%2Fbarebox&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7C5fdd291346554b1d5e3d08d79dbdda2b%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=L8WAZYdcm0kjTNZG8OFnedXXyG3DHyIHx1r4gh%2B%2FC%2BI%3D&amp;reserved=0
>   cd barebox
>   cp $your_barebox_config_in_yocto .config
>   make -j$(nproc) CROSS_COMPILE=/path/to/your/yocto/toolchain/bin/arm-$your_vendor-linux-gnueabihf- ARCH=arm

I tried to build the barebox sources but got the following error:
$ make -j$(nproc) CROSS_COMPILE=/path/to/your/yocto/toolchain/bin/arm-$your_vendor-linux-gnueabihf- ARCH=arm
make: /path/to/your/yocto/toolchain/bin/arm--linux-gnueabihf-gcc: Kommando nicht gefunden
  LEX     scripts/kconfig/lexer.lex.c
/bin/sh: 1: flex: not found
make[2]: *** [scripts/Makefile.lib:194: scripts/kconfig/lexer.lex.c] Fehler 127
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
  YACC    scripts/kconfig/parser.tab.h
/bin/sh: 1: bison: not found
make[2]: *** [scripts/Makefile.lib:208: scripts/kconfig/parser.tab.h] Fehler 127
make[1]: *** [/opt/apps/zeus/barebox/barebox/Makefile:422: syncconfig] Fehler 2
make: *** [Makefile:463: include/config/auto.conf.cmd] Fehler 2

Is the .config file wrong? I copied it from the barebox folder where I built barebox 2017 version.

 
> under images/ you will have the barebox images. You can get that onto your device using a SD-Card, imx-usb-loader, tftp ... etc.
When the build succeeds where or how to put the image on the sdcard?
By the way, which image is it there a lots of images in the ./image folder and there is none named imx6qdl? There are some named imx6dl and one imx6q.

> 
> If you want to do it in Yocto, there are meta-ptx and meta-barebox that have more recent barebox versions.
Tomorrow I will try too, to build the upstream version using yocto.

Thank you so much.

Best Regards

hu
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-21 18:28                 ` Hans-Ulrich Schlieben
@ 2020-01-21 20:18                   ` Ahmad Fatoum
  2020-01-22 17:59                   ` Robert Berger@yocto.user
  1 sibling, 0 replies; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-21 20:18 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns; +Cc: yocto, barebox

Hello Hans-Ulrich,

On 1/21/20 7:28 PM, Hans-Ulrich Schlieben wrote:
> Hi Ahmad, 
> 
>>   git clone https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.pengutronix.de%2Fgit%2Fbarebox&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7C5fdd291346554b1d5e3d08d79dbdda2b%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=L8WAZYdcm0kjTNZG8OFnedXXyG3DHyIHx1r4gh%2B%2FC%2BI%3D&amp;reserved=0
>>   cd barebox
>>   cp $your_barebox_config_in_yocto .config
>>   make -j$(nproc) CROSS_COMPILE=/path/to/your/yocto/toolchain/bin/arm-$your_vendor-linux-gnueabihf- ARCH=arm
> 
> I tried to build the barebox sources but got the following error:
> $ make -j$(nproc) CROSS_COMPILE=/path/to/your/yocto/toolchain/bin/arm-$your_vendor-linux-gnueabihf- ARCH=arm
> make: /path/to/your/yocto/toolchain/bin/arm--linux-gnueabihf-gcc: Kommando nicht gefunden
>   LEX     scripts/kconfig/lexer.lex.c
> /bin/sh: 1: flex: not found
> make[2]: *** [scripts/Makefile.lib:194: scripts/kconfig/lexer.lex.c] Fehler 127
> make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
>   YACC    scripts/kconfig/parser.tab.h
> /bin/sh: 1: bison: not found
> make[2]: *** [scripts/Makefile.lib:208: scripts/kconfig/parser.tab.h] Fehler 127
> make[1]: *** [/opt/apps/zeus/barebox/barebox/Makefile:422: syncconfig] Fehler 2
> make: *** [Makefile:463: include/config/auto.conf.cmd] Fehler 2
> 
> Is the .config file wrong? I copied it from the barebox folder where I built barebox 2017 version.

You missed the $your_vendor placeholders, which you need to replace with the toolchain vendor you
configured for your Yocto Toolchain. If in doubt, just

apt install gcc-arm-linux-gnueabihf

and use CROSS_COMPILE=gcc-arm-linux-gnueabihf

You also need to install flex and bison.

>> under images/ you will have the barebox images. You can get that onto your device using a SD-Card, imx-usb-loader, tftp ... etc.
> When the build succeeds where or how to put the image on the sdcard?
> By the way, which image is it there a lots of images in the ./image folder and there is none named imx6qdl? There are some named imx6dl and one imx6q.

You will note that device trees starting with imx6qdl always have a .dtsi extension,
which are device tree source _includes_. They aren't full device trees. Most importantly,
they miss the SoC nodes that differentiate between i.MX6 Quad and DualLite.

This is done this way, so you can have the same dtsi and use it in a dts once with imx6q.dtsi
and once more with imx6dl.dtsi without having to replicate the common parts on the SoM.

As for which one to use, depends on your board. If you have a Quad or Dual, use imx6q-$boardname,
if you have Dual Lite or Solo use imx6dl-.


Cheers
Ahmad

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-21 17:51               ` Hans-Ulrich Schlieben
@ 2020-01-21 20:21                 ` Ahmad Fatoum
  2020-01-23 15:37                   ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-21 20:21 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Enrico Joerns, yocto; +Cc: barebox

Hi,

On 1/21/20 6:51 PM, Hans-Ulrich Schlieben wrote:
> Hi Ahmad,
> 
> thank you for the great help. There's a lot to learn for me here.
>> Does it come from the phytec git directly? Upstream barebox has this:
> The zeus image I build here includes layer meta-phytec branch zeus and a custom layer from phytec called meta-ksp0663.
> On the custom layer I created a new branch zeus and just renamed the barebox and barebox-targettools bbappend files from 2017 to 2019.
> 
> You are right about the missing state in barebox2019.01. 
> for barebox 2019 drvinfo just contains:
> state
> 
> drvinfo for barebox 2017 says:
> state 
>         imx6qdl_phytec_boot_state.19
> Does that mean that the driver is not loaded?

This means you have a state driver, but there was no device to bind to.

> At the barebox2019 version of_dump returns: Cannot find nodepath state
> At the barebox2017 version of_dump returns a full subtree for imx6qdl_phytec_boot_state and the eeprom entry for state.
> 
> Looking into the 2017 barebox sources using      find ./ -iname "imx6qdl-phytec*.dtsi"  it finds imx6qdl-phytec-state.dtsi:
> This file does not exist in the 2019 barebox sources. There is only imx6ul-phytec-state.dtsi available.

Ha! That's it. The file is in upstream barebox, so no idea why Phytec dropped it.
That's probably a question for Phytec support.

Cheers
Ahmad

> 
> Now I will try the upstream version.
> 
> Thank you very much for your help.
> 
> Best Regards
> 
> hu
> 
>> -----Original Message-----
>> From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
>> Sent: Monday, 20 January 2020 16:23
>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
>> Cc: barebox@lists.infradead.org
>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>
>> Hello,
>>
>> On 1/16/20 4:09 PM, Hans-Ulrich Schlieben wrote:
>>> Hi Ahmad,
>>>
>>> Thanks to your Mail I tested with barebox_2017.12.0-phy6.bb (thud used barebox_2017.12.0-phy4.bb) and this works in zeus too. 
>>>
>>>> According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
>>>> There should also be an /dev/eeprom0.update-eeprom in barebox.
>>> That seems right, when working the eeprom is written to on each boot.
>>> But I could not find any references to *eep* inside barebox in any layer.
>>
>> Does it come from the phytec git directly? Upstream barebox has this:
>> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.pengutronix.de%2Fcgit%2Fbarebox%2Ftree%2Farch%2Farm%2Fdts%2Fimx6qdl-phytec-state.dtsi%3Fh%3Dnext&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Cfd604ff2646c497fbb3508d79dbca678%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=fXOQB7awFhPhxJmDAyN5ipLxe3W8IbAw3vp03GL1Y10%3D&amp;reserved=0
>>
>> I would imagine, yours does to. You can check in the yocto build directory.
>> (If you have rm_work enabled, you might need RM_WORK_EXCLUDE += "your-barebox-recipe"
>> in your local.conf)
>>
>> Also try of_dump /state inside of barebox to see the device tree node.
>>
>> The reason, you haven't found it in the deploy/ device tree is that barebox modifies the kernel device tree on loading and adds the state nodes to it.
>>
>>>> if not, try executing the drvinfo command and see if the driver has probed the EEPROM.
>>>>>> Looks like the state node is missing in your device tree.
>>
>> Do you have the state driver enabled? drvinfo should tell you that.
>>
>> Cheers
>> Ahmad
>>
>> -- 
>> Pengutronix e.K.                           |                             |
>> Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Cfd604ff2646c497fbb3508d79dbca678%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=Edh9RArsjllc2C5LSvixIndwBoKZfMY0dnbLT2NdE1w%3D&amp;reserved=0  |
>> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
>> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-21 18:28                 ` Hans-Ulrich Schlieben
  2020-01-21 20:18                   ` Ahmad Fatoum
@ 2020-01-22 17:59                   ` Robert Berger@yocto.user
  2020-01-23 15:30                     ` Hans-Ulrich Schlieben
  1 sibling, 1 reply; 22+ messages in thread
From: Robert Berger@yocto.user @ 2020-01-22 17:59 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Ahmad Fatoum, Enrico Joerns; +Cc: yocto, barebox

Hi,

Did you install the SDK?

Did you run the environment script?

> make: /path/to/your/yocto/toolchain/bin/arm--linux-gnueabihf-gcc: Kommando nicht gefunden
>    LEX     scripts/kconfig/lexer.lex.c
> /bin/sh: 1: flex: not found

>    YACC    scripts/kconfig/parser.tab.h
> /bin/sh: 1: bison: not found

flex and bison seem to be missing as well.

Regards,

Robert

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-22 17:59                   ` Robert Berger@yocto.user
@ 2020-01-23 15:30                     ` Hans-Ulrich Schlieben
  2020-01-23 15:36                       ` Ahmad Fatoum
  0 siblings, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-23 15:30 UTC (permalink / raw)
  To: Robert Berger@yocto.user, Ahmad Fatoum, Enrico Joerns; +Cc: yocto, barebox

Hi Robert,

there where no SDK, bison and flex missing. Now it compiled. Thanx.
There are 

Copying it onto the system and running it from the console just returned error code 132 and: 
Illegal instruction

I copied the .config file from yocto into the barebox directory. Do I have still the wrong architecture?

Perhaps I have to copy  ./images/barebox-phytec-phycard-imx6q-1gib.img onto the destination system starting at offset 0x1000 using dd.
How to copy barebox onto the sdcard? There is no setupmbr executable in ./scripts/setupmbr, just a c file and no working Makefile.

Thank you and Best Regards

hu




-----Original Message-----
From: Robert Berger@yocto.user <robert.berger.yocto.user@gmail.com> 
Sent: Wednesday, 22 January 2020 18:59
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Ahmad Fatoum <a.fatoum@pengutronix.de>; Enrico Joerns <ejo@pengutronix.de>
Cc: yocto@lists.yoctoproject.org; barebox@lists.infradead.org
Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'

Hi,

Did you install the SDK?

Did you run the environment script?

> make: /path/to/your/yocto/toolchain/bin/arm--linux-gnueabihf-gcc: Kommando nicht gefunden
>    LEX     scripts/kconfig/lexer.lex.c
> /bin/sh: 1: flex: not found

>    YACC    scripts/kconfig/parser.tab.h
> /bin/sh: 1: bison: not found

flex and bison seem to be missing as well.

Regards,

Robert
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-23 15:30                     ` Hans-Ulrich Schlieben
@ 2020-01-23 15:36                       ` Ahmad Fatoum
  2020-01-23 16:11                         ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-23 15:36 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Robert Berger@yocto.user, Enrico Joerns
  Cc: yocto, barebox

Hello,

On 1/23/20 4:30 PM, Hans-Ulrich Schlieben wrote:
> Hi Robert,
> 
> there where no SDK, bison and flex missing. Now it compiled. Thanx.
> There are 
> 
> Copying it onto the system and running it from the console just returned error code 132 and: 
> Illegal instruction

Running what?

> I copied the .config file from yocto into the barebox directory. Do I have still the wrong architecture?
> 
> Perhaps I have to copy  ./images/barebox-phytec-phycard-imx6q-1gib.img onto the destination system starting at offset 0x1000 using dd.
> How to copy barebox onto the sdcard? There is no setupmbr executable in ./scripts/setupmbr, just a c file and no working Makefile.

barebox already has the dcd offset in, just dd the correct image to the start of your SD-Card and it should work.

Cheers
Ahmad


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-21 20:21                 ` Ahmad Fatoum
@ 2020-01-23 15:37                   ` Hans-Ulrich Schlieben
  0 siblings, 0 replies; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-23 15:37 UTC (permalink / raw)
  To: Ahmad Fatoum, Enrico Joerns, yocto; +Cc: barebox

Hi Ahmad,

i asked phytec about barebox2019 and was told that it supports imx6ul and not imx6q. I should continue to use barebox2017.
So I use Barebox2017, which works in zeus with bootchooser.

Thank you very much for your great help.

hu

-----Original Message-----
From: Ahmad Fatoum <a.fatoum@pengutronix.de> 
Sent: Tuesday, 21 January 2020 21:21
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
Cc: barebox@lists.infradead.org
Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'

Hi,

On 1/21/20 6:51 PM, Hans-Ulrich Schlieben wrote:
> Hi Ahmad,
> 
> thank you for the great help. There's a lot to learn for me here.
>> Does it come from the phytec git directly? Upstream barebox has this:
> The zeus image I build here includes layer meta-phytec branch zeus and a custom layer from phytec called meta-ksp0663.
> On the custom layer I created a new branch zeus and just renamed the barebox and barebox-targettools bbappend files from 2017 to 2019.
> 
> You are right about the missing state in barebox2019.01. 
> for barebox 2019 drvinfo just contains:
> state
> 
> drvinfo for barebox 2017 says:
> state 
>         imx6qdl_phytec_boot_state.19
> Does that mean that the driver is not loaded?

This means you have a state driver, but there was no device to bind to.

> At the barebox2019 version of_dump returns: Cannot find nodepath state 
> At the barebox2017 version of_dump returns a full subtree for imx6qdl_phytec_boot_state and the eeprom entry for state.
> 
> Looking into the 2017 barebox sources using      find ./ -iname "imx6qdl-phytec*.dtsi"  it finds imx6qdl-phytec-state.dtsi:
> This file does not exist in the 2019 barebox sources. There is only imx6ul-phytec-state.dtsi available.

Ha! That's it. The file is in upstream barebox, so no idea why Phytec dropped it.
That's probably a question for Phytec support.

Cheers
Ahmad

> 
> Now I will try the upstream version.
> 
> Thank you very much for your help.
> 
> Best Regards
> 
> hu
> 
>> -----Original Message-----
>> From: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> Sent: Monday, 20 January 2020 16:23
>> To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>; Enrico 
>> Joerns <ejo@pengutronix.de>; yocto@lists.yoctoproject.org
>> Cc: barebox@lists.infradead.org
>> Subject: Re: [yocto] #yocto bootchooser: Cannot get state 'state'
>>
>> Hello,
>>
>> On 1/16/20 4:09 PM, Hans-Ulrich Schlieben wrote:
>>> Hi Ahmad,
>>>
>>> Thanks to your Mail I tested with barebox_2017.12.0-phy6.bb (thud used barebox_2017.12.0-phy4.bb) and this works in zeus too. 
>>>
>>>> According to the state command output under thud, your state is stored on the EEPROM, not the NAND. Look for update-eeprom in your device tree.
>>>> There should also be an /dev/eeprom0.update-eeprom in barebox.
>>> That seems right, when working the eeprom is written to on each boot.
>>> But I could not find any references to *eep* inside barebox in any layer.
>>
>> Does it come from the phytec git directly? Upstream barebox has this:
>> https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
>> .pengutronix.de%2Fcgit%2Fbarebox%2Ftree%2Farch%2Farm%2Fdts%2Fimx6qdl-
>> phytec-state.dtsi%3Fh%3Dnext&amp;data=01%7C01%7Chu.schlieben%40codewr
>> ights.de%7Ce3ebad52e8684e97508408d79eaf7bdc%7C0974af9b352b437cb606e9f
>> 242c0c227%7C0&amp;sdata=DZxO9KqXifll8fJMkpncakmLGAzbR1uMXnSKziBVzLY%3
>> D&amp;reserved=0
>>
>> I would imagine, yours does to. You can check in the yocto build directory.
>> (If you have rm_work enabled, you might need RM_WORK_EXCLUDE += "your-barebox-recipe"
>> in your local.conf)
>>
>> Also try of_dump /state inside of barebox to see the device tree node.
>>
>> The reason, you haven't found it in the deploy/ device tree is that barebox modifies the kernel device tree on loading and adds the state nodes to it.
>>
>>>> if not, try executing the drvinfo command and see if the driver has probed the EEPROM.
>>>>>> Looks like the state node is missing in your device tree.
>>
>> Do you have the state driver enabled? drvinfo should tell you that.
>>
>> Cheers
>> Ahmad
>>
>> -- 
>> Pengutronix e.K.                           |                             |
>> Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Ce3ebad52e8684e97508408d79eaf7bdc%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=82oH7MjlqIb3kDd0NRfhXyWz%2FFYQqD9I7P9YhcfKbKc%3D&amp;reserved=0  |
>> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
>> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7Ce3ebad52e8684e97508408d79eaf7bdc%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=82oH7MjlqIb3kDd0NRfhXyWz%2FFYQqD9I7P9YhcfKbKc%3D&amp;reserved=0  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-23 15:36                       ` Ahmad Fatoum
@ 2020-01-23 16:11                         ` Hans-Ulrich Schlieben
  2020-01-23 16:17                           ` Ahmad Fatoum
  0 siblings, 1 reply; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-23 16:11 UTC (permalink / raw)
  To: Ahmad Fatoum, Robert Berger@yocto.user, Enrico Joerns; +Cc: yocto, barebox

Hi Ahmad,

> 
> Hello,
> 
> On 1/23/20 4:30 PM, Hans-Ulrich Schlieben wrote:
> > Hi Robert,
> > 
> > there where no SDK, bison and flex missing. Now it compiled. Thanx.
> > There are 
> > 
> > Copying it onto the system and running it from the console just returned error code 132 and: 
> > Illegal instruction
> 
> Running what?
The barebox executable in the barebox folder, not some image. The executable starts with ELF so it should run, shouldn't it?
In the barebox README states:  The barebox image is a normal Linux executable, so it can be started  just like every other program

> > I copied the .config file from yocto into the barebox directory. Do I have still the wrong architecture?
> > 
> > Perhaps I have to copy  ./images/barebox-phytec-phycard-imx6q-1gib.img onto the destination system starting at offset 0x1000 using dd.
> > How to copy barebox onto the sdcard? There is no setupmbr executable in ./scripts/setupmbr, just a c file and no working Makefile.
> 
> barebox already has the dcd offset in, just dd the correct image to the start of your SD-Card and it should work.
Wait, just running dd if= bareboximagefile of=/dev/mmcblk0 would just kill my Partitiontable in sector 0. 
When I look into the bareboximagefile I see two sections starting with something like barebox.......UUUUUUUUUUUUUUUUUUUUUUUUUU at offset 0 and offset 0x1000.
The part at 0x1000 resembles more what I see on my sdcard on offset 0x1000 so my approach would be to
dd if= bareboximagefile of=/dev/mmcblk0 bs=512 offset=8 skip=8.
What do you think?

> 
> Cheers
> Ahmad
> 
> 
Thank you and Best Regards

hu

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-23 16:11                         ` Hans-Ulrich Schlieben
@ 2020-01-23 16:17                           ` Ahmad Fatoum
  2020-01-23 16:31                             ` Hans-Ulrich Schlieben
  0 siblings, 1 reply; 22+ messages in thread
From: Ahmad Fatoum @ 2020-01-23 16:17 UTC (permalink / raw)
  To: Hans-Ulrich Schlieben, Robert Berger@yocto.user, Enrico Joerns
  Cc: yocto, barebox

On 1/23/20 5:11 PM, Hans-Ulrich Schlieben wrote:
> Hi Ahmad,
> 
>>
>> Hello,
>>
>> On 1/23/20 4:30 PM, Hans-Ulrich Schlieben wrote:
>>> Hi Robert,
>>>
>>> there where no SDK, bison and flex missing. Now it compiled. Thanx.
>>> There are 
>>>
>>> Copying it onto the system and running it from the console just returned error code 132 and: 
>>> Illegal instruction
>>
>> Running what?
> The barebox executable in the barebox folder, not some image. The executable starts with ELF so it should run, shouldn't it?
> In the barebox README states:  The barebox image is a normal Linux executable, so it can be started  just like every other program

Few lines earlier, it says that the scenario in the document uses ARCH=sandbox, which indeed is an
ELF executable for your host system. When building for ARCH=arm though, the resulting ELF isn't meant
for running under an OS, even an ARM. Instead the necessary sections are copied out of the ELF according
to a SoC-specific layout.

>>> I copied the .config file from yocto into the barebox directory. Do I have still the wrong architecture?
>>>
>>> Perhaps I have to copy  ./images/barebox-phytec-phycard-imx6q-1gib.img onto the destination system starting at offset 0x1000 using dd.
>>> How to copy barebox onto the sdcard? There is no setupmbr executable in ./scripts/setupmbr, just a c file and no working Makefile.
>>
>> barebox already has the dcd offset in, just dd the correct image to the start of your SD-Card and it should work.
> Wait, just running dd if= bareboximagefile of=/dev/mmcblk0 would just kill my Partitiontable in sector 0. 

For testing, you can just kill your partition table, but yes eventually, you will want to copy barebox later
in the image.

> When I look into the bareboximagefile I see two sections starting with something like barebox.......UUUUUUUUUUUUUUUUUUUUUUUUUU at offset 0 and offset 0x1000.
> The part at 0x1000 resembles more what I see on my sdcard on offset 0x1000 so my approach would be to
> dd if= bareboximagefile of=/dev/mmcblk0 bs=512 offset=8 skip=8.
> What do you think?

yes, this should work.

> 
>>
>> Cheers
>> Ahmad
>>
>>
> Thank you and Best Regards
> 
> hu
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [yocto] #yocto bootchooser: Cannot get state 'state'
  2020-01-23 16:17                           ` Ahmad Fatoum
@ 2020-01-23 16:31                             ` Hans-Ulrich Schlieben
  0 siblings, 0 replies; 22+ messages in thread
From: Hans-Ulrich Schlieben @ 2020-01-23 16:31 UTC (permalink / raw)
  To: Ahmad Fatoum, Robert Berger@yocto.user, Enrico Joerns; +Cc: yocto, barebox

Hi,

both dd copies of barebox (with and without offset) reproduced a system which no longer shows anything on the console.
Probably I setup something wrong when building barebox.

Regards

hu


> Hi Ahmad,
> 
>>
>> Hello,
>>
>> On 1/23/20 4:30 PM, Hans-Ulrich Schlieben wrote:
>>> Hi Robert,
>>>
>>> there where no SDK, bison and flex missing. Now it compiled. Thanx.
>>> There are
>>>
>>> Copying it onto the system and running it from the console just returned error code 132 and: 
>>> Illegal instruction
>>
>> Running what?
> The barebox executable in the barebox folder, not some image. The executable starts with ELF so it should run, shouldn't it?
> In the barebox README states:  The barebox image is a normal Linux 
> executable, so it can be started  just like every other program

Few lines earlier, it says that the scenario in the document uses ARCH=sandbox, which indeed is an ELF executable for your host system. When building for ARCH=arm though, the resulting ELF isn't meant for running under an OS, even an ARM. Instead the necessary sections are copied out of the ELF according to a SoC-specific layout.

>>> I copied the .config file from yocto into the barebox directory. Do I have still the wrong architecture?
>>>
>>> Perhaps I have to copy  ./images/barebox-phytec-phycard-imx6q-1gib.img onto the destination system starting at offset 0x1000 using dd.
>>> How to copy barebox onto the sdcard? There is no setupmbr executable in ./scripts/setupmbr, just a c file and no working Makefile.
>>
>> barebox already has the dcd offset in, just dd the correct image to the start of your SD-Card and it should work.
> Wait, just running dd if= bareboximagefile of=/dev/mmcblk0 would just kill my Partitiontable in sector 0. 

For testing, you can just kill your partition table, but yes eventually, you will want to copy barebox later in the image.

> When I look into the bareboximagefile I see two sections starting with something like barebox.......UUUUUUUUUUUUUUUUUUUUUUUUUU at offset 0 and offset 0x1000.
> The part at 0x1000 resembles more what I see on my sdcard on offset 
> 0x1000 so my approach would be to dd if= bareboximagefile of=/dev/mmcblk0 bs=512 offset=8 skip=8.
> What do you think?

yes, this should work.

> 
>>
>> Cheers
>> Ahmad
>>
>>
> Thank you and Best Regards
> 
> hu
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pengutronix.de%2F&amp;data=01%7C01%7Chu.schlieben%40codewrights.de%7C94d4466fb4154885110908d7a01fb7b0%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=pv5a4oMQQIrYqN%2FHq3zoJxONm0QuuJkXOa9UqFPu38Q%3D&amp;reserved=0 |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-01-23 16:31 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <r276.1579090214262888471.6UJY@lists.yoctoproject.org>
2020-01-15 13:02 ` [yocto] #yocto bootchooser: Cannot get state 'state' Enrico Joerns
2020-01-15 13:26   ` Hans-Ulrich Schlieben
2020-01-15 13:38     ` Ahmad Fatoum
2020-01-15 13:39     ` Ahmad Fatoum
2020-01-15 14:25       ` Hans-Ulrich Schlieben
2020-01-15 14:36         ` Ahmad Fatoum
2020-01-15 14:47           ` Enrico Joerns
2020-01-16 15:13             ` Hans-Ulrich Schlieben
2020-01-20 15:31               ` Ahmad Fatoum
2020-01-21 18:28                 ` Hans-Ulrich Schlieben
2020-01-21 20:18                   ` Ahmad Fatoum
2020-01-22 17:59                   ` Robert Berger@yocto.user
2020-01-23 15:30                     ` Hans-Ulrich Schlieben
2020-01-23 15:36                       ` Ahmad Fatoum
2020-01-23 16:11                         ` Hans-Ulrich Schlieben
2020-01-23 16:17                           ` Ahmad Fatoum
2020-01-23 16:31                             ` Hans-Ulrich Schlieben
2020-01-16 15:09           ` Hans-Ulrich Schlieben
2020-01-20 15:23             ` Ahmad Fatoum
2020-01-21 17:51               ` Hans-Ulrich Schlieben
2020-01-21 20:21                 ` Ahmad Fatoum
2020-01-23 15:37                   ` Hans-Ulrich Schlieben

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox