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.

Booting blaze tablet 4460 from SD card

Other Parts Discussed in Thread: 4460

Hi all,

I have a blaze tablet 4460 GP ES1.1 and It it booting from emmc and running android. I would like to make it boot and run android from SD card.

I saw this post http://e2e.ti.com/support/omap/f/849/t/215322.aspx and the modification that they did to the u-boot. The problem is that the modification that Gina (from the post) suggested are in <u-boot folder>/board/omap4430sdp/mmc.c but I have a blaze tablet, not blaze so I think that there should be a omap44xxtablet folder for my tablet blaze where I should make the changes, but there isn't.

Can anyone please help me with the changes that I should to in order to boot from SD card?

Thank you very much,

Michael S. 

  • I followed the instructions in this post:  http://e2e.ti.com/support/omap/f/849/t/215322.aspx and when the fastboot.sh writes to userdata partition that it created on the sd card i get the error: mmc write error 00108000 . I tried to google it but didn't find anything useful.

    the log from the script that is relevant to userdata partition is ;

    Resizing userdata.img
    Current userdata partition size=30342127 KB
    Creating filesystem with parameters:
        Size: 31070334976
        Block size: 4096
        Blocks per group: 32768
        Inodes per group: 8176
        Inode size: 256
        Journal blocks: 32768
        Label:
        Blocks: 7585531
        Block groups: 232
        Reserved block group size: 1024
    Created filesystem with 12/1896832 inodes and 163085/7585531 blocks
    sending 'userdata' (139221 KB)...
    OKAY [  4.383s]
    writing 'userdata'...

    (and then is gets stuck)

    I also attached a minicom log file of the whole procedure:

    8311.minicom log.doc

    Any ideas?

    Thanks

  • This procedure mentioned in the post you comment is an advance procedure to redirect the fastboot.sh script to use SDCard as destination.

    There is a simpler procedure to use, from link

    http://omapedia.org/wiki/4AJ.2.5_OMAP4_Jelly_Bean_Release_Notes

    you can find "Preparing Android binaries" and "Preparing eMMC images" procedures, these will copy all necessary files that were compiled into a folder myfs_${BOARD_TYPE}, the procedure explained in this page is for eMMC use, and it is redirecting to a different page to get SDCard configuration working, by going to next page in mentioned link it shows how to copy files to the SDCard.  Then you will need to use correct SYSBOOT configuration for SDCard and you should be able to boot, there is one extra issue that is present when booting, described next.

    Like SDCard booting is not supported and not used for Release testing, you can find similar procedure with some more details in this old link for GB,

    http://omapedia.org/wiki/L27.G.5_OMAP4_GingerBread_Release_Notes

    It describes and gives some reasons about bootargs and SDCard that could be useful if you face some issue, or like a reference for it. See Bootargs, Copying Binaries onto SD Card, Preparing Android binaries, the SDCard formating part can be using 3 partition.

    The other issue that you could face is that if your SDCard is supporting secure bit or not, in init.omap4430.rc or similar file in root directory of AFS and if you see 'Encryption Unsuccessful' message.

    Try removing/commenting next lines or modify them to point to mmc0, from a post I read hsmmc.1 is for eMMC use.(http://e2e.ti.com/support/omap/f/849/p/215322/883709.aspx#883709)

    mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/system /system wait ro
    mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/userdata /data wait noatime nosuid nodev nomblk_io_submit
    mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/cache /cache wait noatime nosuid nodev nomblk_io_submit
    mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/efs /factory wait ro

    # create filesystems if necessary
    service setup_fs /system/bin/setup_fs \
            /dev/block/platform/omap/omap_hsmmc.1/by-name/cache \
            /dev/block/platform/omap/omap_hsmmc.1/by-name/userdata
            class core
            user root
            group root
            oneshot

    An extra link with useful information related to SDCard issues is

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

    http://omapedia.org/wiki/Android_eMMC_Booting

    I tried to collect most of the information about this, I found extra comment, check that SDCard FS partition is EXT4.

  • Thank you Manuel ,

    1. Do I have to build img files after I copy the pre builded bineries the the myfs folder like described in the release notes?

    2. What is Ducati binary and what do I need it for?

    3. The only link related to SD card configuration that I could find is http://omappedia.org/wiki/Android_Build_SD_Configuration and it only has scripts for re-partitioning the SD-card. It doesn't describe what files should I copy to the SD card and on what partition. Am I missing something? Did you mean that I should take it from http://omapedia.org/wiki/L27.G.5_OMAP4_GingerBread_Release_Notes  - the Booting Kernel and Android File System from SD card section?

    Thank you very much for your help.

    Regards,

    Michael S.

  • Hi,

    #1 - No it is not required to create the image, they are created when you compile Android FS, if you were going to use eMMC it is required to recreate the img files with the WIFI and other files added.

    #2 - Ducati is the binary that is loaded to access HW codecs, in some of the instructions for L27.G5 is mentioned to compile it or not, for actual 4AJ releases I am not sure if it applies or not. The Ducati binary is located in the target in /system/vendor/firmware/ directory, the binary for Blaze is different than the one for Blaze Tablet, the binary that comes by default is the one for Blaze Tablet, possibly if you try to load the files from eMMC package in prebuild binaries and it is not loading Ducati then use the binary mentioned in the prebuild binary page and copy it to mentioned location. The other option is to use Android codecs that is SW codecs, in 4AJ2.5 is mentioned that this option is not tested.

    You can find an explanation for Ducati in

    http://omapedia.org/wiki/Ducati_For_Dummies

    #3 - From you previous post I can think you are using 4AJ2.5, follow the procedure to download SW and compile, other option is to use eMMC image files from prebuild binaries and extract binaries using information from http://omapedia.org/wiki/Android_eMMC_Booting, if you don't find a binary to extract the files from img the tool binaries are in $MYDROID/out/host/linux--x86/bin after compiled all Android FS, you can either copy them or add this folder to PATH variable in you terminal, the binaries are the ones mentioned in " Preparing eMMC images" in 4AJ2.5 Release notes page. I haven't made this option before to use all the binaries from img files only to recreate img files, but it should be possible extracting the files and copying them into SDCard.

    If you are compiling full target, then you should have followed instructions in

    http://omapedia.org/wiki/4AJ.2.5_OMAP4_Jelly_Bean_Release_Notes

    until " Preparing Android binaries" point, in here i just checked it and WIFI drivers are copied into $MYDROID directory, that means they are going to be copied in the last commands where root, system and data folders are copied into myfs_${BOARD_TYPE}.

    From here it is needed to follow to the instructions in the other web page, it can be either

    http://omappedia.org/wiki/Android_Build_SD_Configuration

    like you already have the SDCard partitioned, double check it because you used the fastboot procedure for SDCard and that would have modified initial 3 partitions. The important part here too is how to mount the SDCard partitions to copy the files, this needs to be done with sudo, then copy and unmount procedures are described in http://omappedia.org/wiki/Android_Build_Flashing_Android, but seems lacking of the AFS copying procedure, that is why mentioning about L27G5 instructions. Next step is to prepare HW to boot that is check SYSBOOT values and boot.

    or

    http://omapedia.org/wiki/L27.G.5_OMAP4_GingerBread_Release_Notes#Preparing_Android_binaries

    it is the same procedure, there is " Preparing Android binaries" and  "Copying Binaries onto SD Card",

    Another important part are the Bootargs, that is why I added this page, it has been reference I use before for the bootargs, like SDCard booting is not supported then it is a good start point,

    http://omapedia.org/wiki/L27.G.5_OMAP4_GingerBread_Release_Notes#Bootargs

    in the first link it is mentioned too about configuring the Serial terminal and the bootargs,

    http://omappedia.org/wiki/Android_Build_Minicom

    http://omappedia.org/wiki/Android_Build_Booting

    in one of the previous post I posted a link with bootargs to use in recent 4AI releases.

    About in what partition question, in the first partition that is usually named boot you need to copy MLO, u-boot.bin and uImage files, the AFS goes in the second partition it is a copy of root.img, system.img and data.img, this is described in http://omapedia.org/wiki/L27.G.5_OMAP4_GingerBread_Release_Notes#Preparing_Android_binaries.

  • Hi,

    I am working with 4AJ.2.2 because for some reason the new versions didn't boot on my blaze tablet. I don't really care that it is not the latest version because it doesn't effect the tests that want to run on it.

    I copied MLO , u-boot.bin and uImage to the boot partition of the SD card, I compiled the AFS and copied all the content of myfs folder to rootfs partition using sudo like you advised and like it was described in the links you mentioned.

    I also looked for the right bootargs for my blaze tablet. I found this link: http://e2e.ti.com/support/omap/f/849/p/256063/898093.aspx and used the bootargs from this post: setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 root=/dev/mmcblk1p2 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2'
     mmcinit 0; fatload mmc 0 0x80000000 uImage;bootm 80000000'

    I also made chnages in init.rc like described in the post -    1. comment out all lines starting with 'mount yaffs2'    2. changed  'mount rootfs rootfs / ro remount' to 'mount rootfs rootfs / rw remount'

    when I try to boot from SD (I made sure that the switches are in the right position for booting from SD), I use the bootargs and get the this printout with the error in the end (log file attached). The error is : EMIF: Access error from EMIF0 SYS port - 1.

    I tried to look in the forum for similar problems and I found this post: http://e2e.ti.com/support/omap/f/849/t/178611.aspx It's the same error but not the same situation so I'm pretty sure that it won't help. My blaze tablet has 1GB of RAM so it's not the case.

    Does anybody know what could be the problem? Thanks!


    3364.log.doc

  • There are these 2 posts with some patches to use, they seems to fix the same issue but in different releases, (this to run HS releases in GP devices)

    for 4AJ2.3 check

    http://e2e.ti.com/support/omap/f/849/p/253953/888544.aspx#888544

    for latest 4AJ2.5

    http://e2e.ti.com/support/omap/f/849/p/269664/942046.aspx#942046

    they seems similar fix, patch description looks almost the same, I haven't tested with them to know if both are required or only one for 4AJ2.5.

    Does someone knows about this?

    For 4AJ2.2 issue and EMIF, I can think:

    1. to check if myfs was copied into rootfs with myfs, leaving a directory like this /media/rootfs/myfs/system, I made this once and I am not saying this is actual error, just to check files are like /media/rootfs/system. There are some missing files that cannot be found after ducati-m3.bin was not loaded returning errors.

    2. Check the bootargs to use 1GB, let me check today if I can find the bootargs to use for SDCard.

    3. There is one issue with how bootargs are set, check what values are used in your Kernel config file for

    CONFIG_CMDLINE_FROM_BOOTLOADER=n  <-not added in default configuration
    CONFIG_CMDLINE_EXTEND=n

    by default it should be using the bootargs from the same config file, default bootargs,
    CONFIG_CMDLINE="console=ttyO2,115200n8 mem=1G vmalloc=768M androidboot.console=ttyO2 omap_wdt.timer_margin=30"

    check file /kernel/android-3.0/arch/arm/kernel/setup.c and function parse_tag_cmdline for it's use. If you want to use bootargs from u-boot you need to change it to

    CONFIG_CMDLINE_FROM_BOOTLOADER=y
    CONFIG_CMDLINE_EXTEND=n

  • Manuel, Thank you once again for your help.

    I made sure that I copied the content of myfs folder without the folder itself.

    How do I check the bootargs to use 1GB? Isn't it so by default?

    What is the Kernel config file and where do I find it? What are the bootargs that I need in order to boot from SD?


    By the way the bootargs should be written after pressing any ket to stop autoboot. right?


    Thanks a lot!

    Michael S. 


  • By default the config file is set to next values, that means to use the CONFIG_CMDLINE from kernel's config file.

    # CONFIG_CMDLINE_FROM_BOOTLOADER is not set
    CONFIG_CMDLINE_EXTEND=y

    the default file location is

    /kernel/android-3.0/arch/arm/configs/blaze_defconfig

    if you already set

    make ARCH=arm blaze_defconfig

    then you can modify the file and call this command again.

    one time you set it to

    CONFIG_CMDLINE_FROM_BOOTLOADER=y
    CONFIG_CMDLINE_EXTEND=n

    you will be able to set bootargs using the method you mentioned, other possibility is to modify the default value inside the u-boot file,

    for Tablet

    /u-boot/include/configs/omap44XXtablet.h

    for Blaze

    /u-boot/include/configs/omap4430sdp.h

    search for:
    #define CONFIG_BOOTARGS

    in other case you will need to enter bootargs each boot,  for eMMC it is required to modify boot.img and for NAND it is required some commands to write it.

    I haven't had a chance to search for the bootargs  to use in SDCard booting.

  • An extra comment, remember to use the Ducati binary provided in http://omapedia.org/wiki/Android:_Working_with_pre-built_binaries

    By default the image that comes in AFS is not correctly working, that is hwy it is needed to copy the file in prebuild binaries to /system/vendor/firmware/

    I found 2 bootargs that could work,

    http://e2e.ti.com/support/omap/f/849/p/156272/593275.aspx#593275

    or use the ones you mentioned in previous post, I missed to read that part of the email.

  • Manuel , The patches that you mentioned are fixing an issue with booting 4AJ.2.5P1 and 4AJ.2.3 on a GP blaze tablet from emmc. I successfully booted 4AJ.2.2 on my GP blaze tablet so I believe that this fix is irrelevant. I tried both configurations of the bootargs with the ducati binary from the prebuilded binaries and the result was the same. 

    I thought about adding a print commands in the kernel files so that it would print to the minicom port. I think it might help me better understand where is the problem in the code. How do I do it? I'm a total noob at this stuff.

    If you could provide a link to a myfs folder containing all the configured files for booting from SD it would help me a lot! Booting from SD is a pretty common task and it could help a lot of the community members. Any android version will do. :)

    edit:

    I compared the minicom logs of booting from sd and booting from emmc and found out that there are two differences :

    1.

    EXT2-fs (mmcblk1p2): error: couldn't mount because of unsupported optional features (4)

    [ 7.768432] EXT4-fs (mmcblk1p2): mounting ext3 file system using the ext4 subsystem

    [ 7.836700] EXT4-fs (mmcblk1p2): warning: mounting unchecked fs, running e2fsck is recommended

    [ 7.848510] EXT4-fs (mmcblk1p2): recovery complete

    [ 7.855682] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)

    I'm not sure why does this error happened but since it says that it recovered from it I guess it OK. right?

    2.

    [ 8.775360] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)

    [ 9.048950] sr_class1p5_calib_work: mpu Stop sampling: Voltage Nominal=1025000 samples=12

    [ 9.060333] sr_class1p5_calib_work: mpu: Calibration complete: Voltage Nominal=1025000Calib=840000 margin=10000

    [ 9.094970] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 6852688

    [ 9.099792] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)

    [ 9.110565] rproc_check_poolmem: section size does not fit within carveout memory

    [ 9.119018] omap-rproc omap-rproc.1: static memory for IPU_MEM_IPC_VRING doesn't belong to poolmem

    [ 9.129516] omap-rproc omap-rproc.1: Failed to process the image: -28

    [ 9.185791] Compat-wireless backport release:

    [ 9.191009] Backport based on bluetooth-next

    [ 9.195953] compat.git: bluetooth-next

    [ 9.343139] Bluetooth: Core ver 2.16

    [ 9.347320] NET: Registered protocol family 31

    .

    The three bold lines appear only in boot from sd log. I tried to look for solution for this problem and found this post: http://e2e.ti.com/support/omap/f/849/t/224748.aspx?pi239031349=1 that says that I need to enable CONFIG_HIGHMEM so that the carveout memory will have more space and everything should work fine.

    The thing is that it doesn't say where in the kernel should I enable it. I found some link that says that in arch/arm/mach-omap2 in the Kconfig file under the lines:

    select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
    select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4

    I need to add : select HIGHMEM

    I did it but then when I try to build the kernel again I get this errors:

    scripts/kconfig/conf --silentoldconfig Kconfig

      CHK     include/linux/version.h
      UPD     include/linux/version.h
      HOSTCC  scripts/genksyms/genksyms.o
      HOSTCC  scripts/kallsyms
      CC      scripts/mod/empty.o
    cc1: error: unrecognized command line option "-mlittle-endian"
    cc1: error: unrecognized command line option "-mapcs"
    cc1: error: unrecognized command line option "-mno-sched-prolog"
    cc1: error: unrecognized command line option "-mabi=aapcs-linux"
    cc1: error: unrecognized command line option "-mno-thumb-interwork"
    scripts/mod/empty.c:1: error: bad value (armv5t) for -march= switch
    scripts/mod/empty.c:1: error: bad value (armv5t) for -mtune= switch
    make[2]: *** [scripts/mod/empty.o] Error 1
    make[1]: *** [scripts/mod] Error 2
    make[1]: *** Waiting for unfinished jobs....
      SHIPPED scripts/genksyms/lex.c
      SHIPPED scripts/genksyms/parse.h
      SHIPPED scripts/genksyms/keywords.c
      SHIPPED scripts/genksyms/parse.c
      HOSTCC  scripts/genksyms/lex.o
      HOSTCC  scripts/genksyms/parse.o
      CHK     include/generated/utsrelease.h
      UPD     include/generated/utsrelease.h
      Generating include/generated/mach-types.h
      CC      kernel/bounds.s
    cc1: error: unrecognized command line option "-mlittle-endian"
    cc1: error: unrecognized command line option "-mapcs"
    cc1: error: unrecognized command line option "-mno-sched-prolog"
    cc1: error: unrecognized command line option "-mabi=aapcs-linux"
    cc1: error: unrecognized command line option "-mno-thumb-interwork"
    kernel/bounds.c:1: error: bad value (armv5t) for -march= switch
    kernel/bounds.c:1: error: bad value (armv5t) for -mtune= switch
    make[1]: *** [kernel/bounds.s] Error 1
    make: *** [prepare0] Error 2
    make: *** Waiting for unfinished jobs....
      HOSTLD  scripts/genksyms/genksyms
    make: *** [scripts] Error 2

    Thanksfor the help!

  • For #1 you need to change EXT3 for rootfs to EXT4, format it to EXT4, I found this error yesterday when trying to boot 4AJ2.1, it booted and started to load Android but for some reason Android was not loaded, then I found the error #2 that you mentioned, then I replaced it with the Ducati binary from pre-build link, it is know issue that this step is needed, I mean from previous posts when 4AJ2.3 was released, mostly.

    I still need to try to load the prebuild binaries extracting the files from the system.bin, I mean I did something wrong in when compiling the release and downloading everything again is going to take some time.

    Could you try comments/fixes for #1 and #2 and comment if everything goes ok or not?

    What do you mean by "I successfully booted 4AJ.2.2 on my GP blaze tablet so I believe that this fix is irrelevant."? it is in eMMC, right?

  • I am sorry I didn't explain myself. By "I successfully booted 4AJ.2.2 on my GP blaze tablet so I believe that this fix is irrelevant." I ment from the eMMC.

    I can try to repartition the rootfs partition to EXT4 but although according to the minicom log it doesn't seem to metter because it says "recovery complete" and then "mounted filesystem with ordered data mode." 

    I downloaded the Ducati binary for 4AJ.2.2 and copied it to /system/vendor/firmware/ on the sd card (rootfs partition). The minicom log that mentioned is with the ducati from pre-built binaries.

    As I mentioned in my previous reply I found a post that says that #2 can be solved by enabling HIGHMEM and I tried to do that as I described but couldn't compile the kernel. Could you take a look at what I wrote and tell me what you think?

    Thanks !!

  • Thanks for clarifying about 4AJ2.2.

    About #2, let me check it, but I thought this error was caused by using incorrect Ducati, are you using the Ducati from below in the prebuild binary link? the page is divided in 2 parts, upper one is for Blaze and below one is for Tablet, they use different binaries.

  • I veryfied that I downloaded the blaze tablet ducati of version 4AJ.2.2.

    As I mentioned earlier this post : http://e2e.ti.com/support/omap/f/849/t/224748.aspx?pi239031349=1 talks about this issue and suggests downloading the pre-built ducati like you suggested and enabling HIGHMEM. 

    Thanks again,

    Michael S.

  • Thanks for explanation,

    I checked about HIGHMEM and it is set in file

    /kernel/android-3.0/arch/arm/configs/blaze_defconfig

    and by checking in the android-3.0/.config file it is present there after configuring the kernel.

    I am still investigating about Ducati error.

  • About EMIF error it is described for older release and a system using 512MB, are you using 512MB of memory? in this case Ducati will use different configuration. If there is an error for Ducati it will be fixed when memory carveouts are modified to fit 512MB, in your case if there is an issue with 4AJ2.2 release and you are using 1G it could be a different issue.

    If you are using 1G Tablet device could you try to boot newer release like 4AJ2.5 using SDCard?

  • Hi Manuel,

    I'm using 4AJ.2.2 and according to blaze tablet 4460 specifications it has 1G.

    1. When I downloaded the Ducati binary from pre-built binaries I copied it to /system/vendor/firmware/ in the rootfs partition replacing the old Ducati binary (I also renamed it accordingly). Is that what I needed to do? Or I should copy to the kernel folder and try to compile?

    2. I tried booting newer versions before including the 2AJ.2.5 but It didn't boot. Maybe it is because the I have a GP tablet? Maybe I should apply this patch you suggested : http://e2e.ti.com/support/omap/f/849/p/269664/942046.aspx#942046    ?


    Thanks!

  • Your comment in point #1 reminds me how I made it works onces about replacing Ducati binary in 4AJ releases 3 weeks ago. It was needed to replace the binary in mydroid AFS folder (this worked for eMMC use).

    /mydroid/device/ti/proprietary-open/omap4/ducati_blaze_tablet.tgz

    it is required to download the prebuild binary and add it to a .tgz using the same file name, then recompile AFS to add this file to ./mydroid/out/target/product/blazetablet/system/vendor/firmware/, and it then it is used to build system.img and it for eMMC package, but for SDCard use you would need to create myfs_blazetablet folder as explained in release notes to copy it to the SDCard's directories.

    I have been trying all day to add this file and get target to compile and add the files in the correct place but the mm command is not recognizing that the binary is extracted or something related to it, I am doing the change for Blaze and in 4AJ1.1, not for Tablet and 4AJ2.2.

    Unzip out/target/product/blaze/obj/FAKE/ti-ducati.untarred_intermediates/ <- device/ti/proprietary-open/omap4/ducati_full_blaze.tgz)
    Copy out/target/product/blaze/obj/FAKE/ducati-m3.bin_intermediates/ducati-m3.bin <- out/target/product/blaze/obj/FAKE/ti-ducati.untarred_intermediates/ducati-m3.bin
    acp: file 'out/target/product/blaze/obj/FAKE/ti-ducati.untarred_intermediates/ducati-m3.bin' does not exist
    make: *** [out/target/product/blaze/obj/FAKE/ducati-m3.bin_intermediates/ducati-m3.bin] Error 1

    Tomorrow I going to download the same release that you are using and I going to use the Blaze Tablet to try to reproduce the same issue under the same circumstances.

    I made this change before and it worked  but for some unknown reason it is not working now, at that time other tries to copy the Ducati binary into the target resulted in errors when loading Ducati, I don't know why of this, maybe because I am using Blaze instead of Tablet, not sure.

    For #2 I think it worth to try using 4AJ2.5 and the patch to check, you already have compiled everything it is just matter to copy the files into the SDCard, isn't it?

    One question, at this point the only error you are seeing is the one that indicates Ducati is not being loaded or some error related to this?

  • Thank you very much for your help. 

    I have version 4AJ.2.5 that I compiled. I need to patch it and recompile the kernel after downloading the right Ducati. 

    At this point the only error that I have is the two errors I described:

    1.the  Ext4 error

    2. Those three lines in the log files that are taking about memory. 

    I will have the chance to try it only on Sunday. 

    Regards, 

    Michael  S. 

  • Hi,

    I've tried to use the 4AJ.2.5 version with all the changes in init and the pre built ducati. I also used the same bootargs I used before. the log gets stuck on "[ 7.104156] Power Management for TI OMAP4" and then restarts.

    When I try to use 4AJ.2.5 I get thr following errors:

    [    9.682189] init: skipping insecure file '/default.prop'
    [    9.689361] init: skipping insecure file '/init.rc'
    [   14.005493] init: Timed out waiting for /dev/.coldboot_done
    [   14.021026] init: skipping insecure file '/system/build.prop'
    [   14.029937] init: Unable to open persistent property directory /data/property errno: 2
    [   63.002319] HDCP: failed to load keys

    Any thought?

  • I tried downloading, recompiling and following the steps from release notes but changing some to run in SDCard, for what I checked it didn't ran and it is the same issues that we were facing for this post.

    I checked that Ducati binary was ok from prebuild binaries, I recompiled it too, then tested both from eMMC booting and they were running ok. That indicates the issue is not Ducati binary.

    At the end after all this testing I went to original question about using Fastboot commands for SDCard,

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

    and mixing both links, previous one and the one you shared before,

    http://e2e.ti.com/support/omap/f/849/p/256063/898093.aspx

    I found that for 4AJ2.2 the u-boot  the command that is mentioned "set_boot_slot:SD" is not this way in this release, it is renamed to "set_flash_slot:SD".

    the point was noted when I was looking for the definition of mmc_slot and saw it is compared with integers and other times with strings "SD" and "EMMC", then I followed the use of the function board_set_flash_slot and the command to set "SD" was not the one indicated in the post.


    int board_set_flash_slot(char * slot_name)
    {
        int ret = 0;
        if (!strcmp(slot_name, "SD"))
            mmc_slot = 0;
        else if (!strcmp(slot_name, "EMMC"))
            mmc_slot = 1;
        else
            ret = -1;

        return(ret);
    }

    Then following next steps I got the SDCard running with 4AJ2.2:

    1. I did follow the changes for U-boot indicated in next post,

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

    2. after compiling them I formated my SDCard to use FAT32 of 52MB and set boot flag,

    3. copy the compiled u-boot.bin and MLO to this partition and using OFF-ON-OFF-ON-ON-ON-OFF-ON FOR SYSBOOT switch configuration. I compiled x-loader locally not used the prebuild one, it was just quickly to do a ../x-loader in the cp command.

    4. Inserted the SDCard into the device and turn it on, stopped the boot countdown and entered fastboot command.

    5. From the PC I ran these commands as explained in

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

    and

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

    bot in the same post "4AJ.1.1 Blaze booting on SD card"

    after extracting the files from prebuild binary for eMMC (http://omappedia.org/wiki/Android:_Working_with_pre-built_binaries)

    [emmc * See Flashing the OMAP4 Hardware on Release Notes]

    I did cd to 'omap4_emmc_files_blaze_tablet'

    from terminal,

    sudo ./fastboot  oem set_flash_slot:SD

    sudo  ./fastboot  oem format

    sudo ./fastboot.sh

    6. it took some time but the Flashing process finished with OKAY status.

    I didn't needed to use or modify the kernel for bootargs, I leave the device to boot, ( I tried introducing the bootargs but boot failed) the device rebooted once because some errors were present, the second time that it booted Android FS was loaded with initial errors in UI but for the third time that it booted everything was ok.

    I copied one video file to the device using ./adb sudo and ./adb remount as explained in next post,

    http://e2e.ti.com/support/omap/f/849/p/210782/746879.aspx#746879

    and then copied the Ducati binary from prebuild binaries, and rebooted for the system to recognize video file and generate the thumbnail.

    Once the device booted I played the file and it was played ok, and in the logs TI codec was loaded, indicating that it was ok.

    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 896 x 576
    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 800 x 464 @ (0, 0)
    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 896 x 576
    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 800 x 464 @ (0, 0)
    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 896 x 576
    I/OMXCodec(  126): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 800 x 450 @ (32, 24)

    Just as verification I removed the SDCard and inserted it in the PC, not all the partitions were shown but 'system' partition was shown and I compared the Ducati binaries from the one I downloaded and the one in this partition and they were the same, that indicates that it is the SDCard files that are being used.

    user@user:/home/user/4AJ22/$ md5sum /media/57f8f4bc/vendor/firmware/ducati-m3.bin
    211205969b32a0429b82dbfa2f7084d0  /media/57f8f4bc/vendor/firmware/ducati-m3.bin

    user@user:/home/user/4AJ22/$ md5sum /media/f7117f61/michael/4AJ.2.2_Blaze_Tablet_ducati-m3.bin
    211205969b32a0429b82dbfa2f7084d0  /media/f7117f61/michael/4AJ.2.2_Blaze_Tablet_ducati-m3.bin

    could you try these steps and comment?

  • Quick comment about this steps.

    In between tests I tried to see the contents of the SDCard when I didn't use "oem format", but fdisk is not working for this partitions then I erased the partition table using

    http://omapedia.org/wiki/EMMC_boot#eMMC_boot_information_and_Format_the_Partition

    # dd if=/dev/zero of=/dev/sde bs=512 count=10000

    use the command carefully, and it can change depending on what partition or device is being used.

    this erased the partition table, I had to remove and reinsert the SDCard in between, then I created the boot partition again using gparted as indicated when tried to use fdisk.

  • Hi,

    I tried the method that you described.

    When I try to boot from SD it stops at the line : [    7.017944] Power Management for TI OMAP4.
    after that it reboots by itself and continues till it gets to "untracked pid" messeges like those:

    [   13.973419] init: untracked pid 121 exited
    [   14.096282] init: untracked pid 361 exited
    [   19.372100] init: untracked pid 374 exited
    [   19.642547] init: untracked pid 380 exited

    and so on...

    I am pretty sure that I've chnaged the mmc.c file as you suggested and after that I compiled and took the u-boot.bin and used it to boot and also copied it to the omap4_emmc_files_blaze_tablet folder that contains all the pre built binaries.

    Could you, just in case, attach your modified u-boot.bin file so that I could make sure that this is not the problem?

    Thanks,

    Michael.

  • I only used compiled Xloader and U-boot for first boot and to use fastboot, for eMMC pre-build binaries I used the ones that comes in the package.

    3441.files.tar

    to reduce possible issues with patching u-boot, these are the changes I made,

    diff --git a/board/omap4430sdp/mmc.c b/board/omap4430sdp/mmc.c
    index d703330..022be00 100644
    --- a/board/omap4430sdp/mmc.c
    +++ b/board/omap4430sdp/mmc.c
    @@ -36,7 +36,7 @@
     #define EFI_NAMELEN 36
     
     /* Default to eMMC slot for omap4430sdp Blaze and Blaze Tablet */
    -int mmc_slot = 1;
    +int mmc_slot = 0;
     
     static const u8 partition_type[16] = {
            0xa2, 0xa0, 0xd0, 0xeb, 0xe5, 0xb9, 0x33, 0x44,
    @@ -417,7 +417,7 @@ int omap4_mmc_init(void)
              * 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");

    Check to use Tablet prebuild binaries, in my first 2 tries I used Blaze ones and it failed to load Android.

  • I tried to do it with the modified u-boot.bin and compiled MLO for the first boot and for flashing the SD and got the pid errors.

    Now I tried to use the modified u-boot.bin and compiled MLO just for booting into fastboot mode, and leaving the pre-built binaries as is. After flashing the the pre built binaries the blaze tablet booted in to android and seem to be working well, however after removing the SD card and changing the SYSBOOT configurations to ON ON ON ON ON ON OFF ON   I tried to boot it again just to make sure that it doesn't boot from eMMC. It booted into android and everything worked well.  I erased the eMMC and tried to boot from the SD again and got the pid errors as before...

    It seems that fastboot.sh is flashing to the eMMC and the blaze tablet is booting android from eMMC. I also tried changing back the SYSBOOT configuration to boot from SD and when it is booted I tried to remove the SD. It made no difference to the blaze tablet and It worked well without the board.

  • Ok...thinking about it, I reasoned the same way and by erasing the eMMC using fastboot, I think it needs to be done with unmodified u-boot and xloader, since modifed ones are going to point to SDCard. In one of my tests I made it in this way and that was the difficult part to format the SDCard after formating it using fastboot, the SDCard format changes and not all the tools in Ubuntu handles this format, that is why I used dd command to erase first sectors then I reformatted it for first fastboot commands.

    In this try I used modified fastboot over the SDCard and it erased the information in the partitions, other point to check is that I faced one issue the first time when using the SDCard because it was not formated, I needed to run "fastboot oem format" after the "fastboot  oem set_flash_slot:SD", that is why it is in the instructions, you should be doing this by following the instructions.

    Try to use unmodified boot files from the SDCard and run "fastboot oem format" then "fastboot erase system" and the same for boot and recovery, this will remove the eMMC information and then try to boot using SYSBOOT switches ON ON ON ON ON ON OFF ON, I tried it just know after cleaning the information that time and device is not booting from eMMC.

    If I modify the SYSBOOT switches to boot from SDCard and use the SDCard then the system boots ok, I checked the logs and I cannot find a PID error.

    I remember to use Blaze eMMC files instead of Blaze Tablet ones and saw PID errors, that is why I added the link to eMMC files, then it should not be the case.

    Try cleaning eMMC, if everything is correct when Flashing SDCard the partition should be made to SDCard and for eMMC device would not boot when modifying the SYSBOOT switches.

  • I forgot to mention/write that to erase the eMMC it is needed to add sudo command for each fastboot command.

  • After following your instructions (I made sure I used blaze tablet files ) and flashing to the SD card I didn't know how to erase the eMMC so instead I flashed version 4AJ.2.5 that didn't work for me before.I made sure that I flashed it to eMMC by rmoving the SD card. I made sure that the blaze tablet doesn't boot. Then I reinserted the SD card again and the tablet failed to boot and showed the pid errors.

    If I'm correct it's basically the procedure that you described only instead of erasing I flashed a non-working version...   

  • This is how I erased eMMC using unmodified boot files,

    from serial terminal after stopping booting sequence:

    fastboot

    Device Serial Number: 00000000000000000

    Fastboot entered...

    Formatting EMMC(1) slot.

    blocks 62324736

    From terminal PC:

    user@user:~/Downloads/emmc$ sudo ./fastboot oem format
    [sudo] password for user:
    ...
    OKAY [  0.228s]
    finished. total time: 0.228s
    user@user:~/Downloads/emmc$ sudo ./fastboot erase system
    erasing 'system'...
    OKAY [ 67.773s]
    finished. total time: 67.773s
    user@user:~/Downloads/emmc$ sudo ./fastboot erase recovery
    erasing 'recovery'...
    OKAY [  1.000s]
    finished. total time: 1.000s
    user@user:~/Downloads/emmc$ sudo ./fastboot erase boot
    erasing 'boot'...
    OKAY [  1.007s]
    finished. total time: 1.007s

    I am using a Blaze Tablet 2 with SOM OMAP4460 1.1 GP, it is the same specifications that you are using, it is the same eMMC tar file, I am using a SDCard of 4GB microSDHC.

    Could you share the log to see the error? or the part of the error if possible?

  • I found next post about PID errors,

    http://e2e.ti.com/support/omap/f/849/p/99274/645487.aspx#645487

    the thread where I found it is

    http://e2e.ti.com/support/omap/f/849/p/228014/802439.aspx

    but it is not related.

  • I will be able to check it only on Monday. I will also attach the log file with the pid errors 

  • Hi Manuel,

    I did everything like you described. I booted the blaze into fastboot with the modified u-boot and the MLO, I used the pre-built binaries of blaze tablet (made sure that it's for blaze tablet) and flashed them by using these three commands that you wrote:

    sudo ./fastboot  oem set_flash_slot:SD

    sudo  ./fastboot  oem format

    sudo ./fastboot.sh

    I tried to boot the tablet and it booted into android just fine. Then I changed the SYS configuration and tried to boot it from eMMC (I took out the SD card just to be sure) - It also booted into android. 

    Then I used another SD card with unmodified u-boot to erase the eMMC (I changed the SYSBOOT configurations to boot from SD) . I did it by executing the commands that you suggested:

    sudo ./fastboot oem format

    sudo ./fastboot erase system

    sudo ./fastboot erase recovery

    sudo ./fastboot erase boot

    After that I replaced the SD card with the first one, and tried to boot into android fron it. Although I didn't get the pid errors this time, the tablet failed to boot and got stuck on this line :

      [   11.103546] sr_class1p5_calib_work: core: Calibration complete: Voltage Nominal=962000Calib=886240 margin=38000

    I attached the log file: 0181.log 1.7.13.doc

    I tried using the modified u-boot on the first boot from the SD and replace the u-boot.bin in the pre-built binaries with the modified one.

    I tried to replace the omap_hsmmc.1 with omap_hsmmc.0 in the init.omap4blazeboard.rc file in the ramdisk.img. ( I used this method to extract and edit the ramdisk.img file http://discuz-android.blogspot.co.il/2008/01/step-by-step-to-createmodify-ramdiskimg.html ) as suggested by Roman Jordan here: http://e2e.ti.com/support/omap/f/849/t/215322.aspx?pi239031349=2

    I still got the same results and the same log.

  • Changing the order is affecting, I need to review the information and see what is wrong.

  • I compared this log with the one I got from a successful boot from eMMC. I noticed that in both cases it seems to be looking for partitions in eMMC according to those lines:

    [ 6.756134] mmcblk0: mmc0:0001 SEM32G 29.7 GiB

    [ 6.756317] mmcblk0boot0: mmc0:0001 SEM32G partition 1 1.00 MiB

    [ 6.756530] mmcblk0boot1: mmc0:0001 SEM32G partition 2 1.00 MiB

    Another thing that might be important is those lines:

    [ 6.792480] Alternate GPT is invalid, using primary GPT.

    [ 6.798461] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10

    [ 6.813323] mmcblk0boot1: unknown partition table

    [ 6.833465] mmcblk0boot0: unknown partition table

    and :

    [ 7.170837] GPT:partition_entry_array_crc32 values don't match: 0xef5878f2 != 0xcd1c5c85

    [ 7.185241] GPT: Use GNU Parted to correct GPT errors.

    [ 7.191040] mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10

    It is looking for mmcblk0 and mmcblk1 that are defined to be in the eMMC according to the first 3 log lines.

    I'm looking for a way to change that. Any thoughts? 

  • I had similar idea about u-boot, if it would be needed to include the changes made to flash to SDCard in regular boot and if the same for the other mmc0 values.

    It would require to modify boot.img to include modified uboot and possibly modified bootargs, plus disabling or changing the values for mmc in init.rc and init.omap4blazeboard.rc.

  • And the other 2 things to do too are adding the kernel changes to use bootargs from u-boot or to modify the bootargs in kernel to use SDCard, and the other change is to compile Graphics drivers and WLAN drivers that matches the kernel version to avoid the issue of PID.

    The second point can be achieved compiling all Android release as explained in release notes and use the /system/lib/modules files, it became a little complicated for me not to use the files I compiled, I tried to use the compiled ones and add them into the emmc packages after extracting it, I know complicated, but I am still trying to do this, but it seems to be the path from the previous posts. Maybe using the AFS from release notes as is after compiled in SDCard should help about the drivers configuration, but still it is needed to change the way kernel load bootargs from internals to u-boot ones it is to use SDCard bootargs.

  • Hi Manuel,

    Thank you very much for your efforts. It's seems to me that the kernel loads fine, from the SD as I wanted but the system loads from the eMMC.

    I think that the changes in mmc.c and in init.omap4blazeboard.rc made the kernel boot from SD. However more changes are required to make the system also boot from SD.

    As I understand from your post I should look in the boot.img because it is responsible for all the boot arguments and priorities. 

    About the bootargs - I tried the ones I used before (setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 root=/dev/mmcblk1p2 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2'
     mmcinit 0; fatload mmc 0 0x80000000 uImage;bootm 80000000')

    and the tablet failed to boot just like you described so if the bootargs must be changed what do I need to change it to?

    Thank you!

  • The modification of boot.img is to add the kernel (zImage) with the bootargs or commands to use bootargs from u-boot.

    The part of bootargs I think it should change 2 things, but I never tested those values.

    Instead of

    mem=456M@0x80000000 mem=512M@0xA0000000

    use mem=1G

    and instead of

    root=/dev/mmcblk1p2

    to use

    root=/dev/mmcblk0p2

    these are the changes I meant for this case.

  • Hi Manuel,

    I tried to change the bootargs like you advised but it didn't boot. It said "bad magic number". I also tried a few different bootargs and still got the same result. In the last 4 days I tried to concentrate on the last part of the log in the minicom before it gets stuck.

    [    7.225189] mmcblk1: mmc1:b368 00000 7.51 GiB
    [    7.230957] scsi 0:0:0:0: Direct-Access     Generic  Ultra HS-SD/MMC  1.76 PQ: 0 ANSI: 0
    [    7.237487] Alternate GPT is invalid, using primary GPT.
    [    7.237609]  mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
    [    7.252044] sd 0:0:0:0: Attached scsi generic sg0 type 0
    [    7.267395] sd 0:0:0:0: [sda] Attached SCSI removable disk
    [    7.337615] tc358765 display0: power_on done
    [    7.346923] twl_rtc twl_rtc: setting system clock to 2000-01-05 07:04:01 UTC (947055841)
    [    7.357086] Freeing init memory: 288K
    [    7.366638] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
    [    7.381286] mmc2: card claims to support voltages below the defined range. These will be ignored.
    [    7.415802] sr_class1p5_calib_work: mpu: Calibration complete: Voltage Nominal=1317000Calib=1100000 margin=0
    [    7.416473] mmc2: queuing unknown CIS tuple 0x91 (3 bytes)
    [    7.417144] mmc2: new high speed SDIO card at address 0001
    [    7.549804] keychord: using input dev gpio-keys for fevent
    [    7.612762] EXT4-fs (mmcblk0p8): VFS: Can't find ext4 filesystem
    [    7.707489] EXT4-fs (mmcblk0p10): recovery complete
    [    7.713928] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode. Opts: nomblk_io_submit
    [    7.725555] EXT4-fs (mmcblk0p9): VFS: Can't find ext4 filesystem
    [    7.786376] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
    [    7.825378] HDCP: failed to load keys
    [    7.833221] init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'
    [    7.842346] init: cannot find '/system/bin/vold', disabling 'vold'
    [    7.849517] init: cannot find '/vendor/bin/pvrsrvinit', disabling 'pvrsrvinit'
    [    7.857971] init: cannot find '/system/bin/setup_fs', disabling 'setup_fs'
    [    7.865844] init: cannot find '/system/bin/uim-sysfs', disabling 'uim'
    [    7.873352] init: cannot find '/system/bin/smc_pa_ctrl', disabling 'smc_pa'
    [    7.881195] init: cannot find '/system/bin/shm_service', disabling 'shm_service'
    [    7.884399] omap-rproc omap-rproc.0: rproc_loader_cont: failed to load tesla-dsp.bin
    [    7.885559] omap-rproc omap-rproc.1: rproc_loader_cont: failed to load ducati-m3.bin
    [    7.906982] init: cannot find '/system/bin/netd', disabling 'netd'
    [    7.914245] init: cannot find '/system/bin/debuggerd', disabling 'debuggerd'
    [    7.922088] init: cannot find '/system/bin/rild', disabling 'ril-daemon'
    [    7.929595] init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger'
    [    7.938415] init: cannot find '/system/bin/app_process', disabling 'zygote'
    [    7.946136] init: cannot find '/system/bin/drmserver', disabling 'drm'
    [    7.953430] init: cannot find '/system/bin/mediaserver', disabling 'media'
    [    7.961059] init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
    [    7.968597] init: cannot find '/system/bin/installd', disabling 'installd'
    [    7.976226] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
    [    7.985412] init: cannot find '/system/bin/keystore', disabling 'keystore'
    [    7.993011] init: cannot find '/system/bin/sdcard', disabling 'sdcard'
    [    8.000274] init: cannot find '/system/bin/supl20clientd', disabling 'supl20clientd'
    [    8.008819] init: cannot find '/system/bin/arxd', disabling 'arxd'
    [    8.040740] sr_class1p5_calib_work: mpu: Calibration complete: Voltage Nominal=1380000Calib=1190000 margin=0
    [    8.059875] usb 1-1.1: USB disconnect, device number 3
    [    8.060485] init: property 'ro.product.manufacturer' doesn't exist while expanding '${ro.product.manufacturer}'
    [    8.060516] init: cannot expand '${ro.product.manufacturer}' while writing to '/sys/class/android_usb/android0/iM'
    [    8.060546] init: property 'ro.product.model' doesn't exist while expanding '${ro.product.model}'
    [    8.060546] init: cannot expand '${ro.product.model}' while writing to '/sys/class/android_usb/android0/iProduct'
    [    8.143005] init: cannot find '/system/bin/sh', disabling 'console'
    [    8.150115] android_usb: already disabled
    [    8.159942] warning: `adbd' uses 32-bit capabilities (legacy support in use)
    [    8.168457] adb_open
    [    8.170928] mtp_bind_config
    [    8.174102] adb_bind_config
    [    8.506134] android_work: sent uevent USB_STATE=CONNECTED
    [    8.512634] android_work: sent uevent USB_STATE=DISCONNECTED
    [    8.656799] android_work: sent uevent USB_STATE=CONNECTED
    [    8.665771] android_usb gadget: high speed config #1: android
    [    8.672698] android_work: sent uevent USB_STATE=CONFIGURED
    [   11.087799] sr_class1p5_calib_work: core: Calibration complete: Voltage Nominal=962000Calib=886240 margin=38000

    It looks like mmc1 is the SD card but it is looking for the system partition in mmc0 ([7.612762] EXT4-fs (mmcblk0p8): VFS: Can't find ext4 filesystem  - is the system partition ). I tried to find that function in the code that prints this line, and figure out what variables it gets and go backwards from there.

    with the command " grep -r 'VFS: Can't find ext4' <4AJ.2.2 folder> " I found only one place in the code that matches this string : /4AJ.2.2/kernel/android-3.0/fs/ext4/super.c line 3731. I found out that it is located in a static function that is not called by any other function in the file. Moreover, I changed the string and compiled the kernel to make sure that I see the change in the minicom log to prove that this is the function that prints that line. however the line in the log didn't change and that means that someplace else is printing it. Could you tell me how to find it?

    I also thought about changing the destinations manually. for example :

    "dev/mmcblk1p8/system/bin/netd" instead of "/system/bin/netd" or something like that. It's a much messy way and It's a lot of work to find all the right places in the code and change them but maybe it's doable. Do you know what is the right path I should use?

    Is there a way to print all the partitions that the blaze tablet recognizes when it boots? Something like this:

    mmcblk0p1           xloader

    mmcblk0p2           bootloader

    .

    .

    .

    mmcblk0p10           userdata

    And the same with mmcblk1 partitions

    If you have any other suggestions I will be glad to hear them.

    Unfortunatly I HAVE to make it work and can't afford to leave it that way

  • Michael,

    I have no more suggestions, I need to debug it during next week, I will keep you inform of my finding.

  • Hi,

    I tried to build android file system (version 4.2.2) by following the release notes : http://omappedia.org/wiki/4AJ.2.2_OMAP4_Jelly_Bean_Release_Notes. I'm getting some errors in the beginning of the build proccess and then messeges about  a lot of files being ignored :

    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=4.1.2
    TARGET_PRODUCT=blaze_tablet
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    TARGET_ARCH_VARIANT=armv7-a-neon
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-2.6.32-38-generic-x86_64-with-Ubuntu-10.04-lucid
    HOST_BUILD_TYPE=release
    BUILD_ID=JZO54K
    OUT_DIR=out
    ============================================
    Checking build tools versions...
    device/ti/proprietary-open/Android.mk:257: warning: overriding commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    build/core/base_rules.mk:529: warning: ignoring old commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    Android Version JELLYBEAN
    VISION_LIBRARIES = dei dsplib imgfilter vrun yuv
    DVP_FEATURES = -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV
    OMX Extensions used!
    VISION_LIBRARIES = dei dsplib imgfilter vrun yuv dei dsplib imgfilter vrun yuv
    DVP_FEATURES = -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV
    find: `src': No such file or directory
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_MissedCall.ogg:system/media/audio/notifications/F1_MissedCall.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_New_MMS.ogg:system/media/audio/notifications/F1_New_MMS.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_New_SMS.ogg:system/media/audio/notifications/F1_New_SMS.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/Alarm_Buzzer.ogg:system/media/audio/alarms/Alarm_Buzzer.ogg ignored.

    .

    .

    .

    I attached the beginning of the log file : 4555.log_unchanged_afs.doc

    Thank you for your help :)

  • You can add showcommands to mm in Android FS compilation, you can find more details in ./mydroid/build/core/build-system.html

    This will show the command that is generating the error, it will help to trace if it is harmless error or not.

  • Unfortunately using make showcase didn't add any messages to the log.

    I forgot to mention that the AFS I'm trying to build is unmodified. I downloaded it and didn't made any changes. 

    I saw a few threads mentioning this problem on pandaboard however there was no obvious solution in those threads.

    Thank you for your help...

  • I compiled 4AJ22 last week and I used the release notes from omapedia.org and it compiled ok.

    The command to use is showcommands, it will be like

    source build/envsetup.sh

    lunch #select between Blaze or Tablet

    mm showcommands

  • I am checking the u-boot changes, and from the beginning this change from me was not correct,

    @@ -417,7 +417,7 @@ int omap4_mmc_init(void)
              * 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");

    This part of the code where EMMC is initialized, setting it to zero leads to failure. Like the comment indicates it needs to be reset to zero later using set_boot_slot:SD, and as indicated in Gina's post. Just to make sure that code uses zero after mmc_init I added next code,

    @@ -412,11 +454,13 @@ int omap4_mmc_init(void)
                    }
                    load_ptbl();
            }
    -
    +printf("manuel after Initializing SD(0) Slot.\n");
            /* 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"
              */
    +    int mmc_slot_temp = mmc_slot;
    +    int myreturn = 0;
            mmc_slot = 1;
     
            if (mmc_init(mmc_slot)) {
    @@ -425,8 +469,10 @@ int omap4_mmc_init(void)
            }
            sprintf(booticmd, "booti mmc%d", boot_slot);
            setenv("bootcmd", booticmd);
    -       printf("efi partition table:\n");
    -       return load_ptbl();
    +       printf("efi partition table: booticmd %s\n",booticmd);
    +    myreturn = load_ptbl();
    +    mmc_slot = mmc_slot_temp;
    +       return myreturn;
     }

    Then I checked what I commented about being sure that eMMC partitions were not overwritten when using oem format for SDCard, I added next code

    diff --git a/board/omap4430sdp/mmc.c b/board/omap4430sdp/mmc.c
    index d703330..41889cb 100644
    --- a/board/omap4430sdp/mmc.c
    +++ b/board/omap4430sdp/mmc.c

    @@ -276,6 +303,15 @@ static int do_format(void)
            int n;
     
            printf("Formatting %s(%d) slot.\n", mmc_slot?"EMMC":"SD", mmc_slot);
    +
    +    if (mmc_slot!=0) {
    +        partitions = &partitions2[0];
    +        printf("using partition2 %p %p %p\n",partitions,&partitions1[0],&partitions2[0]);
    +    }
    +    else {
    +        partitions = &partitions1[0];
    +        printf("using partition1 %p %p %p\n",partitions,&partitions1[0],&partitions2[0]);
    +    }

    and defining each partition structure, one for EMMC and one for SD, and it was correctly formatted, each partition had different name.

    The I proceeded to format SDCard by using the using fastboot.sh script and I found 2 errors, one is that rebooting in the first stage was not correct, something in the form Xloaded is loading u-boot that is not compatible, that resulted the last error when finished the script, the second error was that resized userdata.img was not correct in some way and it was giving errors, by using original file and removing the resizing code script finished.

    the first change is next one

    if [ ! -e "${recoveryimg}" ] ; then
      echo "Missing ${recoveryimg}"
      exit -1;
    fi

    echo "Create GPT partition table"
    ${FASTBOOT} oem set_flash_slot:SD
    ${FASTBOOT} oem format

    echo "Flashing bootloader....."
    echo "   xloader: ${xloader}"
    ${FASTBOOT} flash xloader     ${xloader}
    ${FASTBOOT} flash bootloader     ${uboot}

    echo "Reboot: make sure new bootloader runs..."
    #${FASTBOOT} reboot-bootloader

    #sleep 5

    echo "Flash android partitions"
    ${FASTBOOT} flash boot         ${bootimg}
    ${FASTBOOT} flash recovery    ${recoveryimg}
    ${FASTBOOT} flash system     ${systemimg}

    But at the end the script is rebooting the device and there is an error loading the bootfiles.

    This is the update for today, tomorrow I going to check if using old way of copying the files works using the modified u-boot to boot from SD.

  • Hi,

    Did you had any luck with using the other method to boot from SD?

    I followed your instructions and I got the same result. No additional log prints. Am I doing somthing wrong?

    user@lab7:~/blaze/4AJ.2.2/4.2.2_unchanged/mydroid$ source build/envsetup.sh
    including device/asus/grouper/vendorsetup.sh
    including device/generic/armv7-a-neon/vendorsetup.sh
    including device/generic/armv7-a/vendorsetup.sh
    including device/google/steelhead/vendorsetup.sh
    including device/moto/wingray/vendorsetup.sh
    including device/samsung/crespo/vendorsetup.sh
    including device/samsung/maguro/vendorsetup.sh
    including device/ti/blaze_tablet/vendorsetup.sh
    including device/ti/blaze/vendorsetup.sh
    including device/ti/omap5sevm/vendorsetup.sh
    including device/ti/panda5/vendorsetup.sh
    including device/ti/panda/vendorsetup.sh
    including sdk/bash_completion/adb.bash
    user@lab7:~/blaze/4AJ.2.2/4.2.2_unchanged/mydroid$ lunch blaze_tablet-userdebug

    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=4.1.2
    TARGET_PRODUCT=blaze_tablet
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    TARGET_ARCH_VARIANT=armv7-a-neon
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-2.6.32-38-generic-x86_64-with-Ubuntu-10.04-lucid
    HOST_BUILD_TYPE=release
    BUILD_ID=JZO54K
    OUT_DIR=out
    ============================================

    user@lab7:~/blaze/4AJ.2.2/4.2.2_unchanged/mydroid$ mm showcommands
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=4.1.2
    TARGET_PRODUCT=blaze_tablet
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    TARGET_ARCH_VARIANT=armv7-a-neon
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-2.6.32-38-generic-x86_64-with-Ubuntu-10.04-lucid
    HOST_BUILD_TYPE=release
    BUILD_ID=JZO54K
    OUT_DIR=out
    ============================================
    device/ti/proprietary-open/Android.mk:257: warning: overriding commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    build/core/base_rules.mk:529: warning: ignoring old commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    Android Version JELLYBEAN
    VISION_LIBRARIES = dei dsplib imgfilter vrun yuv
    DVP_FEATURES = -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV
    OMX Extensions used!
    VISION_LIBRARIES = dei dsplib imgfilter vrun yuv dei dsplib imgfilter vrun yuv
    DVP_FEATURES = -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV -DDVP_USE_DSPLIB -DDVP_USE_VRUN -DDVP_USE_DEI -DDVP_USE_DSPLIB -DDVP_USE_IMGFILTER -DDVP_USE_YUV
    find: `src': No such file or directory
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_MissedCall.ogg:system/media/audio/notifications/F1_MissedCall.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_New_MMS.ogg:system/media/audio/notifications/F1_New_MMS.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/F1_New_SMS.ogg:system/media/audio/notifications/F1_New_SMS.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/Alarm_Buzzer.ogg:system/media/audio/alarms/Alarm_Buzzer.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/Alarm_Beep_01.ogg:system/media/audio/alarms/Alarm_Beep_01.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/Alarm_Beep_02.ogg:system/media/audio/alarms/Alarm_Beep_02.ogg ignored.
    PRODUCT_COPY_FILES frameworks/base/data/sounds/Alarm_Classic.ogg:system/media/audio/alarms/Alarm_Classic.ogg ignored.

    Thanks for your help.

    Michael S.

  • Hi ,

    I finally managed to boot entirely from SD. I compared the log that I got from minicom with the log from minicom while booting from eMMC and figured out that the errors are from wlan and/or bluetooth drivers. Therefore I compiled everything again but this time didn't compile those modules since I didn't needed them anyway.

    The blaze tablet booted and worked fine. I maid sure that it is booted from SD by removing the SD card and making sure that he gets stuck and can't keep functioning and by changing the S2 switch and making sure that it fails to boot from eMMC.

    Now I have a different problem. I need to use MMC card instead of SD. When I use an MMC card I get an error while fastboot.sh script writes to userdata partition. The error is "mmc write error 00108000". 

    Any idea how do I fix it?

    Thanks :)

  • I forgot to mention that the error "mmc write error 00108000" gets printed in /u-boot/cpu/omap4/mmc.c line 282 in the mmc_write_data function. I don't think I understood how very well how this function works and how should i fix the problem.

  • I am still working to get working the normal or previous procedure of copying the FS in the seconds partition and boot files in the first one.

    By now using the previous bootargs and modifying the Kernel to use u-boot bootargs is working for me, but I am seeing issues booting the FS, it is being recompiled now, having an update I will share it during next days.

    About the error you are seeing I saw it too, it is becase the userdata partition is resized in the fastboot.sh script, for some reason when it is resized the fastboot in u-boot is complaining and that is the error that is generated.

    I haven't found the correct fix for it, I only removed the resizing code from the script and renamed userdata.img.orig to userdata.img, make sure to leave the "flash userdata ....", proper fix could be finding the correct argument to recreate it correctly, I haven't check it yet.

    May I ask you to check if when playing a video is it being played using HW library or SW? this can be check by running "adb logcat" and playing the video, the used library should be *libOMX.TI.DUCATI1.VIDEO.DECODER.so"(HW). This for just to make sure Ducati image is being loaded.

  • I forgot to mention, using showcommands is not showing the command line that generates the names errors. I am seeing them too I thought this command would show all the used commands, do you still need to check this?

    device/ti/proprietary-open/Android.mk:257: warning: overriding commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    build/core/base_rules.mk:529: warning: ignoring old commands for target `out/target/product/blaze_tablet/fake_packages/ti-wpan-fw'
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    fatal: No names found, cannot describe anything.
    Android Version JELLYBEAN