This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

4AJ.1.1 Blaze booting on SD card

Other Parts Discussed in Thread: 4430, 4460

Hi,

I have managed to boot 4AJ.1.1 on Blaze from eMMC but I have no success in booting it up on SD card.

I tried two different ways using SD card.

1. Manually partition SD card according to release note guild line.

2. Use fastboot to load images into SD card.

Here is the result;

Method 1:

Blaze managed to the Android file system after some modification on omap4430sdp.h and mmc.c.

FULL message can be found in the attachment.

Method 2;

Blaze managed to partition onto my SD card. After reboot, It is still able to detect and display the partition table on the SD card but for unknown reason it still load the Android file system on eMMC.

***I have ensure the S2 switch is set correctly when booting the Blaze from the SD card.

So can anyone give me some tips how to overcome those problem I am facing.

Best Regards

Yong

Blaze on SD card without fastboot.docx
  • http://omappedia.org/wiki/Android_Build_SD_Configuration

    try from top to bottom of the page.  It is not likely you will end up having to use the section " Alternative Script to format SD Cards for 3 partitions "

    Good luck with getting a boot SD as my experience with booting from them over 2G cards I have purchased cheaply tend to not work for booting ( on PC from USB in card reader )

  • Hi Eric,

    Yes, I did apply the script. Actually I have previous experience in using this script and I have managed to successfully boot from SD card either on PandaBoard.

    I use 8GB and I tend to create 3 partitions which I normally set 4GB for last partition (media).

    But yeah, I knew my script is working and it has been proven on my previous PandaBoard project. 

  • Getting things to boot from SD has always been a challenge for me when the cards are over 2G ( old hardware ).

    I don't know if you made it to Step 9 of that set of pages

    "

    PandaBoard - To boot kernel and filesystem from SD Card

    # setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootdelay=3 mem=463M init=/init omapfb.vram="0:4M"'
    # mmcinit 0; fatload mmc 0 0x80000000 uImage;bootm 80000000'
     "

    http://omappedia.org/wiki/Android_Build_Booting#PandaBoard_-_To_boot_kernel_and_filesystem_from_SD_Card

    any error message at that point would assist in any further direction of assistance from myself.   From my bad experiences booting from USB/single CF adapter would normally be asking to check BIOS for potential boot order, in this case, one more quote from the web page.

    " Always check Bootargs listed in release notes, they always take precedence "

    Sometimes there are overlooked settings with specific releases.

    Hope this helps if not point you in the direction to what is not going on with the equivalent of boot order Zhi.

  • Yong,

    For method #2, do you mean that the system is booting the x-loader and u-boot from the SD card but is then loading the zImage (kernel) from the eMMC?  What are the bootargs in the u-boot?  

    Also look at /board/omap4430sdp/mmc.c in the u-boot.  The default slot ("mmc_slot") is set (in two places) to default to eMMC (mmc_slot = 1).  Try changing this to default to SD slot (mmc_slot = 0).

    Thanks,
    Gina 

  • HI Gina,

    Yes, you are right. At the first boot, my SD card only has only one boot partition and contain Uboot.bin & MLO. It stop and show "entering fastboot" which is about right. Then I make partition and write MLO and Uboot.in into my SD card. 

    Then the 2nd boot, I can see my efi partition table clearly but it never goes into fastboot instead it loads the zImage from the eMMC. 

    At the current modification, I have commented out line around at 40x line in mmc.c to disable the default eMMC. As you mentioned, there are two places I need to change it right? Can you tell me precisely on where I should change them? Like what number of line?

    Thanks for the hints.

    Regards

    Yong

  • Yong,

    I think the other place would be around line 415, like this:

    diff --git a/board/omap4430sdp/mmc.c b/board/omap4430sdp/mmc.c
    index d703330..63e8503 100644
    --- a/board/omap4430sdp/mmc.c
    +++ b/board/omap4430sdp/mmc.c
    @@ -35,8 +35,8 @@
    #define EFI_ENTRIES 128
    #define EFI_NAMELEN 36

    -/* Default to eMMC slot for omap4430sdp Blaze and Blaze Tablet */
    -int mmc_slot = 1;
    +/* Default to SD slot for omap4430sdp Blaze and Blaze Tablet */
    +int mmc_slot = 0;

    static const u8 partition_type[16] = {
    0xa2, 0xa0, 0xd0, 0xeb, 0xe5, 0xb9, 0x33, 0x44,
    @@ -413,11 +413,7 @@ int omap4_mmc_init(void)
    load_ptbl();
    }

    - /* Default back to eMMC(1) slot
    - * If someone wants to flash all partitions to SD slot
    - * they need to explicty give "fastboot oem set_boot_slot:SD"
    - */
    - mmc_slot = 1;
    + mmc_slot = 0;

    if (mmc_init(mmc_slot)) {
    printf("mmc init failed?\n");

  • Hi Gina,

    I have apply the changes you mentioned. It has the same result as I have before. I have included the boot messages and please find the attachment here. 

    ------------------------ include/configs/omap4430sdp.h ------------------------
    index c2a4251..dc9fbf0 100644
    @@ -36,7 +36,7 @@
    #define CONFIG_OMAP4430 1 /* which is in a 4430 */
    #define CONFIG_4430SDP 1 /* working with SDP */
    #define CONFIG_FASTBOOT 1 /* Using fastboot interface */
    -#define CONFIG_SET_FLASH_SLOT 1 /* Set Flash slot to SD or EMMC */
    +#define CONFIG_SET_FLASH_SLOT 0 /* Set Flash slot to SD or EMMC */


    #define BOARD_LATE_INIT 1
    @@ -153,9 +153,10 @@
    #else

    #define CONFIG_BOOTARGS "console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000" \
    - " init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2"
    + " init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2" \
    + " root=/dev/mmcblk1p2 rw "

    -#define CONFIG_BOOTCOMMAND "booti mmc1"
    +#define CONFIG_BOOTCOMMAND "booti mmc0"
    #define CONFIG_OMAP4_ANDROID_CMD_LINE 1

    #endif

    What do you think?

    Boot from SD card using fastboot.docx
  • Yong,

    I just tested here and was able to boot the 4AJ.1.1 release with SD card on Blaze Tablet successfully by following these steps:

    1. Format the SD card with 2 partitions and copy the MLO and modified u-boot.bin to the SD card boot partition.
    2. Change the S2 switch to boot from SD card, and power on the Blaze Tablet.
    3. Press a key in the terminal to stop during the u-boot and enter Fastboot.
    4. Run “sudo ./fastboot oem format” from the host PC.  If you miss this step, then the MLO and u-boot.bin won’t be flashed in step #5 since those partitions don’t exist yet.
    5. Run “sudo ./fastboot.sh” from the host PC.  Make sure that the u-boot.bin that will be flashed (ie, in the same directory as fastboot.sh) is the modified one as well.
    6. Reboot – it should be from SD card now.

    By the “modified u-boot.bin,” I am referring to the u-boot with the 2 changes to mmc_slot that I mentioned previously.  I did not make any changes to the bootargs; I used the default boot.img and other binaries from the pre-builts on omappedia (http://www.omappedia.com/wiki/Android:_Working_with_pre-built_binaries).

    Regards,
    Gina

  • Yong,

    Is this working for you now?

    Regards,
    Gina 

  • Hi Gina,

    Thanks for the guide but android OS still not booting up from the SD card even though I used your given instructions.

    In order to differentiate SD or eMMC Android OS, I have done made some modifications like turn on wifi & bluetooth on the eMMC. So, I should not seeing this configuration on the new fresh Android OS right? 

    Is there anyway I can format the eMMC so that there is only one OS in Blaze? 

    Regards

    Yong

  • Yong,

    What is the behavior you are seeing when you follow my instructions for SD card boot?  Are you sure that you are using the modified u-boot both in the initial bootup and the flashing?

    I don't understand your question "Is there anyway I can format the eMMC so that there is only one OS in Blaze?" ...  Do you mean you want to remove the OS stored in the eMMC?  You could use "fastboot erase."  See the description here: http://www.omappedia.com/wiki/Android_Fastboot

    Regards,
    Gina 


  • Hi Gina,

    Finally I managed to boot from SD card after I have formatted eMMC partitions like system and userdata but I have failed to load into Android OS.

    Please find the attachment here with all the message I get from the debug console. The error messages you see is exactly the same error messages I have seen when I try to boot Android OS from SD card without fastboot (using manual 2 partitions method.). For this boot up, the only changes I have done is on U-boot which I have mentioned earlier on the post. 

    Regards

    Yong

    SD card boot error with fastboot.docx
  • Yong,

    I don't understand what formatting you have done to the system and userdata partitions.  You should not need to do any formatting; only run "fastboot oem format" and then "fastboot.sh".  Did you modify the fastboot.sh script at all?  You also should not need to make the changes to omap4430sdp.h that you mentioned; the only changes to the u-boot that are needed are the two lines in mmc.c that I mentioned.

    Regards,
    Gina 

  • HI Gina,

    May be I have confused you. What I meant on my previous post is I need to clean the system and userdata partition on eMMC to ensure it is boot up from SD card. Now I can conform that it is boot from SD card but it didn't managed to run Android.

    If you refer to my previous attached documents, I am definitely boot from SD card and the kernel seems to be running but somehow it has problem on running Android.

    Regards

    Yong 

  • Hi Yong,

    I just test the booting from SD using the partitions as in the eMMC and I se those are working, let me explain the steps you have to follow up to get it working properly.

    1) Place in the omap4_emmc_files_blaze folder

    2) Copy here the u-boot.bin compiled with the 2 changes in mmc_slot=0;

    3) Copy the MLO and the u-boot.bin files to the fat boot partition of the SD (you may have the SD partitioned in 2 at this point)

    4) Place the SD in the Blaze and change the switches to boot from SD card and power it up. * Don't change the switches again

    5) Board has to enter to fastboot mode, now from the PC run # sudo ./fastboot oem format

    6) Run # sudo ./fastboot.sh

    It will flash all the images in the SD which has been partitioned as the eMMC, and reboot compleatelly from the SD card

     

    This process is working for Blaze and Blaze Tablet.

    Please let me know if you are still having issues.

  • Yong,

    Is this working for you now?

    Regards,
    Gina 

  • Hi Gina,

    I realise that I was using OMAP4470 board on all the time. Strangely when I use eMMC to run Android, it has no issue but when I try on SD card then it didn't work well. Do you have any logical explanation on this issue?

    I still haven got time to look into using OMAP4460 board because I am damn pretty sure I have done the right steps and using the same image files as the eMMC used.

    I can not see where the hell it went wrong.

    Yong

  • Yong,

    I don't know what the issue could be, since Israel and I are both able to boot fine from SD card on Blaze and Blaze Tablet, using the instructions that we posted.  What is your particular usecase for needing SD card boot?  In any case, eMMC boot is the only officially supported method for the Android releases on Blaze and Blaze Tablet.

    Regards,
    Gina 

  • Yong,

    Can you try partitioning and formating the EXT partition to EXT4 instead of EXT3?

  • Hi Yong,

    Can you try using minimal file system such as Busy box on the SD card's linux partition?

    Thanks & Best Regards,

    Venkat

  • Hi ICe,

    One more testing if you can help me on that will be great. It is try to clean your eMMC and make sure no any Android OS in the eMMC.

    See if you have any issue. I know this might sounds non-related since we have booted up from SD card but I am having this issue.

    One thing I need to highlight over here:

    Blaze: OMAP4470 board.

    eMMC: Boot with new flash with no problem.

    Thanks ICe.

  • Hi Yong,

    You mean to clean the eMMC just to make sure it is correctly booting from SD card?

    I have made that because I have JB on eMMC and ICS on SD card, so by changing the pins I am able to boot what I want.

    Are you still having issues?, are you modifying something else?

  • Hi ICe, 

    Yes, I would like to ensure only the SD card is able to boot up. I am more interested in booting JB on SD card instead on eMMC. My friend have managed to get ICS boot up on either eMMC or SD card but for JB I can only boot from eMMC. Even I have force it to boot from SD card and it did at the beginning (Xloader & Uboot & Kernel) then all error message start when it need to load some files in the System partition. If I left the same Android version in the eMMC it will not complaining but obviously I can see the OS it boot-up is from the eMMC even though it first start booting up from SD card. I am pretty sure.

    No one in this post managed to tell me why but people keep telling me that I didn't follow the right way. I did and I have my console logs posted in the earlier post and no one is commenting based on my logs. 

    Actually, I am more interesting in having to boot-up android using SD card without fastboot (Mannual way). What I the problem I was facing is the same problem I am facing using fastboot on SD card with eMMC clean up. I do not know why this happen but I hope I have time to find it out.

  • Yong,

    Can you try partitioning and formating the EXT partition to EXT4 instead of EXT3?

    From your logs it is the first error about the FS, after this point there are other 3 errors but that is because the FS cannot be loaded and files doesn't exist. I think, matter to check using EXT4 for fs.

  • Hi all,

    to boot the android system 4AJ.2.2 from sdcard on my OMAP4430 based Blaze board I had to change also the file init.omap4blazeboard.rc located in the ramdisk image. I replaced all entries containing omap_hsmmc.1 to omap_hsmmc.0. After this the system boots from the sdcard.

    Hint: To modify the ramdisk.img you have to unpack, modify and repack it. After this you have to rebuild the boot.img.

        - unpack: gunzip -c ../ramdisk.img | cpio -i
        - modify init.omap4blazeboard.rc
        - pack: find . | cpio -o -H newc | gzip > ../ramdisk.img

    Best regards,

    Roman

  • Hi Roman,

    Woh, thank you very much. Do you think you can create and attach the diff file to show us the changes in detail?

    I am pretty sure it will great for those who want to learn OMAP too.

    thank you again.

    Yong

  • Hi Yong,

    the attached patch is for the version 4AJ.2.2!

    Like mentioned before it is only a search/repalce procedure (omap_hsmmc.1 -> omap_hsmmc.0) in the text file init.omap4blazeboards.rc located in the ramdisk.img.

    You have to applay the u-boot patch patch before also mentioned in this thread.

    Best regards,

    Roman

    3731.4AJ.2.2_boot_sdcard.patch.gz

  • Had you already solved the problem?please teach me,think you。this is what i posted: http://e2e.ti.com/support/omap/f/849/t/259113.aspx

  • I going to try to provide an answer, next step could be for you to indicate some error you are facing as indicated in your referenced post, but first try getting support from Mailing Lists and IRC channels mentioned in PandaBoard site.

    From PandaBoard's home page you can go to resources

    http://pandaboard.org/content/resources/home

    and from there you could find good start points by following development-environment, software, OMAP Device Resources, Board references or troubleshooting sections.

    from those links you can chose Ubuntu distribution for example it is mentioned 10.04 but following the links you can find recent releases. Consider that some of the omapedia.org links could be for OMAP4430 since PandaBoard is not longer supported in omapedia.org.

    Other point is if you have doubts about some procedure you can search for help in omapedia.org that contains some previous references SDCard formating and OMAP4 procedures.

    Strange/Curious fact, this is the first cycle of posts I have found, it starts in this post and ends in this same post, (reason to comment is because of last comment in this post)

    first following your post from this post

    http://e2e.ti.com/support/omap/f/849/t/259113.aspx

    then it indicates to follow

    http://e2e.ti.com/support/omap/f/849/t/217146.aspx

    then it jumps to from his third post,

    http://e2e.ti.com/support/omap/f/849/p/215322/765574.aspx#765574

    that is this same post.

    By following the links mentioned in your post and the links in this post I think they mention most of the issues you could be facing when booting present in this forum, plus this one

    http://e2e.ti.com/support/omap/f/849/p/211646/753142.aspx#753142

  • Hi Neo Chan,

    yes I haved solved the problem. My solution includes changing the init.omap4blazeboard.rc file so it is a little bit more as your solution. If this file is not changed the MLO, the u-boot and the zImage (including kernel and ramdisk) will be loaded from sdcard but the android system will still be loaded from internal mmc because of the defiinition of the mounting points.

    Info: For newer releases you have to change the entries hsmmc.1 to hsmmc.0 in the files init.omap4blazeboard.rc and in the fstab.. (currently doesn't know the exact name).

    Best Regards, Roman

  • Hi,

    I was reading this post and it seems to be the solution to my problem.
    I was wondering if you guys can send me a complete detail on how to boot any of the newer Android releases onto my Blaze 4460 GP.

    I'm new to Linux and following the instructions from http://www.omappedia.com/wiki/Android_Pre-built_Binaries_Guide and the release notes confuse me.

    I don't know exactly what to do when you say to modify certain files.

    Here is my post: http://e2e.ti.com/support/omap/f/849/t/272894.aspx?pi239031349=2

  • I thought it was working after doing some modification  but by erasing the eMMC partition before flashing SDCard cause it to fail booting. Recent posts shows some ideas on what to check. I haven't had found some time to check this.

    The last thing I tried was to use different Fastboot partition for eMMC and original values for SDCard, when flashing eMMC I found some errors in the used values, the partition was erased in eMMC but then I flashed the SDCard, the SDCard was formated and data copied but the partitions of the eMMC were modified too, no further investigations. Just commenting about last tests from my side.

  • Hi Gina,

    We are using TI BLAZE (omap 4430) development board  and trying to boot with SDCARD. We tried with different S2 and S3 switch Configurations as below,

           1.    S2(8:1) -00010010

                  S3/S6 (4:1)– 1110

            2.   S2(8:1) -00000101

                  S3/S6 (4:1)– 1110

    The SDCARD partition details:

     Partition1:  MLO, u-boot.bin, uImage

    Partition2: fielsystem

     Note:  All images are pre-builts (downloaded from http://omappedia.org/wiki/Android:_Working_with_pre-built_binaries )

     

    But, when powered on, it is continuously dumping hex values on console ttyUSB2. We verified by without connecting SDCARD, even though, we are seeing hex values on console. Please find the attached file for the same.

    Queries:

    1.  Switch configuration and sdcard configurations are proper?
    2.  If proper, then, what could be the issue?

    4762.tiblaze_booterr.log

    thanks in advance

    Raj