Firefly Open Source Community

Title: Puzzled nand and u-boot [Print This Page]

Author: cappybob    Time: 1/12/2015 09:40
Title: Puzzled nand and u-boot
Can somebody explain the use of nand and the need for u-boot when flashing the Firefly when using the RK Flashtools in windows. Also  Android refers to internal storage as nand.  Have seen it named as flash, but have not found how to build with this (flash) yet, and it is causing some errors if parameters are changed, then one loses access to internal storage and some kernel functions.
Author: Echoa    Time: 1/12/2015 10:52

not sure what you man when you say you cant build with flash? you trying to build on the device or some specific setting in uboot or the kernel?


As for the purpose of uboot it is the bootloader, you shouldnt have to flash it though unless you select it to be flashed? The bootloader initializes the hardware and OS then boots the system and essentially is the systems "bios" as embedded devices generally dont have a systems bios that will initialize the hardware.


nand is the type of flash memory, now if it is called EMMC then it is something a little different as it works a little different. All use nand flash but its just different ways of using it, some better than others. Your standard nand flash for example while decent enough speed wise is not as fast as EMMC, which in turn isnt as fast as a SSD. Some info on nand HERE


Author: busybee    Time: 1/12/2015 16:45

In AndroidTool , the uboot partition is not selected by default. This is the second stage of u-boot, which is not used in the eMMC flash.


And if you fiddle around the partitions in parameter file, please make sure the partition number is matched with "/fstab.rk30board.bootmode.emmc" in Android. Detail is shown below:


In Android, run in the terminal "cat /fstab.rk30board.bootmode.emmc", you'll fine some lines:


# Android fstab file.
#
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/ff0f0000.rksdmmc/by-name/system         /system             ext4      ro,noatime,nodiratime,noauto_da_alloc                            wait,resize
...
/devices/ff0f0000.rksdmmc/mmc_host/mmc          /mnt/internal_sd     vfat      defaults        voldmanaged=internal_sd:14,noemulatedsd
/devices/ff0c0000.rksdmmc/mmc_host/mmc          /mnt/external_sd     vfat      defaults        voldmanaged=external_sd:auto
...


Please take special care of this line:

/devices/ff0f0000.rksdmmc/mmc_host/mmc          /mnt/internal_sd     vfat      defaults        voldmanaged=internal_sd:14,noemulatedsd

There's a "14" after the colon, which means the partition number of internal_sd is 14.


Here is the mtdparts of dual os:

mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00180000@0x00092000(system),0x00002000@0x00212000(metadata),0x00200000@0x00214000(userdata),0x00620000@0x00414000(linuxroot),-@0x00a34000(user)


The number of the first partition  "uboot" is 1. The "user" partition number is 14.


The number of partition in /fstab.rk30board.bootmode.emmc must be matched with the "user" partition in parameter file.


If you'd like to modify fstab.rk30board.bootmode.emmc, please unpack boot.img, edit it and then repack, as you already know.


Author: Echoa    Time: 1/12/2015 17:30
@busybee

Just so you know, the mount option nodiratime is a little redundant when paired with noatime. You only need noatime as it automatically enables nodiratime
Author: cappybob    Time: 1/14/2015 12:05

Thanks to you both.  I have the problem with the use of "u-boot" being used when it is not used in flashing the program.  i.e. if you unpack an Img.img you will get the normal group of files. which do not include a "u-boot" file.  They will include a loader.bn file for bootloader, and the parameter file is a parameter file.  Where I have ran into problems is the labeling of the parameter file as a "u-boot" 1G data file, when trying to load a parameter for increased internal storage or changing to a larger system file.   Have been able to copy and paste new parameter file into the u-boot 1Gdata parameter file, but this can get confusing.  I have one question is there actually any use what so ever for a "u-boot" and the RK3288 except for a Nand, which I doubt we will ever see used with this chip.  This is my frustration is for have been working with u-boot, kernel 3.10, android, and nand on the RK3188 for months and there seems to be NO solution so far, I believe Astralix is still working on this.  Has any one actually tried u-boot on the RK3288 to see if it actually (RK3288 and internal nand) works.

can we possibly redo the 2.17 rktool to use "parameter" instead of "u-boot 1G data".

----cappybob


Author: busybee    Time: 1/14/2015 15:20

> Can we possibly redo the 2.17 rktool to use "parameter" instead of "u-boot 1G data".


Since parameter file contains partition info, and different people have different needs for the storage, "1G data" is just a label saying the /data partition in Android is 1G, nothing more.


I always use:

  rkflashkit backup @parameter parameter.txt

to get a copy of parameter in the device, edit it, and flash back with:

  rkflashkit flash @parameter parameter.txt






Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) Powered by Discuz! X3.1