I cannot figure out why the SABRE board does not boot from the SD Card when I put Linux on it.
I have been following the document named i.MX_6Dual6Quad_Sabre-AI_Linux_User's_Guide.pdf. I've attached it at well. The instructions are actually listed under "Chapter 8 Using a Linux Host to Set Up an SD/MMC Card".
The steps I followed are the following:
1) Got a new 8 GB Micro SD with SD Adapter
2) Plugged card into a Ubuntu desktop machine (Ubuntu 12.04.3 LTS) and plugged the card into the slot. The card is recognized as '/dev/sdb'.
3) Next, I called umount '/dev/sdb' to ensure that I could modify the partitions (NOTE: '/dev/sdb1' or '/dev/sdb2', etc.. were not mounted).
4) Executed command to write the bootloader binary image to disk (SD Card):
sudo dd if=/home/user/Downloads/L3.0.35_4.1.0_130816_images_MX6/u-boot-mx6dl-sabreauto.bin of=/dev/sdb bs=512 seek=2 skip=2 conv=fsync
5) Executed command to copy the Linux OS image to disk (SD card):
sudo dd if=/home/user/Downloads/L3.0.35_4.1.0_130816_images_MX6/uImage of=/dev/sdb bs=512 conv=fsync
6) Setup partitioning on the SD card by calling
sudo fdisk /dev/sdb
6-a) Enter the 'u' key until terminal shows it has switched to sectors instead of cylinders ("Changing display/entry units to cylinders (DEPRECATED!)" -> "Changing display/entry units to sectors").
6-b) Enter the 'd' key until the terminal shows there are no more partitions ("No partition is defined yet!").
6-c) Enter the 'n' key to create a partition.
6-d) Enter the 'p' key to create a primary partition.
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
6-e) Enter the '1' key to specify that it is the first partition.
Partition number (1-4, default 1):
6-f) Specify 16384 for the first sector offset.
First sector (2048-15564799, default 2048):
6-g) Nest, press the enter key to take the default value.
Last sector, +sector or +size{K,M,G} (16384-15564799, default 15564799):
6-h) Press the 'w' key to write the partition table to SD card and exit the fdisk application.
7) Format the newly created partition using the following command:
sudo mkfs.ext4 /dev/sdb1
8) Create a new directory.
mkdir /home/user/mountpoint
9) Mount the new partition to that directory:
sudo mount /dev/sdb1 /home/user/mountpoint
10) Unzip the root file system compressed file
gunzip /home/user/Downloads/L3.0.35_4.1.0_130816_images_MX6/rootfs.ext2.gz
11) Create a new directory:
mkdir /home/user/rootfs
12) Mount the uncompressed root file system to the directory
sudo mount -o loop -t ext2 /home/user/Downloads/L3.0.35_4.1.0_130816_images_MX6/rootfs.ext2 /home/user/rootfs
13) Enter the newly created directory and with new mount point.
cd /home/user/rootfs
14) Copy the file system contents to the new partition.
sudo cp -a * /home/kzawada/mountpoint
15) Dismount the SD card partition and give it a little bit of time to finish writing all the data.
sudo umount /home/kzawada/mountpoint
16) Unplug the SD Card once writing is finished and plug in to Freescale SABRE i.MX6 Series board.
17) Plug-in the USB Cable for debug and setup a terminal.
18) Plug in the power cord.
19) Press the reset button.
At this point there is no response at all on the debug board or indication the LCD screen that something is happening.
I am able to boot from an SD card that contains Android and Windows Embedded Compact 7 on the same board. This leads me to believe that the way the the SD card is written (MBR, partitions, etc...) is incorrect and the board cannot boot from this SD card.
What could be wrong with the procedure of programming the SD card?
Solved! Go to Solution.
1.
Under items 4) and 5) – looks like – “u-boot-mx6dl-sabreauto.bin” is rewritten
by uImage, assuming uImage size if greater than (512 x 2) bytes.
So, please try at first to write and boot only U-boot.
2.
It makes sense to use the recent Linux BSP (L3.14.28) for i.MX6, please refer
to the following Web.
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX6_SW
http://www.freescale.com/webapp/Download?colCode=L3.14.28_1.0.0_iMX6QDLS_BUNDLE
3.
For the SABRE-SD You may use SD demo images (.sdcard fime extention), such as
"fsl-image-qt5-x11-imx6qdlsolo.sdcard".
Please use the next Linux command to deploy it to SD card :
$ sudo dd if= fsl-image-qt5-x11-imx6qdlsolo.sdcard of=/dev/sdb bs=1M
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I changed the first command to be:
sudo dd if=u-boot-mx6q-sabresd.bin of=/dev/sdb bs=512 seek=2 skip=2 conv=fsync
Mainly because I am using the SABRE-SD and not the SABRE-AI (Automotive) board. Still the same outcome. Nothing is happening and no debug output over USB-to-UART.