Welcome! Log In Create A New Profile

Advanced

Problem booting Pogo V4 - missing DTB

Posted by youxiaojie 
Problem booting Pogo V4 - missing DTB
February 26, 2017 12:21PM
I make a ext3 udisk, tar -xjzf /home/allan/Documents/pogoplug/v4/softwares/Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2, boot with uboot 201407version, but,shows:


U-Boot 2014.07-tld-1 (Jul 18 2014 - 00:59:45)
Pogoplug V4

SoC: Kirkwood 88F6192_A1
DRAM: 128 MiB
WARNING: Caches not enabled
NAND: 128 MiB
MMC: kwsdio: 0
In: serial
Out: serial
Err: serial
Net: egiga0
Hit any key to stop autoboot: 0
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
3154896 bytes read in 483 ms (6.2 MiB/s)
7179935 bytes read in 748 ms (9.2 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-4.4.0-kirkwood-tld-1
Created: 2016-02-19 5:55:25 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3154832 Bytes = 3 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
Image Name: initramfs-4.4.0-kirkwood-tld-1
Created: 2016-02-19 7:33:04 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 7179871 Bytes = 6.8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Using machid 0xf78 from environment

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000f78).

Available machine support:

ID (hex) NAME
ffffffff Generic DT based system
ffffffff Marvell Kirkwood (Flattened Device Tree)

Please check your kernel config and/or bootloader.

someone can help me?



Edited 1 time(s). Last edit at 02/26/2017 03:22PM by bodhi.
Re: Problem booting Pogo V4 - missing DTB
February 26, 2017 03:39PM
youxiaojie,

Your u-boot envs are not set up properly. Power up, interrupt serial console, and

printenv

Please post the entire log here.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
February 26, 2017 08:35PM
Thanks for prompt. I try to solve it bymyself first. and than ask for your help.
Re: Problem booting Pogo V4 - missing DTB
February 26, 2017 11:56PM
youxiaojie Wrote:
-------------------------------------------------------
> Thanks for prompt. I try to solve it bymyself firs
> t. and than ask for your help.

That's the hacking spirit! but don't hesitate to ask if you're stuck somewhere.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
February 27, 2017 02:28AM
ipaddr=192.168.0.231
serverip=192.168.0.220
baudrate=115200
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
if_netconsole=ping $serverip
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
ethaddr=00:25:31:04:38:f5
arcNumber=3960
machid=F78
usb_rootfstype=ext3
bootcmd_pogo=if ubi part root 2048 && ubifsmount ubi:rootfs && ubifsload 0x800000 uboot.mtd0.dockstar.original.kwb ; then go 0x800200; fi
mtdparts=mtdparts=orion_nand:1M(u-boot),-(rootfs)
fdt_file=/boot/kirkwood-pogoplug_v4.dtb
loadaddr=0x800000
zimage=/boot/zImage
fdt_addr=0x1c00000
loadubi=echo Trying to boot from NAND ...;if run mountubi;then run loadubizimage;run loadubifdt;ubifsumount;run bootzubi;fi
mountubi=ubi part rootfs; ubifsmount ubi0:rootfs
loadubizimage=ubifsload ${loadaddr} ${zimage}
loadubifdt=ubifsload ${fdt_addr} ${fdt_file}
bootzubi=echo Booting from nand ...; run setargsubi; bootz ${loadaddr} - ${fdt_addr};
setargsubi=setenv bootargs console=${console},${baudrate} ${optargs} ubi.mtd=1 root=ubi0:rootfs rw rootfstype=ubifs rootwait ${mtdparts}
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; run loadubi; reset

is it this sentence' fault?
fdt_file=/boot/....
but this setting works fine on openwrt.



I saw another version, append usb operation, is that version correct?

what is the function of partition=nand0,2 .
Re: Problem booting Pogo V4 - missing DTB
February 27, 2017 02:58AM
fdt_file=/boot/kirkwood-pogoplug_v4.dtb

is wrong when booting with Debian-4.4.0-kirkwood-tld-1 rootfs. It should be

dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb

Quote

what is the function of partition=nand0,2 .

It is just part of the NAND definition. Not relevant whether you have 2, 4 or 5 MTDs. When you redefine MTDs to your liking, you are at a level above that.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
February 27, 2017 03:00AM
Take a look at the environment text file in the u-boot 2016.05 tarball you've downloaded (or should have downloaded)


Quote

uboot.2016.05-tld-1.environment.bodhi.tar
md5:
3823eef10011b864859d31a76470e0e3
sha256:
c8db95a4225e8d78bdaaaa372bd5a87e4b98f3448dd9c62fc96c72b2df1a997c

This tarball includes 3 files:

uboot.2016.05-tld-1.environment.img (the default envs image to be flashed)
uboot.2016.05-tld-1.environment (the content of the default envs in text format)
uboot.2016.05-tld-1.environment.64K.img (small envs image to be flashed on HP T5325 only).


All 3 distributions Debian (my release), Arch, OpenWrt have different u-boot envs. Rootfs directory structures are also slightly different.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 02/27/2017 03:03AM by bodhi.
Re: Problem booting Pogo V4 - missing DTB
February 27, 2017 06:45AM
ok try again.

Pogov4> printenv dtb_file
dtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb

Pogov4> boot
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
3154896 bytes read in 483 ms (6.2 MiB/s)
7179935 bytes read in 749 ms (9.1 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-4.4.0-kirkwood-tld-1
Created: 2016-02-19 5:55:25 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3154832 Bytes = 3 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
Image Name: initramfs-4.4.0-kirkwood-tld-1
Created: 2016-02-19 7:33:04 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 7179871 Bytes = 6.8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Using machid 0xf78 from environment

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000f78).

Available machine support:

ID (hex) NAME
ffffffff Generic DT based system
ffffffff Marvell Kirkwood (Flattened Device Tree)

Please check your kernel config and/or bootloader.

still errors....
confused.....

allan@debian:/media/allan/rootfs/boot/dts$ ls -l kirkwood-pogoplug_v4.dtb
-rw-r--r-- 1 root root 10246 Jan 31 2016 kirkwood-pogoplug_v4.dtb



Edited 1 time(s). Last edit at 02/27/2017 06:48AM by youxiaojie.
Re: Problem booting Pogo V4 - missing DTB
February 27, 2017 01:56PM
youxiaojie ,

Look at the u-boot installation thread:
http://forum.doozan.com/read.php?3,12381

You installed the u-boot image, but you did not install the u-boot default envs image.

Quote

8. Flashing default u-boot envs image:

As described in step 1, u-boot envs must be defined in etc/fw_env.config as

# MTD device name Device offset Env. size Flash sector size Number of sectors
/dev/mtd0 0xc0000 0x20000 0x20000

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
February 28, 2017 12:59AM
the question is I could not boot into linux , however the nanddump and nandwrite should run in linux.therefore I am finding a correct configure to enter linux in usb first and than update uboot 2016.05 and flash default env.and I saw default env is for pogo e2,mine is pogo v4. is it matter? I also try to boot from serial. does not succeed any way.:)


so i decide to configure a env for uboot 2014.07to boot to linux.



Edited 1 time(s). Last edit at 02/28/2017 01:01AM by youxiaojie.
Re: Problem booting Pogo V4 - missing DTB
February 28, 2017 01:15AM
youxiaojie,

> so i decide to configure a env for uboot 2014.07t
> o boot to linux.

Then you need to use the default u-boot envs for 2014.07. Without the u-boot envs set to correct default values, and then the env for DTB pointing to the correct location on top of that, you will not able to boot.

Quote

a. Download the default u-boot envs at Dropbox:

uboot.2014.07-tld-3.environment.bodhi.tar

BTW, your booting problem can be solved pretty easily :) But you indicated that you want to try to figuring out the problem yourself first to learn, so I respected that and so not giving you a step-by-step solution.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
February 28, 2017 05:23AM
yes under your instrction I try to solve it myself first, but because of leakage of embedded linux / uboot, I have to ask your help.
thank you. anyway I learn a lot.I will try my effort.
Re: Problem booting Pogo V4 - missing DTB
February 28, 2017 03:45PM
youxiaojie,

> first, but because of leakage of embedded linux /
> uboot

Let me describe the problem and solution.

The problem:

You are running my u-boot image 2014.07, but the envs settings are not set to boot with DTB. So therefore the kernel loaded only uImage and uInitrd. It did not try to load the DTB, due to missing envs for that. So that's why the error showed:
Error: unrecognized/unsupported machine ID (r1 = 0x00000f78). 

Available machine support: 

ID (hex)	NAME 
ffffffff	Generic DT based system 
ffffffff	Marvell Kirkwood (Flattened Device Tree)

Solution:

Use this instruction to load the default envs at serial console:
http://forum.doozan.com/read.php?3,29362,29390#msg-29390

and then set the DTB like you did:
fdt_file=/boot/kirkwood-pogoplug_v4.dtb

And then boot.

Update:

OK. In the link above, the envs script are for u-boot 2016.05, but it should work for u-boot 2014.07.

Please post the entire serial console with printenv. Whether you're successful in booting into Debian or not, please do this. It's good to see the result (you are the first one to attempt this test that uses the envs written for 2016.05 on u-boot 2014.07 :).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 3 time(s). Last edit at 02/28/2017 03:53PM by bodhi.
Re: Problem booting Pogo V4 - missing DTB
November 27, 2018 06:21PM
Hi, Bodhi:
Thank you very much for your recent help. The Pogo Mobile works fine now. I just have a question about the dtb file. I set the env item todtb_file=/boot/dts/kirkwood-pogoplug_v4.dtb but there is no such file. Do I need to have a file there? If I do where should I get the file?



Edited 1 time(s). Last edit at 11/27/2018 06:22PM by twinclouds.
Re: Problem booting Pogo V4 - missing DTB
November 27, 2018 07:49PM
Twinclouds,

When you install new kernel version from my realease thread:
https://forum.doozan.com/read.php?2,12096

Step 2 is when all DTB files are extracted to the folder /boot/dts/


Quote

2. Extract the kernel and the DTB files in the archive


cd /boot
tar -xjf linux-4.19.0-kirkwood-tld-1-bodhi.tar.bz2
tar -xf linux-dtb-4.19.0-kirkwood-tld-1.tar

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Problem booting Pogo V4 - missing DTB
November 27, 2018 08:01PM
Sorry. Obviously, I ignored the second part.
Re: Problem booting Pogo V4 - missing DTB
November 30, 2018 01:16PM
Thanks.
Mine works fine now after reading bodhi's reply.
One strange thing is that I found the 2017.07 u-boot is sensitive to the quality/speed of the SD card. The 2014.07 version is much more tolerant. I don't know if this is true or just my imagination.
Re: Problem booting Pogo V4 - missing DTB
November 30, 2018 06:23PM
twinclouds,

> The 2014.07 version is much more tolerant.
> I don't know if this is true or just my
> imagination.

Not your imagination. I think the old SD driver patch is pretty good for Pogo V4 (forum member ebbes did this). But I tried to use mainline where it is compatible for all Kirkwood boxes SD card.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: