Boot from eMMC (iNAND Flash) in i.MX53 SMD board

cancel
Showing results for 
Search instead for 
Did you mean: 

Boot from eMMC (iNAND Flash) in i.MX53 SMD board

4,673 Views
winstonrodrigue
Contributor IV

Hi  :smileyhappy:

      Here are few steps on how to boot from in built flash memory (eMMC4.4) on IMX53-SMD board. Without using MFGtool :smileyhappy:

     

     First of all SMD board is bootable by SD card by default ( SW26 -2,7 ON) (SW28 all off)

If its booting fine in SD card then Its a easy job to boot from iNAND.

step 1 : First prepare the SD card with the your linux image. Please note that we need e2fsprogs package to format the partitions on the target.

            So include the package by ./ltib -m config and select e2fsprogs from package list. and build everything.

            Keep a copy of u-boot.bin, uImage and rootfs directory in the same SD card (assuming u have enough space on the SD card)

            for that make a directory in the SD card /rootfs_nand and copy the contents of  /home/ubuntu/ltib/roots/ to SD cards /rootfs_nand

           cp -rvf /home/wintu/ltib/rootfs/* /media/SDcard/rootfs/

step 2 : Boot from the SD card.

step 3: Once booted do cat /proc/partitions

           Here u will see mmcblk0 , mmcblk0p1, mmcblk1..

           Here mmcblk0 is nothing but the SD card. and mmcblk1 is iNAND fash. (eMMC)

           So we need to copy u-boot, uImage and rootfs to this device.

           so first copy the u-boot.bin to flash as follows

           dd if=u-boot.bin of=/dev/mmcblk1 bs=512 && sync && sync

           then copy the uImage kernel

           dd if=uImage of=/dev/mmcblk1 bs=512 && seek=2048 && sync && sync

 

step 4: Now make a partition in iNAND to store the rootfs as follows.

           fdisk /dev/mmcblk1

           press 'u' to change the units to sectors

           press 'd' to delete the existing partitions if any

           press 'n' for creating a new partition select 'p' for primary

           enter the partition number as 1

           enter the starting sector as 10240 coz before that u-boot and uImage has been copied.

           press 'Enter' to select the default End sector.

           press 'w' to write the new partition table.

         

step 5: format the partition using ext2/ext3/ext4 file system, this is where we need e2fsprogs package

           mkfs.ext2 /dev/mmcblk1p1

     

step 6: mount the created partition as follows

           mkdir /mnt/nandrive

           mount /dev/mmcblk1p1 /mnt/nandrive


step 7: Now copy the contents of /rootfs_nand which was done in 1st step to the partition as follows

           cp -rvf /rootfs_nand/* /mnt/nandrive


step 8: Now power off the board and set the boot switches so that board boots from eMMC

           SW26(2,5,6,7-ON) SW28(8 -ON)

            Please remove the SD card.

           connect the debug board to the terminal (minicom or hyper terminal on windows)

           power on the board.

           By now you should be seeing the u-boot coming up on the terminal.

           stop the auto boot by pressing any key.


step 9: set the u-boot environmental variables as follows

           the starting address of the kernel     

          MX53-SMD U-Boot > setenv loadaddr 0x70800000

          now after removing the SD card iNAND will mmcblk0 so set the root partition.

         MX53-SMD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 ip=none rootfstype=ext4'

          now mmc dev 1 because eMMC is treated as 1 and SD is 0.

          MX53-SMD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; mmc dev 1; mmc read ${loadaddr} 0x800 0x1800; bootm'

          MX53-SMD U-Boot > setenv bootcmd 'run bootcmd_mmc'

          and these if you have set the u-boot splash screen the loation of that

         MX53-SMD U-Boot > setenv splashimage '0x97c90000'

          set the position default is 0,0

          MX53-SMD U-Boot > setenv splashpos '25,25'

          MX53-SMD U-Boot > setenv lvds_num 1

          finally save the variables as follows

          MX53-SMD U-Boot > saveenv


step 10: Congratulations !! Now when you restart the board system should boot from on board flash memory. or eMMC4.4.


Note: I tried to copy the actual rootfs from the SD card to nand and boot it. But It gave me kernel panic.

        So I had to keep another copy of original rootfs into the same SD card.

         If anyone has any easier method it would be really great because this is a little lengthy one.

Regards,

   Winston

Labels (7)
2 Replies

192 Views
mspitz
Contributor I

Hello Winston,

I have a mx53 board with these dip switches on it like you stated. DFI FS200 with android on it.

However I want to try to use MFG tool before using your guide to install Ubuntu image directly from a windows pc.

When I plug it into my windows machine I get "MX53 SMD Android" Driver not found. and MFG tool cannot detect the board.

How do I get this to work. Do you have any idea. Sorry for the stupid question.

0 Kudos

192 Views
winstonrodrigue
Contributor IV

Hi matz,

      Did u follow the instructions given in mfgtools doc folder.... U need to install the driver from driver directory... If it doesnt work then probably this board is not supported by mfgtools.

   Since DFI FS200 board is propitiatory product I dont think mfgtool support is available.

You need to contact the DFI support.. :smileysad:

    Best way is using dd commands in linux to copy images to SD card..

     Regards,

       Winston

0 Kudos