Boot problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Boot problem

Jump to solution
4,590 Views
hitom
Contributor II

Hello together

I work with the MCIMX6Q-SDB, the board runs well with android image on the sd card.

My next steps:

- Install Ubuntu 9.04 like "Setting up a Linux Host for LTIB Builds on Ubuntu 9.04"

- Installing LTIB like "User manual"

- Creating SD Cart like "Using a Linux Host to Set Up an SD/MMC Card"

After booting the following output occurs:

U-Boot 2009.08 (Apr 17 2013 - 11:37:47)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz

Temperature:   45 C, calibration data 0x5824c17d

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 264000000Hz

emi_slow clock: 132000000Hz

ddr clock     : 528000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 24000000Hz

Board: i.MX6Q-SABRESD: unknown-board Board: 0x63012 [POR ]

Boot Device: SD

I2C:   ready

DRAM:   1 GB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3

*** Warning - bad CRC or MMC, using default environment

In:    serial

Out:   serial

Err:   serial

i2c: I2C3 SDA is low, start i2c recovery...

I2C3 Recovery success

Found PFUZE100! deviceid=10,revid=11

Net:   got MAC address from IIM: 00:04:9f:02:6a:66

FEC0 [PRIME]

Hit any key to stop autoboot:  0

PHY indentify @ 0x1 = 0x004dd074

FEC: Link is down 7949

Using FEC0 device

TFTP from server 192.168.1.101; our IP address is 192.168.1.103

Filename 'uImage'.

Load address: 0x10800000

Loading: FEC: Link is down 7949

FEC: Link is down 7949

FEC: Link is down 7949

FEC: Link is down 7949

FEC: Link is down 7949

FEC: Link is down 7949


Where is my mistake?
Thanks in advance!

Labels (1)
Tags (3)
1 Solution
2,248 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Ok, Answer based on what Leonardo replied :

     Thomas, you can boot your board via NFS, then check if /dev/mmcblk0 and /dev/mmcblk0p1 devives are both in path /dev/.

     If they both exist , use command "mount /dev/mmcblk0p1 part1"(Let me you assume you have a part1 directory)
to mount device to system, see following :

--On console---

#cd /mnt

#mkdir part1

#mount /dev/mmcblk0p1 ./part1

#cd part1

then using ls command to check if rootfs is normal. If it is abnormal, you can re-copy it . in your HOST ubuntu, assume your NFS directory is /opt/nfsroot/, using mkdir command to create a temp director, such as temp_rootfs, and compress ~/ltib/rootfs/* to rootfs.tar.gz , then copy rootfs.tar.gz to ./temp_rootfs.

1. On Host ubuntu:

#cd /opt/nfsroot

#mkdir temp_rootfs

#cd temp_root

#cp -r ~/ltib/rootfs/rootfs.tar.gz ./

2. On Console:

---format partiion1 on mmcblk0----

#mke2fs -T ext4 /dev/block/mmcblk0p2 -o ^extent -L rootfs

#cd /mnt

#mount /dev/mmcblk0p1 ./part1

#cd ./part1

#tar --numeric-owner -zxvf /tem_rootfs/rootfs.tar.gz

<Decompress file system to mmcblk0p1 partition directly>

Then reboot your system ! Try it ,please !

Regards,

Weidong

View solution in original post

0 Kudos
Reply
9 Replies
2,248 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,Thomas,

       It seems that the environment in u-boot has been set to boot from TFTP and NFS. But TFTP server and NFS server can't be found in your ubuntu host.

       So I suggest you check environment setting in u-boot.

Regards,

Weidong

2,248 Views
hitom
Contributor II

Thank you for your replies, unfortunately I had in the past few days no time for the board, but now I am faced with a new problem, have reconfigured the boot loader, now the rootfs seemingly cannot be loaded, I followed the User Guide exactly, enclose the error output during boot:

VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)

Please append a correct "root=" boot option; here are the available partitions:

b300         7757824 mmcblk0  driver: mmcblk

b310            2048 mmcblk0boot1  (driver?)

b308            2048 mmcblk0boot0  (driver?)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

The output from printenv:

ECPU U-Boot > printenv

bootdelay=5

baudrate=115200

ipaddr=192.168.0.222

serverip=192.168.0.10

netmask=255.255.255.0

rd_loadaddr=(0x1300000)

netdev=eth0

ethprime=FEC0

uboot=u-boot.bin

kernel=uImage

nfsroot=/opt/eldk/arm

bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp

bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm

ethact=FEC0

loadaddr=0x10800000

bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw

bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 2; mmc read ${loadaddr} 0x800 0x2000; bootm

bootcmd=run bootcmd_mmc

stdin=serial

stdout=serial

stderr=serial

bootargs_base=setenv bootargs console=ttymxc0,115200

Environment size: 698/8188 bytes

ECPU U-Boot >

Big thanks in advance!

0 Kudos
Reply
2,248 Views
LeonardoSandova
Specialist I

have you tried setting root=/dev/mmcblk1p1? The device /dev/mmcblk1p1 represents the SD card, were the rootfs is locate.

Leo

2,249 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Ok, Answer based on what Leonardo replied :

     Thomas, you can boot your board via NFS, then check if /dev/mmcblk0 and /dev/mmcblk0p1 devives are both in path /dev/.

     If they both exist , use command "mount /dev/mmcblk0p1 part1"(Let me you assume you have a part1 directory)
to mount device to system, see following :

--On console---

#cd /mnt

#mkdir part1

#mount /dev/mmcblk0p1 ./part1

#cd part1

then using ls command to check if rootfs is normal. If it is abnormal, you can re-copy it . in your HOST ubuntu, assume your NFS directory is /opt/nfsroot/, using mkdir command to create a temp director, such as temp_rootfs, and compress ~/ltib/rootfs/* to rootfs.tar.gz , then copy rootfs.tar.gz to ./temp_rootfs.

1. On Host ubuntu:

#cd /opt/nfsroot

#mkdir temp_rootfs

#cd temp_root

#cp -r ~/ltib/rootfs/rootfs.tar.gz ./

2. On Console:

---format partiion1 on mmcblk0----

#mke2fs -T ext4 /dev/block/mmcblk0p2 -o ^extent -L rootfs

#cd /mnt

#mount /dev/mmcblk0p1 ./part1

#cd ./part1

#tar --numeric-owner -zxvf /tem_rootfs/rootfs.tar.gz

<Decompress file system to mmcblk0p1 partition directly>

Then reboot your system ! Try it ,please !

Regards,

Weidong

0 Kudos
Reply
2,248 Views
hitom
Contributor II

Huge thanks to Weidong and Leonardo

Changing to root=/dev/mmcblk1p1 solves my issue!

Attached the working environment:

ECPU U-Boot > printenv

bootdelay=5

baudrate=115200

ipaddr=192.168.0.222

serverip=192.168.0.10

netmask=255.255.255.0

loadaddr=0x10800000

rd_loadaddr=(0x1300000)

netdev=eth0

ethprime=FEC0

uboot=u-boot.bin

kernel=uImage

nfsroot=/opt/eldk/arm

bootargs_base=setenv bootargs console=ttymxc0,115200

bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp

bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm

bootargs_mmc=setenv bootargs ${bootargs} rootfstype=ext2 root=/dev/mmcblk1p1 rw rootwait

bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 2; mmc read ${loadaddr} 0x800 0x2000; bootm

bootcmd=run bootcmd_mmc

stdin=serial

stdout=serial

stderr=serial

ethact=FEC0

Environment size: 714/8188 bytes

ECPU U-Boot >


@Weidong

I burned the SD Card on Ubundu command line with:

1. sudo dd if=u-boot.bin of=/dev/sdd bs=512 seek=2 skip=2 conv=fsync

2. sudo dd if=uImage of=/dev/sdd bs=512 seek=2048 conv=fsync

3. create sdd1 with fdisk

4. Format sdd1 with mkfs.ext2

5. copy rootfs to sdd1

(By the way this is the method from SABRE-SD Linux User's Guide)


Will deal also with the approach of your second answer!


Once again -> Many thanks!

0 Kudos
Reply
2,248 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,Thomas,

     How did you burn images into your sd card ?  by MFG Tool2 ?

weidong

0 Kudos
Reply
2,249 Views
matthiasniederm
Contributor II

Hello  Thomas,

did you have set up a tftp server which provides a kernel for your board? If not do it ! Or you have to set up u-boot to boot from e.g. sdcard.

Cheers

MaTT

0 Kudos
Reply
2,249 Views
hitom
Contributor II

Hello Matt

Thanks a lot, this means the board uses the uboot from the sd card, but the uboot from ltib is configured to load the kernel from net?

Thomas

0 Kudos
Reply
2,249 Views
KursadOney
NXP Employee
NXP Employee

Thomas - It looks like it. Stop u-boot by pressing any key and find the bootcmd_mmc command. I think you can run:

    setenv bootcmd 'run bootcmd_mmc'
    saveenv

to boot from the SD card.

0 Kudos
Reply