Android Tablets Forum banner
1 - 6 of 6 Posts

·
FW Developer
Joined
·
685 Posts
What's exactly the difference between the bootloader flashed to NAND and the one flashed to SD card (in case of no-NAND devices). Other than the inclusion of MBR for the no-NAND bootloader, is there any other difference? I understand the bootloader is loaded by a hard-coded instruction ROM or something to that effect (i.e. U-Boot being the second stage boot loader). Does it make any difference once either of the bootloaders are loaded in memory?

Because it appears that NAND bootloaders are getting updated every other OFW firmware release but SD bootloaders still stuck to old version. There must be SOMETHING useful/better/fixed in the newer bootloaders... anyone interested in trying a NAND bootloader on their (no-NAND tablet) SD card?
 

·
Banned
Joined
·
432 Posts
The NAND bootloader expects the kernel on the MTD partition, and boots from there (MTD2 or MTD3), while the SD bootloader loads kernel from mmcblk0, and boots from there. Mostly that, and also, the main filesystem of it (ext4/ubifs vs vfat/ext4)
 

·
FW Developer
Joined
·
685 Posts
Discussion Starter · #3 ·
Yes, makes sense. Did not occur to me...

What could this mean? Could it be unused? Found it in "u-boot.arg":
Code:
bootcmd=nand read.i 20008000 900000 400000;utsetbacklight 0;bootm 20008000
This looks like the code that loads the kernel in memory and boots from it.

But why do you say MTD2 or MTD3, isnt the kernel always in MTD3? (MTD2 = recovery?)
 

·
Banned
Joined
·
432 Posts
I wasn't sure which partition is kernel, and also bootloader loads recovery too (install system,from MTD2).
That part reads the kernel, sets the backlight to max (0 is max, 255 is totally dimmed), and boots that kernel. Weird way to do, but works.
 

·
FW Developer
Joined
·
685 Posts
Code:
bootcmd=mmc read 0 20008000 0x4800 0x2000;utsetbacklight 0;bootm 20008000
vs.
Code:
bootcmd=nand read.i 20008000 900000 400000;utsetbacklight 0;bootm 20008000
Both of them can be found IN the bootloader (i.e. upper one in SD bootloader, lower one in NAND bootloader). It looks like boot-args are either ignored, or are of lower priority compared to what is in the bootloader (i.e. u-boot.bin) itself. I wonder if editing the bootloader's bootargs (i.e. those found in u-boot.bin) would allow the system to "detect" that bootloader is "corrupt" (ie bootargs inside have CRC?)

Anyone wanna experiment with their no-NAND device?
 

·
FW Developer
Joined
·
685 Posts
Discussion Starter · #6 ·
Given that this works, I now no longer have any reason to believe, that after suitable modifications, a NAND bootloader will not work with a no-NAND device and vice-versa.
 
1 - 6 of 6 Posts
Top