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 [email protected]: USB
EHCI 1.00 imx-esdhc [email protected]: registered as mmc0
imx-ipuv3 [email protected]: IPUv3H probed
imx-ipuv3 [email protected]: 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 <[email protected]>
Sent: Wednesday, 15 January 2020 15:48
To: Hans-Ulrich Schlieben <[email protected]>
Cc: [email protected]; [email protected]; Ahmad Fatoum
<[email protected]>
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 <[email protected]>
> > Sent: Wednesday, 15 January 2020 14:40
> > To: Hans-Ulrich Schlieben <[email protected]>; Enrico
> > Joerns <[email protected]>; [email protected]
> > Cc: [email protected]
> > 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 <[email protected]>
> > > > Sent: Wednesday, 15 January 2020 14:03
> > > > To: Hans-Ulrich Schlieben <[email protected]>;
> > > > [email protected]
> > > > Cc: [email protected]
> > > > 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, [email protected] 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
> > > [email protected]
> > > https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fl
> > > ists
> > > .infradead.org%2Fmailman%2Flistinfo%2Fbarebox&data=01%7C01%7Ch
> > > u.sc
> > > hlieben%40codewrights.de%7Cb6b1eddf633845b6004308d799c06b3c%7C0974
> > > af9b
> > > 352b437cb606e9f242c0c227%7C0&sdata=xYCzF1pdhTQArF5%2BHffieEkHN
> > > mdqX
> > > w%2BVo2EFWg%2FKOHY%3D&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&data=01%7C01%7Chu.schlieben%40codewrights.de%7C7bea6efe1782401bc43f08d799c9e2c8%7C0974af9b352b437cb606e9f242c0c227%7C0&sdata=rPKoAb3cJyvDjdw7Fh9Z6RH2y1Oa2kagXFob7UJNswk%3D&reserved=0
|
31137 Hildesheim, Germany | Phone: +49-5121-206917-5080 |
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox