The source code is one week old now, so please, update it!
$ repo sync
Example of a content after bitbake
build_mx6/tmp/deploy/images:
fsl-image-gui-imx6qsabresd-20130505174618.rootfs.ext3
fsl-image-gui-imx6qsabresd-20130505174618.rootfs.sdcard
fsl-image-gui-imx6qsabresd-20130505174618.rootfs.tar.bz2
fsl-image-gui-imx6qsabresd-20130508162511.rootfs.ext3
fsl-image-gui-imx6qsabresd-20130508162511.rootfs.sdcard
fsl-image-gui-imx6qsabresd-20130508162511.rootfs.tar.bz2
fsl-image-gui-imx6qsabresd.ext3
fsl-image-gui-imx6qsabresd.sdcard
fsl-image-gui-imx6qsabresd.tar.bz2
modules-3.0.35-1.1.0+yocto+g0596856-r32.10-imx6qsabresd.tgz
README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
u-boot.imx
u-boot-imx6qsabresd.imx
u-boot-imx6qsabresd-v2013.04-r3.imx*
uImage
uImage-3.0.35-r32.10-imx6qsabresd-20130505174618.bin
uImage-imx6qsabresd.bin
Get used with generated images. Understand which file is a symbolic link and which one is the image in fact. Symbolic link will always point to latest image.
Take a look how sdcard is generated here meta-fsl-arm - Layer containing Freescale ARM hardware support metadata
The disk layout used is:
0-> IMAGE_ROOTFS_ALIGNMENT reserved to bootloader (not partitioned)
IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE kernel and other data
BOOT_SPACE -> SDIMG_SIZE rootfs
Use IMAGE_OVERHEAD_FACTOR to add more space
Please, go to original file in order to understand the disk layout.
It´s basically some initial space for u-boot. One partition for uImage. One partition for rootfs. The total sdcard size will be calculate for every image, if you want to add more empty space inside generated sdcard, use IMAGE_OVERHEAD_FACTOR.
Deploy the sdcard image:
$ sudo dd if=fsl-image-gui-imx6qsabresd.sdcard of=/dev/sdX bs=1M
Or, deploy the ext3 rootfs
$ sudo dd if=fsl-image-gui-imx6qsabresd.ext3 of=/dev/sdX2 bs=1M
Or deploy only the tar.bz rootfs
$ sudo mount /dev/sdX2 /mnt/card
$ sudo tar xf imagename-imx53qsb.tar.bz2 -C /mnt/card
In order to deploy only kernel
$ sudo cp uImage-3.0.35-r32.10-imx6qsabresd-20130505174618.bin /media/Boot
In order to deploy only u-boot
$ sudo dd if=u-boot-imx6qsabresd-v2012.10-r3.imx of=/dev/sdX bs=512 seek=2
If using HDMI please, modify u-boot environment arguments:
setenv mmcargs "setenv bootargs console=${console},${baudrate} root=${mmcroot} rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24"
This is the how sdcards are made by meta-fsl-arm. Of course you can use your own. But double check the u-boot bootenv.
Plug your sdcard and let the board boot
To login: root
Go to HOME
Go to Task #3 - The build result
Go to Task#5 - kernel
Hi Daiane,
to complete the guide at the first boot on imx6qsabresd using HDMI is better to add a note to modify the uboot envvar mmcargs with commands:
setenv mmcargs=setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
saveenv
boot
Bye
Thanks a lot, Francesco. Nice comment!
Would you be available to change this bit directly in the source code and send us a patch? This is a "missing feature" that I would love to have integrated, and it´s quite simple to implement.
I could guide you if you feel like.
Hi Daiane,
I'm a newbie in this area, but I'll be happy to learn how make this
modification if you can help me!
If I can take advantage of your knowledge I would need to connect to SABRE
a CAN controller SJA1000 on bus EIM, do you have any suggestions for me on
hw and sw point of view?
Many thanks!
Francesco
For the CAN issue, could you, please, create a new discussion? I´m not the only one who can advice you about CAN (in fact, I´m not even the best one). Once you have created the new topic, please share with me :smileywink:
For the u-boot.
1- take the source code (git clone) from Commits · Freescale/u-boot-imx · GitHub
2- create one patch just like mx6qsabrelite: Change default environment to cope with OE changes · 08bb52d · Freescale/u-boot-imx ·...
But, instead, change the mmcarg for using HDMI by default.
3- OtavioSalvador, will receive your patch for u-boot and integrate it on github tree.
4- modify this file meta-fsl-arm - Layer containing Freescale ARM hardware support metadata
to make it point to the right commit id
I will be very glad to have someone working with CAN on the project. Please, ask any question during the process.
I only have one question. Would be HDMI the best default video output?
Hello, I have an error while using the setenv command on the Sabrelite board from element14.
The board has U-Boot 2009.08 (Aug 16 2012 - 10:06:42)
I think the correct format for the command should be:
setenv mmcargs 'setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'
saveenv
boot
At least this sentence doesn't give an error.
I have some trouble making the "fsl-image-gui-imx6qsabresd.sdcard" work with my Sabrelite board.
The build was ok all images were created.
Then I deployed the image to a micro SD card with the following command:
sudo dd if=fsl-image-gui-imx6qsabresd.sdcard of=/dev/sdb bs=1M
When I try to boot the Sabrelite board I have the following error in the debug console.
U-Boot 2009.08 (Aug 16 2012 - 10:06:42)
CPU: Freescale i.MX 6 family 0.0V at 792 MHz
Temperature: 39 C, calibration data 0x5774ed7d
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: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 200000000Hz
usdhc2 clock : 200000000Hz
usdhc3 clock : 200000000Hz
usdhc4 clock : 200000000Hz
nfc clock : 24000000Hz
Board: MX6Q-SABRELITE:[ POR]
Boot Device: I2C
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
JEDEC ID: 0xbf:0x25:0x41
Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8
SUCCESS
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 3 2 1 0
Card did not respond to voltage select!
mmc0(part 0) is current device
MMC: block number 0x1 exceeds max(0x0)
** Can't read from device 0 **
** Unable to use mmc 0:1 for fatload **
** Bad partition 1 **
mmc1 is current device
reading /6q_bootscript
** Unable to read "/6q_bootscript" from mmc 1:1 **
Loading file "/6q_bootscript" from mmc device 1:1 (xxb1)
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 1:1 **
MX6Q SABRELITE U-Boot >
Any idea, what is wrong ?
Thanks,
ssinfod
Please build nitrogen6x machine and give it a try in sabrelite; I will send the patch to fix this later today.
Nitrogen6x and SabreLITE are compatible so you can do it.
For sabrelite development, please, take a look here
https://community.freescale.com/message/335684#335684
A lot of good info regarding sabrelite bootloader/kernel and so on.
In addition, use Nitrogen config file to built it when using meta-fsl-arm
:smileywink:
Hi Daiane,
I apologize but I'm not so expert to follow your procedure (only point 1 is at my level! :-P)
I've also another possible setting of mmcargs variable to exit on LVDS0 1024x600:
setenv mmcargs 'setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666'
Bye.
Ok :smileywink:
Thanks anyway :smileysilly:
I made a new bitbake with the new target machine nitrogen6x. The file was generated successfully. (fsl-image-gui-nitrogen6x.sdcard)
However, I still have the same error. (see log below)
Anyhow, I think the SD card seems to be written correctly:
The SD card volume name is "Boot nitrog". The files visible on the SD card are: 6x_bootscript, uImage
I notice that in the log that UBoot search for: 6q_bootscript instead of 6x_bootscript. (q verus x in the name)
Could it be related to this ? I rename the x to q but now the console displays another problem...
LOG1:
U-Boot 2009.08 (Aug 16 2012 - 10:06:42)
CPU: Freescale i.MX 6 family 0.0V at 792 MHz
Temperature: 49 C, calibration data 0x5774ed7d
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: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 200000000Hz
usdhc2 clock : 200000000Hz
usdhc3 clock : 200000000Hz
usdhc4 clock : 200000000Hz
nfc clock : 24000000Hz
Board: MX6Q-SABRELITE:[ POR]
Boot Device: I2C
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
JEDEC ID: 0xbf:0x25:0x41
Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8
SUCCESS
In: serial
Out: serial
Err: serial
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 3 2 1 0
Card did not respond to voltage select!
mmc0(part 0) is current device
MMC: block number 0x1 exceeds max(0x0)
** Can't read from device 0 **
** Unable to use mmc 0:1 for fatload **
** Bad partition 1 **
mmc1 is current device
reading /6q_bootscript
** Unable to read "/6q_bootscript" from mmc 1:1 **
Loading file "/6q_bootscript" from mmc device 1:1 (xxb1)
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - mmc 1:1 **
MX6Q SABRELITE U-Boot >
MX6Q SABRELITE U-Boot >
MX6Q SABRELITE U-Boot > pprriinntteennvv
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=0x11000000
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_nfs;tftpboot ${loadaddr} ${kernel}; bootm
bootcmd_mmc= for disk in 0 1 ; do mmc dev ${disk} ;for fs in fat ext2 ; do ${fs}load mmc ${disk}:1 10008000 /6q_bootscript && source 10008000 ; done ; done
bootcmd=run bootcmd_mmc
clearenv=sf probe 1 && sf erase 0xc0000 0x2000 && echo restored environment to factory default
upgradeu=for disk in 0 1 ; do mmc dev ${disk} ;for fs in fat ext2 ; do ${fs}load mmc ${disk}:1 10008000 /6q_upgrade && source 10008000 ; done ; done
ethact=FEC0
bootargs=console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait video=mxcfb0:dev=hdmi,1280x800M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-SVGA,if=RGB666
mmcargs=setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666
stdin=serial
stdout=serial
stderr=serial
Environment size: 1129/8188 bytes
Same deploy "fsl-image-gui-nitrogen6x.sdcard":
Here is the other console log after I rename the file to 6q_bootscript (instead of 6x_bootscript)
LOG2:
U-Boot 2009.08 (Aug 16 2012 - 10:06:42)
CPU: Freescale i.MX 6 family 0.0V at 792 MHz
Temperature: 69 C, calibration data 0x5774ed7d
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: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 200000000Hz
usdhc2 clock : 200000000Hz
usdhc3 clock : 200000000Hz
usdhc4 clock : 200000000Hz
nfc clock : 24000000Hz
Board: MX6Q-SABRELITE:[ POR]
Boot Device: I2C
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
JEDEC ID: 0xbf:0x25:0x41
Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8
SUCCESS
In: serial
Out: serial
Err: serial
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 3 2 1 0
Card did not respond to voltage select!
mmc0(part 0) is current device
MMC: block number 0x1 exceeds max(0x0)
** Can't read from device 0 **
** Unable to use mmc 0:1 for fatload **
** Bad partition 1 **
mmc1 is current device
reading /6q_bootscript
1523 bytes read
## Executing script at 10008000
Unknown command 'hdmidet' - try 'help'
------ no HDMI monitor
i2c - I2C sub-system
Usage:
i2c speed [speed] - show or set I2C bus speed
i2c md chip address[.0, .1, .2] [# of objects] - read from I2C device
i2c mm chip address[.0, .1, .2] - write to I2C device (auto-incrementing)
i2c mw chip address[.0, .1, .2] value [count] - write to I2C device (fill)
i2c nm chip address[.0, .1, .2] - write to I2C device (constant address)
i2c crc32 chip address[.0, .1, .2] count - compute CRC32 checksum
i2c probe - show devices on the I2C bus
i2c reset - re-init the I2C Controller
i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device
Valid chip addresses: 00
Unknown command 'setexpr' - try 'help'
Valid chip addresses: 00
Unknown command 'setexpr' - try 'help'
Valid chip addresses: 00
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
Unknown command 'setexpr' - try 'help'
setenv - set environment variables
Usage:
setenv name value ...
- set environment variable 'name' to 'value ...'
setenv name
- delete environment variable 'name'
Unknown command 'setexpr' - try 'help'
setenv - set environment variables
Usage:
setenv name value ...
- set environment variable 'name' to 'value ...'
setenv name
- delete environment variable 'name'
Unknown command 'setexpr' - try 'help'
setenv - set environment variables
... The above message is repeated continuously... I quit with CTRL-C then..
reading uImage
3887912 bytes read
## Booting kernel from Legacy Image at 10800000 ...
Image Name: Linux-3.0.35-1.1.0+g2dc5560
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3887848 Bytes = 3.7 MB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-1.1.0+g2dc5560 (dev@dev-virtual-machine) (gcc version 4.7.2 (GCC) ) #1 SMP PREEMPT Thu Jun 27 14:58:30 EDT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Sabre-Lite Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227328
Kernel command line: enable_wait_mode=off video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB666 video=mxcfb0:off vi
deo=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off video=mxcfb0:off
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 640MB 256MB = 896MB total
Memory: 900528k/900528k available, 148048k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0xc0800000 - 0xf2000000 ( 792 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x8003a000 ( 200 kB)
.text : 0x8003a000 - 0x806fe7b4 (6930 kB)
.data : 0x80700000 - 0x8075a2c0 ( 361 kB)
.bss : 0x8075a2e4 - 0x807a6584 ( 305 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=2
MXC_Early serial console at MMIO 0x21e8000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
console [tty0] enabled, bootconsole disabled
OK, I finally got it working.
The old U-Boot was looking for 6q_bootscript instead of 6x_bootscript.
I had to update U-Boot on my Sabrelite board. I also had to clear the env variables. (command: env default -a && saveenv && boot)
More details here:
http://boundarydevices.com/6q_bootscript/
http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/
http://boundarydevices.com/u-boot-on-i-mx6/
thanks
I went through the exact problems and output you got.
But I can't understand exactly what those 3 links you gave
say we should do to change the u-boot on BD-SL-i.MX6.
Can you be generous and be more specific on the exact steps you did?
i.e. To get through this final step of switching to 6x_bootscript?
I am also using Yocto "fsl-image-gui-nitrogen6x.sdcard" image to boot on
SABRE Lite Quad board (BD-SL-i.MX6)?
I am also confused on whether SD card root should be "root=/dev/mmcblk0p1"
or "root=/dev/mmcblk1p2".
Is this the only solution/work around possible on BD-SL-i.MX6 with this Yocto image?
Please clarify that in your steps.
Apparently Element14 is releasing boards with an odd configuration. From the output, I can see that:
This U-Boot version is slightly in-compatible with the 6x_upgrade script generated by Yocto. It's possible to stick with this version, but you'll need to write a new boot script, and you won't get auto-detection of displays.
Just to clarify for everyone this is what I did to solve the problem above.
Thanks to EricNelson for help!
Here is a sequence of the actions to do in order on Ubuntu 13.04 host (Dylan Yocto):
1-- I used GParted to format a 4 GB SD card to one big fat32 file system partition.
2-- Mounted it as RW:
$ sudo mount -t vfat -o rw /dev/sdb1 /home/aseema/Documents/my_sd_mnt
3-- Extracted the upgrade scripts from u-boot-2013-6-19.tar.gz tar ball
into /home/aseema/extracted_u-boot-2013-6-19/
4-- Copied the files I had extracted above to the mounted fat SD card.
$ cp /home/aseema/extracted_u-boot-2013-6-19/* /home/aseema/Documents/my_sd_mnt
5-- sudo umount /home/aseema/Documents/my_sd_mnt
(Or eject the GUI way).
6-- To just verify, I unplugged the SD card and re-plugged to make sure
the automatic mounting on Ubuntu 13.04 shows new files in there.
7-- I then plugged the SD card into the board and booted up to u-boot.
Then I started running the Ubuntu commands below. Also shows
the actual output I got (Note. if you are using microSD use "dev 1"
else use "dev 0". I am using "dev 1" below.
MX6Q SABRELITE U-Boot > sf probe 1
JEDEC ID: 0xbf:0x25:0x41
2048 KiB SST25VF016B - 2MB at 0:1 is now current device
MX6Q SABRELITE U-Boot > mmc dev 1
mmc1 is current device
MX6Q SABRELITE U-Boot > fatload mmc 1:1 0x10800000 u-boot.nitrogen6q
reading u-boot.nitrogen6q
338164 bytes read
MX6Q SABRELITE U-Boot > sf erase 0 0xc0000
Erasing SPI NOR flash 0x0 [0xc0000 bytes]
................................................................................................................................................................................................SUCCESS
MX6Q SABRELITE U-Boot > sf write 0x10800000 0x400 $filesize
Writing SPI NOR flash 0x400 [0x528f4 bytes] <- ram 0x10800000
.....SUCCESS
MX6Q SABRELITE U-Boot > sf read 0x12800000 0x400 $filesize
Reading SPI NOR flash 0x400 [0x528f4 bytes] -> ram 0x12800000
SUCCESS
MX6Q SABRELITE U-Boot > cmp.b 0x10800000 0x12800000 $filesize
Total of 338164 bytes were the same
MX6Q SABRELITE U-Boot > run clearenv
JEDEC ID: 0xbf:0x25:0x41
2048 KiB SST25VF016B - 2MB at 0:1 is now current device
Erasing SPI NOR flash 0xc0000 [0x2000 bytes]
..SUCCESS
restored environment to factory default
MX6Q SABRELITE U-Boot >
8-- Now "dd" the yocto SD image you tried before and boot as you did when
when the problems happened.
i.e.
Now write out the new SD card image to the SD card.
$ sudo dd if=tmp/deploy/images/fsl-image-gui-nitrogen6x.sdcard of=/dev/sdb bs=1M
[sudo] password for aseema:
+++++++++++++++++++++++++++++++++OUTPUT+++++++++++++++++++++++++++++++++++++
864+0 records in
864+0 records out
905969664 bytes (906 MB) copied, 11.41 s, 79.4 MB/s
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9--- After you eject the SD card make sure you get a Ubuntu popup saying it is OK
to now remove it. If you don't get it there might be some corruption in the image.
if so, try "dd" again. (This time) it should boot all the way.
More perspective here:
Hello, I followed the instructions from this page:
http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/
On my windows machine, I extracted the file 6q_upgrade-20121112.zip to a micro SD card.
Then I inserted this micro SD card in the sabre lite board.
Then, I connected my computer to the serial debug port at 115200 8N1.
At the prompt, I typed the command:
U-Boot> run upgradeu
... (then the UBoot update went through)
After the update I typed the command:
env default -a && saveenv && boot
This is needed to clear the env variables.
After the reboot, UBoot was updated and was using the correct 6x_bootscript.
I put the micro SD card with Yocto and it booted perfectly.
I hope it helps.
ssinfod
Hello,
Really annoying stuff happening on my end, and can't figure out what I did wrong. Here's what is up:
1) Completed first 3 tasks and successfully built an image for imx6q SabreLITE.
2) Insert formatted SD card with fat16/fat32/ext3/ext4 (tried all 4 file formats).
3) a) sudo dd if=fsl-image-gui-imx6qsabrelite.sdcard of=/dev/sdb1 bs=1M
b) output:
856+0 records in
856+0 records out
897581056 bytes (898 MB) copied, 124.273 s, 7.2 MB/s
4) try and access SD card...no contents, no file system, displaying weird files/filenames => file-space is corrupt.
Do I need to 'bit-bake' the image again, maybe smth went awry during build?
Tried a different SD card too, same issues.
sudo dd if=fsl-image-gui-imx6qsabrelite.sdcard of=/dev/sdb1 bs=1M
I'm not sure how your sdcard is recognized on your linux distro. however, I *always* copy the image to /dev/sdb
I mean /dev/sdb ONLY not /dev/sdbX or /dev/sdb1
If you have a non formated sdcard, or a ext2/ext3/ext4/vfat it does not matter, because the *.sdcard image is partitioned.
it's not a bunch of files to be copied to a partition. It's have the partition table for the sdcards AND the partitions AND the files.
Could you, please, double check and let me know the result?
Yep, that "1" at the end of /dev/sdb was the culprit, removing that and writing just sudo dd if=fsl-image-gui-imx6qsabrelite.sdcard of=/dev/sdb bs=1M did the trick
Runing the image on the board gives following output:
perature: 49 C, calibration data 0x5894f87d
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: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: MX6Q-SABRELITE:[ POR]
Boot Device: I2C
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
JEDEC ID: 0xbf:0x25:0x41
Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8
SUCCESS
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
mmc1 is current device
MMC read: dev # 1, block # 2048, count 8192 ... 8192 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX6Q SABRELITE U-Boot >
U-Boot 2009.08-dirty (Jan 17 2013 - 06:55:57)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Temperature: 48 C, calibration data 0x5894f87d
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: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: MX6Q-SABRELITE:[ POR]
Boot Device: I2C
I2C: ready
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
JEDEC ID: 0xbf:0x25:0x41
Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8
SUCCESS
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
mmc1 is current device
MMC read: dev # 1, block # 2048, count 8192 ... 8192 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX6Q SABRELITE U-Boot >
What did i do wrong?
Hi Peter. Please, take a look on past comments on this doc (starting like on https://community.freescale.com/docs/DOC-94989#comment-5273) and see how you can ajust your board to load bootloader from sdcard.
from your log, your u-boot is 2009.08, the old one. You booting from your internal memory, not your sdcard.
Rightly so, u-boot is old, but have upgraded to 2013.06 via latest u-Boot production branch tar. However, I am still getting the same error. I have ran the setenv command from the u-Boot command line. If you think it's trying to boot from a different sd-card partition, please advise how I can alter that behavior.
NOTE: I've accessed the links from #comment-5273 beforehand, have made it through to make update of u-boot successfully, but not to change the primary boot partition...
the link I sent you only point to comments on this Doc.
anyway, I copy some reference:
http://boundarydevices.com/6q_bootscript/
http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/
http://boundarydevices.com/u-boot-on-i-mx6/
I have never re-created the steps on sabre lite, so I´m not sure what you may try.
I just found another link that may help you
Hello, I followed your steps correctly,
now when i boot the SD image it says,
================================================
U-Boot 2013.01-rc1-00120-g7c28db0 (Nov 12 2012 - 09:15:04)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: Nitrogen6X
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected SST25VF016B with page size 4 KiB, total 2 MiB
auto-detected panel wsvga-lvds
Display: wsvga-lvds (1024x600)
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: FEC using MAC address from net device
Hit any key to stop autoboot: 0
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!
** Bad device size - sata 0 **
** Bad device size - sata 0 **
SATA device 1: unknown device
** Bad device sata 1 **
** Bad device sata 1 **
mmc0 is current device
reading /6x_bootscript
** Unable to read file /6x_bootscript **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
MMC: no card present
mmc1(part 0) is current device
MMC: no card present
** Bad device mmc 1 **
MMC: no card present
** Bad device mmc 1 **
6x_bootscript not found
serial console at 115200, 8N1
details at http://boundarydevices.com/6q_bootscript
U-Boot >
====================================================================
when i did, sudo dd if=fsl-image-gui-imx6qsabresd.sdcard of=/dev/sdb bs=1M
and check with windows The files visible on the SD card is only uImage
no 6x_bootscript is there.
Im using Yocto dora branch and fsl-image-gui
Hi Daiane,
Thank you for your excellent work.
Im following your tutorial.
I compiled the fsl-image-gui form dora branch.
did dd the fsl-image-gui-imx6qsabresd-20131101005105.rootfs.sdcard to SD card,
and boot form SD. got the following message.
================================================
U-Boot 2013.01-rc1-00120-g7c28db0 (Nov 12 2012 - 09:15:04)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: Nitrogen6X
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected SST25VF016B with page size 4 KiB, total 2 MiB
auto-detected panel wsvga-lvds
Display: wsvga-lvds (1024x600)
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: FEC using MAC address from net device
Hit any key to stop autoboot: 0
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!
** Bad device size - sata 0 **
** Bad device size - sata 0 **
SATA device 1: unknown device
** Bad device sata 1 **
** Bad device sata 1 **
mmc0 is current device
reading /6x_bootscript
** Unable to read file /6x_bootscript **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
MMC: no card present
mmc1(part 0) is current device
MMC: no card present
** Bad device mmc 1 **
MMC: no card present
** Bad device mmc 1 **
6x_bootscript not found
serial console at 115200, 8N1
details at http://boundarydevices.com/6q_bootscript
U-Boot >
====================================================================
It seems that 6x_bootscript is not placed on the SD card.
After reading all the comments it seems that after dd the sdcardimage to SD card there should be two files visible
(6x_bootscript, uImage), but in my case only uImage can be seen.
Hi Nil,
You need to set MACHINE="nitrogen6x" in your local.conf file for SABRE Lite or Nitrogen6x builds.
Note that in your image name above, you have a machine name of "imx6qsabresd"...
Again, you need MACHINE="nitrogen6x" in local.conf
Thanks Eric for information, Im working on that changing MACHINE variable, but unfortunately build failed because of the unavailability of
xserver-common-1.34.tar.gz . It appears that server is down for 2 days now. Do you have an idea about a way to resolve that except waiting for server up?
Im building fsl-image-gui on Dora branch
----------------------------------------------------------------------------------------------------------
WARNING: Failed to fetch URL http://gpe.linuxtogo.org/download/source/xserver-common-1.34.tar.gz, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 4, no output
ERROR: Function failed: Fetcher failure for URL: 'http://gpe.linuxtogo.org/download/source/xserver-common-1.34.tar.gz'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/user/work/FreescaleYP/fsl-community-bsp/build/tmp/work/all-poky-linux/xserver-common/1.34-r8/temp/log.do_fetch.10417
ERROR: Task 6049 (/home/user/work/FreescaleYP/fsl-community-bsp/sources/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb, do_fetch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3618 tasks of which 3611 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/user/work/FreescaleYP/fsl-community-bsp/sources/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb, do_fetch
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
user@user-virtual-machine:~/work/FreescaleYP/fsl-community-bsp/build$
----------------------------------------------------------------------------------------------------------
Seems that the linuxtogo site is down. As a workaround, find the tarball somewhere else, then move to downloads folder, from there do this
$ wget URL_OF_TAR_BALL -O xserver-common-1.34.tar.gz
$ > xserver-common-1.34.tar.gz.done
Then build again. I found a good tarball here
Leo
I contacted OpenEmbedded admins and we now have this file in their mirror. This should be good for all users now.