[U-Boot] u-boot environment utilities and mmc device(calculate fw_env.config parameters)
MOHAMMAD RASIM
mohammad.rasim96 at gmail.com
Wed Oct 11 16:43:12 UTC 2017
Hi,
How can i calculate the numbers to plug in the configuration file of
uboot tools(fw_env.config)?
My device doesn't have mtd devices instead it uses mmc block device,
here are some info about the device
####
*$*lsblk -o FSTYPE,NAME,SIZE,PHY-SEC,LOG-SEC,ALIGNMENT,TYPE
NAME SIZE PHY-SEC LOG-SEC ALIGNMENT TYPE
mmcblk0boot0 4M 512 512 0 disk
mmcblk0boot1 4M 512 512 0 disk
mmcblk0 14.6G 512 512 0 disk
####
u-boot reports the following partition table:
#####
Partition table get from SPL is :
name offset size flag
===================================================================================
0: bootloader 0 400000 0
1: reserved 2400000 4000000 0
2: cache 6c00000 20000000 2
3: env 27400000 800000 0
4: logo 28400000 2000000 1
5: recovery 2ac00000 2000000 1
6: rsv 2d400000 800000 1
7: tee 2e400000 800000 1
8: crypt 2f400000 2000000 1
9: misc 31c00000 2000000 1
10: instaboot 34400000 20000000 1
11: boot 54c00000 2000000 1
12: system 57400000 40000000 1
13: data 97c00000 30c200000 4
mmc read lba=0x12000, blocks=0x2
mmc read lba=0x12002, blocks=0x2
mmc_read_partition_tbl: mmc read partition OK!
eMMC/TSD partition table have been checked OK!
mmc env offset: 0x27400000
######
So the env offset is 27400000 and size is 800000 but when i try to plug
them in fw_env.config using /dev/mmcblk0 as a device I still get bad CRC
error
using hexdump i can get the environment at position 677392
###
$hexdump -C -s 677392 -n 4384 /dev/mmcblk0
000a5610 62 6f 6f 74 63 6d 64 3d 72 75 6e 20 73 74 6f 72 |bootcmd=run
stor|
000a5620 65 62 6f 6f 74 00 62 6f 6f 74 64 65 6c 61 79 3d
|eboot.bootdelay=|
000a5630 31 00 62 61 75 64 72 61 74 65 3d 31 31 35 32 30
|1.baudrate=11520|
000a5640 30 00 65 74 68 61 64 64 72 3d 30 30 3a 31 35 3a
|0.ethaddr=00:15:|
000a5650 31 38 3a 30 31 3a 38 31 3a 33 31 00 69 70 61 64
|18:01:81:31.ipad|
000a5660 64 72 3d 31 30 2e 31 38 2e 39 2e 39 37 00 73 65
|dr=10.18.9.97.se|
000a5670 72 76 65 72 69 70 3d 31 30 2e 31 38 2e 39 2e 31
|rverip=10.18.9.1|
000a5680 31 33 00 70 72 65 62 6f 6f 74 3d 72 75 6e 20 66
|13.preboot=run f|
000a5690 61 63 74 6f 72 79 5f 72 65 73 65 74 5f 70 6f 77
|actory_reset_pow|
000a56a0 65 72 6f 66 66 5f 70 72 6f 74 65 63 74 3b 72 75
|eroff_protect;ru|
000a56b0 6e 20 75 70 67 72 61 64 65 5f 63 68 65 63 6b 3b |n
upgrade_check;|
000a56c0 72 75 6e 20 62 6f 6f 74 6d 6f 64 65 5f 63 68 65 |run
bootmode_che|
000a56d0 63 6b 3b 72 75 6e 20 69 6e 69 74 5f 64 69 73 70 |ck;run
init_disp|
000a56e0 6c 61 79 3b 72 75 6e 20 73 74 6f 72 65 61 72 67 |lay;run
storearg|
000a56f0 73 3b 72 75 6e 20 75 70 64 61 74 65 5f 6b 65 79 |s;run
update_key|
000a5700 3b 72 75 6e 20 69 72 72 65 6d 6f 74 65 5f 75 70 |;run
irremote_up|
000a5710 64 61 74 65 3b 72 75 6e 20 73 77 69 74 63 68 5f |date;run
switch_|
000a5720 62 6f 6f 74 6d 6f 64 65 3b 00 67 61 74 65 77 61
|bootmode;.gatewa|
000a5730 79 69 70 3d 31 30 2e 31 38 2e 39 2e 31 00 6e 65
|yip=10.18.9.1.ne|
000a5740 74 6d 61 73 6b 3d 32 35 35 2e 32 35 35 2e 32 35
|tmask=255.255.25|
000a5750 35 2e 30 00 68 6f 73 74 6e 61 6d 65 3d 61 72 6d
|5.0.hostname=arm|
000a5760 5f 67 78 62 62 00 66 69 72 73 74 62 6f 6f 74 3d
|_gxbb.firstboot=|
000a5770 31 00 75 70 67 72 61 64 65 5f 73 74 65 70 3d 30
|1.upgrade_step=0|
000a5780 00 6c 6f 61 64 61 64 64 72 3d 31 30 38 30 30 30
|.loadaddr=108000|
000a5790 30 00 6f 75 74 70 75 74 6d 6f 64 65 3d 31 30 38
|0.outputmode=108|
000a57a0 30 70 36 30 68 7a 00 68 64 6d 69 6d 6f 64 65 3d
|0p60hz.hdmimode=|
000a57b0 31 30 38 30 70 36 30 68 7a 00 63 76 62 73 6d 6f
|1080p60hz.cvbsmo|
000a57c0 64 65 3d 35 37 36 63 76 62 73 00 64 69 73 70 6c
|de=576cvbs.displ|
000a57d0 61 79 5f 77 69 64 74 68 3d 31 39 32 30 00 64 69
|ay_width=1920.di|
000a57e0 73 70 6c 61 79 5f 68 65 69 67 68 74 3d 31 30 38
|splay_height=108|
000a57f0 30 00 64 69 73 70 6c 61 79 5f 62 70 70 3d 31 36
|0.display_bpp=16|
000a5800 00 64 69 73 70 6c 61 79 5f 63 6f 6c 6f 72 5f 69
|.display_color_i|
000a5810 6e 64 65 78 3d 31 36 00 64 69 73 70 6c 61 79 5f
|ndex=16.display_|
000a5820 6c 61 79 65 72 3d 6f 73 64 31 00 64 69 73 70 6c
|layer=osd1.displ|
000a5830 61 79 5f 63 6f 6c 6f 72 5f 66 67 3d 30 78 66 66
|ay_color_fg=0xff|
000a5840 66 66 00 64 69 73 70 6c 61 79 5f 63 6f 6c 6f 72
|ff.display_color|
000a5850 5f 62 67 3d 30 00 64 74 62 5f 6d 65 6d 5f 61 64
|_bg=0.dtb_mem_ad|
000a5860 64 72 3d 30 78 31 30 30 30 30 30 30 00 66 62 5f
|dr=0x1000000.fb_|
000a5870 61 64 64 72 3d 30 78 33 66 38 30 30 30 30 30 00
|addr=0x3f800000.|
000a5880 66 62 5f 77 69 64 74 68 3d 31 39 32 30 00 66 62
|fb_width=1920.fb|
000a5890 5f 68 65 69 67 68 74 3d 31 30 38 30 00 75 73 62
|_height=1080.usb|
000a58a0 5f 62 75 72 6e 69 6e 67 3d 75 70 64 61 74 65 20
|_burning=update |
000a58b0 31 30 30 30 00 66 64 74 5f 68 69 67 68 3d 30 78
|1000.fdt_high=0x|
000a58c0 32 30 30 30 30 30 30 30 00 74 72 79 5f 61 75 74
|20000000.try_aut|
000a58d0 6f 5f 62 75 72 6e 3d 75 70 64 61 74 65 20 37 30
|o_burn=update 70|
000a58e0 30 20 37 35 30 3b 00 73 64 63 62 75 72 6e 63 66 |0
750;.sdcburncf|
000a58f0 67 3d 61 6d 6c 5f 73 64 63 5f 62 75 72 6e 2e 69
|g=aml_sdc_burn.i|
000a5900 6e 69 00 73 64 63 5f 62 75 72 6e 69 6e 67 3d 73
|ni.sdc_burning=s|
000a5910 64 63 5f 62 75 72 6e 20 24 7b 73 64 63 62 75 72 |dc_burn
${sdcbur|
000a5920 6e 63 66 67 7d 00 77 69 70 65 5f 64 61 74 61 3d
|ncfg}.wipe_data=|
000a5930 73 75 63 63 65 73 73 66 75 6c 00 77 69 70 65 5f
|successful.wipe_|
000a5940 63 61 63 68 65 3d 73 75 63 63 65 73 73 66 75 6c
|cache=successful|
000a5950 00 69 6e 69 74 61 72 67 73 3d 72 6f 6f 74 66 73
|.initargs=rootfs|
000a5960 74 79 70 65 3d 72 61 6d 66 73 20 69 6e 69 74 3d |type=ramfs
init=|
000a5970 2f 69 6e 69 74 20 63 6f 6e 73 6f 6c 65 3d 74 74 |/init
console=tt|
000a5980 79 53 30 2c 31 31 35 32 30 30 20 6e 6f 5f 63 6f |yS0,115200
no_co|
000a5990 6e 73 6f 6c 65 5f 73 75 73 70 65 6e 64 20 65 61
|nsole_suspend ea|
000a59a0 72 6c 79 70 72 69 6e 74 6b 3d 61 6d 6c 2d 75 61
|rlyprintk=aml-ua|
000a59b0 72 74 2c 30 78 63 38 31 30 30 34 63 30 20 72 61
|rt,0xc81004c0 ra|
000a59c0 6d 6f 6f 70 73 2e 6d 65 6d 5f 61 64 64 72 65 73
|moops.mem_addres|
000a59d0 73 3d 30 78 32 30 30 30 30 30 30 30 20 72 61 6d |s=0x20000000
ram|
000a59e0 6f 6f 70 73 2e 6d 65 6d 5f 73 69 7a 65 3d 30 78
|oops.mem_size=0x|
000a59f0 31 30 30 30 30 30 20 72 61 6d 6f 6f 70 73 2e 72 |100000
ramoops.r|
000a5a00 65 63 6f 72 64 5f 73 69 7a 65 3d 30 78 38 30 30
|ecord_size=0x800|
000a5a10 30 20 72 61 6d 6f 6f 70 73 2e 63 6f 6e 73 6f 6c |0
ramoops.consol|
000a5a20 65 5f 73 69 7a 65 3d 30 78 34 30 30 30 20 61 6e
|e_size=0x4000 an|
000a5a30 64 72 6f 69 64 62 6f 6f 74 2e 73 65 6c 69 6e 75
|droidboot.selinu|
000a5a40 78 3d 70 65 72 6d 69 73 73 69 76 65 00 75 70 67
|x=permissive.upg|
000a5a50 72 61 64 65 5f 63 68 65 63 6b 3d 65 63 68 6f 20
|rade_check=echo |
000a5a60 75 70 67 72 61 64 65 5f 73 74 65 70 3d 24 7b 75
|upgrade_step=${u|
000a5a70 70 67 72 61 64 65 5f 73 74 65 70 7d 3b 20 69 66
|pgrade_step}; if|
000a5a80 20 69 74 65 73 74 20 24 7b 75 70 67 72 61 64 65 | itest
${upgrade|
000a5a90 5f 73 74 65 70 7d 20 3d 3d 20 33 3b 20 74 68 65 |_step} ==
3; the|
000a5aa0 6e 20 72 75 6e 20 69 6e 69 74 5f 64 69 73 70 6c |n run
init_displ|
000a5ab0 61 79 3b 20 72 75 6e 20 73 74 6f 72 65 61 72 67 |ay; run
storearg|
000a5ac0 73 3b 20 72 75 6e 20 75 70 64 61 74 65 3b 65 6c |s; run
update;el|
000a5ad0 73 65 20 69 66 20 69 74 65 73 74 20 24 7b 75 70 |se if itest
${up|
000a5ae0 67 72 61 64 65 5f 73 74 65 70 7d 20 3d 3d 20 31 |grade_step}
== 1|
000a5af0 3b 20 74 68 65 6e 20 64 65 66 65 6e 76 5f 72 65 |; then
defenv_re|
000a5b00 73 65 72 76 3b 20 73 65 74 65 6e 76 20 75 70 67 |serv;
setenv upg|
000a5b10 72 61 64 65 5f 73 74 65 70 20 32 3b 20 73 61 76 |rade_step 2;
sav|
000a5b20 65 65 6e 76 3b 66 69 3b 66 69 3b 00 62 6f 6f 74
|eenv;fi;fi;.boot|
000a5b30 6d 6f 64 65 5f 63 68 65 63 6b 3d 67 65 74 5f 72
|mode_check=get_r|
000a5b40 65 62 6f 6f 74 6d 6f 64 65 3b 20 65 63 68 6f 20 |ebootmode;
echo |
000a5b50 72 65 62 6f 6f 74 5f 6d 6f 64 65 3d 24 7b 72 65
|reboot_mode=${re|
000a5b60 62 6f 6f 74 5f 6d 6f 64 65 7d 3b 69 66 20 74 65
|boot_mode};if te|
000a5b70 73 74 20 24 7b 72 65 62 6f 6f 74 5f 6d 6f 64 65 |st
${reboot_mode|
000a5b80 7d 20 3d 20 66 61 63 74 6f 72 79 5f 72 65 73 65 |} =
factory_rese|
000a5b90 74 3b 20 74 68 65 6e 20 64 65 66 65 6e 76 5f 72 |t; then
defenv_r|
000a5ba0 65 73 65 72 76 20 61 6d 6c 5f 64 74 3b 73 65 74 |eserv
aml_dt;set|
000a5bb0 65 6e 76 20 75 70 67 72 61 64 65 5f 73 74 65 70 |env
upgrade_step|
000a5bc0 20 32 3b 20 73 61 76 65 3b 66 69 3b 00 73 74 6f | 2;
save;fi;.sto|
000a5bd0 72 65 61 72 67 73 3d 73 65 74 65 6e 76 20 62 6f
|reargs=setenv bo|
000a5be0 6f 74 61 72 67 73 20 24 7b 69 6e 69 74 61 72 67 |otargs
${initarg|
000a5bf0 73 7d 20 6c 6f 67 6f 3d 24 7b 64 69 73 70 6c 61 |s}
logo=${displa|
000a5c00 79 5f 6c 61 79 65 72 7d 2c 6c 6f 61 64 65 64 2c
|y_layer},loaded,|
000a5c10 24 7b 66 62 5f 61 64 64 72 7d 2c 24 7b 6f 75 74
|${fb_addr},${out|
000a5c20 70 75 74 6d 6f 64 65 7d 20 68 64 6d 69 6d 6f 64 |putmode}
hdmimod|
000a5c30 65 3d 24 7b 68 64 6d 69 6d 6f 64 65 7d 20 63 76
|e=${hdmimode} cv|
000a5c40 62 73 6d 6f 64 65 3d 24 7b 63 76 62 73 6d 6f 64
|bsmode=${cvbsmod|
000a5c50 65 7d 20 68 64 6d 69 74 78 3d 24 7b 63 65 63 63 |e}
hdmitx=${cecc|
000a5c60 6f 6e 66 69 67 7d 20 61 6e 64 72 6f 69 64 62 6f |onfig}
androidbo|
000a5c70 6f 74 2e 66 69 72 73 74 62 6f 6f 74 3d 24 7b 66
|ot.firstboot=${f|
000a5c80 69 72 73 74 62 6f 6f 74 7d 3b 20 72 75 6e 20 63 |irstboot};
run c|
000a5c90 6d 64 6c 69 6e 65 5f 6b 65 79 73 3b 00 73 77 69
|mdline_keys;.swi|
000a5ca0 74 63 68 5f 62 6f 6f 74 6d 6f 64 65 3d 67 65 74
|tch_bootmode=get|
000a5cb0 5f 72 65 62 6f 6f 74 6d 6f 64 65 3b 69 66 20 74
|_rebootmode;if t|
000a5cc0 65 73 74 20 24 7b 72 65 62 6f 6f 74 5f 6d 6f 64 |est
${reboot_mod|
000a5cd0 65 7d 20 3d 20 66 61 63 74 6f 72 79 5f 72 65 73 |e} =
factory_res|
000a5ce0 65 74 3b 20 74 68 65 6e 20 72 75 6e 20 72 65 63 |et; then
run rec|
000a5cf0 6f 76 65 72 79 5f 66 72 6f 6d 5f 66 6c 61 73 68
|overy_from_flash|
000a5d00 3b 65 6c 73 65 20 69 66 20 74 65 73 74 20 24 7b |;else if
test ${|
000a5d10 72 65 62 6f 6f 74 5f 6d 6f 64 65 7d 20 3d 20 75 |reboot_mode}
= u|
000a5d20 70 64 61 74 65 3b 20 74 68 65 6e 20 72 75 6e 20 |pdate; then
run |
000a5d30 75 70 64 61 74 65 3b 65 6c 73 65 20 69 66 20 74 |update;else
if t|
000a5d40 65 73 74 20 24 7b 72 65 62 6f 6f 74 5f 6d 6f 64 |est
${reboot_mod|
000a5d50 65 7d 20 3d 20 63 6f 6c 64 5f 62 6f 6f 74 3b 20 |e} =
cold_boot; |
000a5d60 74 68 65 6e 20 72 75 6e 20 74 72 79 5f 61 75 74 |then run
try_aut|
000a5d70 6f 5f 62 75 72 6e 3b 20 66 69 3b 66 69 3b 66 69 |o_burn;
fi;fi;fi|
000a5d80 3b 00 73 74 6f 72 65 62 6f 6f 74 3d 69 66 20 69
|;.storeboot=if i|
000a5d90 6d 67 72 65 61 64 20 6b 65 72 6e 65 6c 20 62 6f |mgread
kernel bo|
000a5da0 6f 74 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b 20 |ot
${loadaddr}; |
000a5db0 74 68 65 6e 20 73 74 6f 72 65 20 64 74 62 20 72 |then store
dtb r|
000a5dc0 65 61 64 20 24 64 74 62 5f 6d 65 6d 5f 61 64 64 |ead
$dtb_mem_add|
000a5dd0 72 3b 20 62 6f 6f 74 6d 20 24 7b 6c 6f 61 64 61 |r; bootm
${loada|
000a5de0 64 64 72 7d 3b 20 66 69 3b 72 75 6e 20 75 70 64 |ddr};
fi;run upd|
000a5df0 61 74 65 3b 00 66 61 63 74 6f 72 79 5f 72 65 73
|ate;.factory_res|
000a5e00 65 74 5f 70 6f 77 65 72 6f 66 66 5f 70 72 6f 74
|et_poweroff_prot|
000a5e10 65 63 74 3d 65 63 68 6f 20 77 69 70 65 5f 64 61 |ect=echo
wipe_da|
000a5e20 74 61 3d 24 7b 77 69 70 65 5f 64 61 74 61 7d 3b
|ta=${wipe_data};|
000a5e30 20 65 63 68 6f 20 77 69 70 65 5f 63 61 63 68 65 | echo
wipe_cache|
000a5e40 3d 24 7b 77 69 70 65 5f 63 61 63 68 65 7d 3b 69
|=${wipe_cache};i|
000a5e50 66 20 74 65 73 74 20 24 7b 77 69 70 65 5f 64 61 |f test
${wipe_da|
000a5e60 74 61 7d 20 3d 20 66 61 69 6c 65 64 3b 20 74 68 |ta} =
failed; th|
000a5e70 65 6e 20 72 75 6e 20 69 6e 69 74 5f 64 69 73 70 |en run
init_disp|
000a5e80 6c 61 79 3b 20 72 75 6e 20 73 74 6f 72 65 61 72 |lay; run
storear|
000a5e90 67 73 3b 69 66 20 6d 6d 63 69 6e 66 6f 3b 20 74 |gs;if
mmcinfo; t|
000a5ea0 68 65 6e 20 72 75 6e 20 72 65 63 6f 76 65 72 79 |hen run
recovery|
000a5eb0 5f 66 72 6f 6d 5f 73 64 63 61 72 64 3b 66 69 3b
|_from_sdcard;fi;|
000a5ec0 69 66 20 75 73 62 20 73 74 61 72 74 20 30 3b 20 |if usb
start 0; |
000a5ed0 74 68 65 6e 20 72 75 6e 20 72 65 63 6f 76 65 72 |then run
recover|
000a5ee0 79 5f 66 72 6f 6d 5f 75 64 69 73 6b 3b 66 69 3b
|y_from_udisk;fi;|
000a5ef0 72 75 6e 20 72 65 63 6f 76 65 72 79 5f 66 72 6f |run
recovery_fro|
000a5f00 6d 5f 66 6c 61 73 68 3b 66 69 3b 20 69 66 20 74 |m_flash;fi;
if t|
000a5f10 65 73 74 20 24 7b 77 69 70 65 5f 63 61 63 68 65 |est
${wipe_cache|
000a5f20 7d 20 3d 20 66 61 69 6c 65 64 3b 20 74 68 65 6e |} = failed;
then|
000a5f30 20 72 75 6e 20 69 6e 69 74 5f 64 69 73 70 6c 61 | run
init_displa|
000a5f40 79 3b 20 72 75 6e 20 73 74 6f 72 65 61 72 67 73 |y; run
storeargs|
000a5f50 3b 69 66 20 6d 6d 63 69 6e 66 6f 3b 20 74 68 65 |;if
mmcinfo; the|
000a5f60 6e 20 72 75 6e 20 72 65 63 6f 76 65 72 79 5f 66 |n run
recovery_f|
000a5f70 72 6f 6d 5f 73 64 63 61 72 64 3b 66 69 3b 69 66
|rom_sdcard;fi;if|
000a5f80 20 75 73 62 20 73 74 61 72 74 20 30 3b 20 74 68 | usb start
0; th|
000a5f90 65 6e 20 72 75 6e 20 72 65 63 6f 76 65 72 79 5f |en run
recovery_|
000a5fa0 66 72 6f 6d 5f 75 64 69 73 6b 3b 66 69 3b 72 75
|from_udisk;fi;ru|
000a5fb0 6e 20 72 65 63 6f 76 65 72 79 5f 66 72 6f 6d 5f |n
recovery_from_|
000a5fc0 66 6c 61 73 68 3b 66 69 3b 20 00 75 70 64 61 74 |flash;fi;
.updat|
000a5fd0 65 3d 72 75 6e 20 75 73 62 5f 62 75 72 6e 69 6e |e=run
usb_burnin|
000a5fe0 67 3b 20 72 75 6e 20 73 64 63 5f 62 75 72 6e 69 |g; run
sdc_burni|
000a5ff0 6e 67 3b 20 69 66 20 6d 6d 63 69 6e 66 6f 3b 20 |ng; if
mmcinfo; |
000a6000 74 68 65 6e 20 72 75 6e 20 72 65 63 6f 76 65 72 |then run
recover|
000a6010 79 5f 66 72 6f 6d 5f 73 64 63 61 72 64 3b 66 69
|y_from_sdcard;fi|
000a6020 3b 69 66 20 75 73 62 20 73 74 61 72 74 20 30 3b |;if usb
start 0;|
000a6030 20 74 68 65 6e 20 72 75 6e 20 72 65 63 6f 76 65 | then run
recove|
000a6040 72 79 5f 66 72 6f 6d 5f 75 64 69 73 6b 3b 66 69
|ry_from_udisk;fi|
000a6050 3b 72 75 6e 20 72 65 63 6f 76 65 72 79 5f 66 72 |;run
recovery_fr|
000a6060 6f 6d 5f 66 6c 61 73 68 3b 00 75 70 64 61 74 65
|om_flash;.update|
000a6070 5f 75 64 69 73 6b 3d 69 66 20 75 73 62 20 73 74 |_udisk=if
usb st|
000a6080 61 72 74 20 30 3b 20 74 68 65 6e 20 72 75 6e 20 |art 0; then
run |
000a6090 72 65 63 6f 76 65 72 79 5f 66 72 6f 6d 5f 75 64
|recovery_from_ud|
000a60a0 69 73 6b 3b 66 69 3b 00 75 70 64 61 74 65 5f 73
|isk;fi;.update_s|
000a60b0 64 63 61 72 64 3d 69 66 20 6d 6d 63 69 6e 66 6f |dcard=if
mmcinfo|
000a60c0 3b 20 74 68 65 6e 20 72 75 6e 20 72 65 63 6f 76 |; then run
recov|
000a60d0 65 72 79 5f 66 72 6f 6d 5f 73 64 63 61 72 64 3b
|ery_from_sdcard;|
000a60e0 66 69 3b 00 72 65 63 6f 76 65 72 79 5f 66 72 6f
|fi;.recovery_fro|
000a60f0 6d 5f 73 64 63 61 72 64 3d 69 66 20 66 61 74 6c |m_sdcard=if
fatl|
000a6100 6f 61 64 20 6d 6d 63 20 30 20 24 7b 6c 6f 61 64 |oad mmc 0
${load|
000a6110 61 64 64 72 7d 20 61 6d 6c 5f 61 75 74 6f 73 63 |addr}
aml_autosc|
000a6120 72 69 70 74 3b 20 74 68 65 6e 20 61 75 74 6f 73 |ript; then
autos|
000a6130 63 72 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b 20 |cr
${loadaddr}; |
000a6140 66 69 3b 69 66 20 66 61 74 6c 6f 61 64 20 6d 6d |fi;if
fatload mm|
000a6150 63 20 30 20 24 7b 6c 6f 61 64 61 64 64 72 7d 20 |c 0
${loadaddr} |
000a6160 72 65 63 6f 76 65 72 79 2e 69 6d 67 3b 20 74 68
|recovery.img; th|
000a6170 65 6e 20 69 66 20 66 61 74 6c 6f 61 64 20 6d 6d |en if
fatload mm|
000a6180 63 20 30 20 24 7b 64 74 62 5f 6d 65 6d 5f 61 64 |c 0
${dtb_mem_ad|
000a6190 64 72 7d 20 64 74 62 2e 69 6d 67 3b 20 74 68 65 |dr}
dtb.img; the|
000a61a0 6e 20 65 63 68 6f 20 73 64 20 64 74 62 2e 69 6d |n echo sd
dtb.im|
000a61b0 67 20 6c 6f 61 64 65 64 3b 20 66 69 3b 62 6f 6f |g loaded;
fi;boo|
000a61c0 74 6d 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b 66 |tm
${loadaddr};f|
000a61d0 69 3b 00 72 65 63 6f 76 65 72 79 5f 66 72 6f 6d
|i;.recovery_from|
000a61e0 5f 75 64 69 73 6b 3d 69 66 20 66 61 74 6c 6f 61 |_udisk=if
fatloa|
000a61f0 64 20 75 73 62 20 30 20 24 7b 6c 6f 61 64 61 64 |d usb 0
${loadad|
000a6200 64 72 7d 20 61 6d 6c 5f 61 75 74 6f 73 63 72 69 |dr}
aml_autoscri|
000a6210 70 74 3b 20 74 68 65 6e 20 61 75 74 6f 73 63 72 |pt; then
autoscr|
000a6220 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b 20 66 69 |
${loadaddr}; fi|
000a6230 3b 69 66 20 66 61 74 6c 6f 61 64 20 75 73 62 20 |;if fatload
usb |
000a6240 30 20 24 7b 6c 6f 61 64 61 64 64 72 7d 20 72 65 |0
${loadaddr} re|
000a6250 63 6f 76 65 72 79 2e 69 6d 67 3b 20 74 68 65 6e |covery.img;
then|
000a6260 20 69 66 20 66 61 74 6c 6f 61 64 20 75 73 62 20 | if fatload
usb |
000a6270 30 20 24 7b 64 74 62 5f 6d 65 6d 5f 61 64 64 72 |0
${dtb_mem_addr|
000a6280 7d 20 64 74 62 2e 69 6d 67 3b 20 74 68 65 6e 20 |} dtb.img;
then |
000a6290 65 63 68 6f 20 75 64 69 73 6b 20 64 74 62 2e 69 |echo udisk
dtb.i|
000a62a0 6d 67 20 6c 6f 61 64 65 64 3b 20 66 69 3b 62 6f |mg loaded;
fi;bo|
000a62b0 6f 74 6d 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b |otm
${loadaddr};|
000a62c0 66 69 3b 00 72 65 63 6f 76 65 72 79 5f 66 72 6f
|fi;.recovery_fro|
000a62d0 6d 5f 66 6c 61 73 68 3d 69 66 20 69 6d 67 72 65 |m_flash=if
imgre|
000a62e0 61 64 20 6b 65 72 6e 65 6c 20 72 65 63 6f 76 65 |ad kernel
recove|
000a62f0 72 79 20 24 7b 6c 6f 61 64 61 64 64 72 7d 3b 20 |ry
${loadaddr}; |
000a6300 74 68 65 6e 20 62 6f 6f 74 6d 20 24 7b 6c 6f 61 |then bootm
${loa|
000a6310 64 61 64 64 72 7d 3b 20 66 69 00 69 6e 69 74 5f |daddr};
fi.init_|
000a6320 64 69 73 70 6c 61 79 3d 68 64 6d 69 74 78 20 68
|display=hdmitx h|
000a6330 70 64 3b 6f 73 64 20 6f 70 65 6e 3b 6f 73 64 20 |pd;osd
open;osd |
000a6340 63 6c 65 61 72 3b 76 6f 75 74 20 6f 75 74 70 75 |clear;vout
outpu|
000a6350 74 20 24 7b 6f 75 74 70 75 74 6d 6f 64 65 7d 3b |t
${outputmode};|
000a6360 69 6d 67 72 65 61 64 20 70 69 63 20 6c 6f 67 6f |imgread pic
logo|
000a6370 20 62 6f 6f 74 75 70 20 24 6c 6f 61 64 61 64 64 | bootup
$loadadd|
000a6380 72 3b 62 6d 70 20 64 69 73 70 6c 61 79 20 24 62 |r;bmp
display $b|
000a6390 6f 6f 74 75 70 5f 6f 66 66 73 65 74 3b 62 6d 70
|ootup_offset;bmp|
000a63a0 20 73 63 61 6c 65 00 63 6d 64 6c 69 6e 65 5f 6b |
scale.cmdline_k|
000a63b0 65 79 73 3d 69 66 20 6b 65 79 6d 61 6e 20 69 6e |eys=if
keyman in|
000a63c0 69 74 20 30 78 31 32 33 34 3b 20 74 68 65 6e 20 |it 0x1234;
then |
000a63d0 69 66 20 6b 65 79 6d 61 6e 20 72 65 61 64 20 75 |if keyman
read u|
000a63e0 73 69 64 20 24 7b 6c 6f 61 64 61 64 64 72 7d 20 |sid
${loadaddr} |
000a63f0 73 74 72 3b 20 74 68 65 6e 20 73 65 74 65 6e 76 |str; then
setenv|
000a6400 20 62 6f 6f 74 61 72 67 73 20 24 7b 62 6f 6f 74 | bootargs
${boot|
000a6410 61 72 67 73 7d 20 61 6e 64 72 6f 69 64 62 6f 6f |args}
androidboo|
000a6420 74 2e 73 65 72 69 61 6c 6e 6f 3d 24 7b 75 73 69
|t.serialno=${usi|
000a6430 64 7d 3b 66 69 3b 69 66 20 6b 65 79 6d 61 6e 20 |d};fi;if
keyman |
000a6440 72 65 61 64 20 6d 61 63 20 24 7b 6c 6f 61 64 61 |read mac
${loada|
000a6450 64 64 72 7d 20 73 74 72 3b 20 74 68 65 6e 20 73 |ddr} str;
then s|
000a6460 65 74 65 6e 76 20 62 6f 6f 74 61 72 67 73 20 24 |etenv
bootargs $|
000a6470 7b 62 6f 6f 74 61 72 67 73 7d 20 6d 61 63 3d 24 |{bootargs}
mac=$|
000a6480 7b 6d 61 63 7d 20 61 6e 64 72 6f 69 64 62 6f 6f |{mac}
androidboo|
000a6490 74 2e 6d 61 63 3d 24 7b 6d 61 63 7d 3b 66 69 3b
|t.mac=${mac};fi;|
000a64a0 69 66 20 6b 65 79 6d 61 6e 20 72 65 61 64 20 64 |if keyman
read d|
000a64b0 65 76 69 63 65 69 64 20 24 7b 6c 6f 61 64 61 64 |eviceid
${loadad|
000a64c0 64 72 7d 20 73 74 72 3b 20 74 68 65 6e 20 73 65 |dr} str;
then se|
000a64d0 74 65 6e 76 20 62 6f 6f 74 61 72 67 73 20 24 7b |tenv
bootargs ${|
000a64e0 62 6f 6f 74 61 72 67 73 7d 20 61 6e 64 72 6f 69 |bootargs}
androi|
000a64f0 64 62 6f 6f 74 2e 64 65 76 69 63 65 69 64 3d 24
|dboot.deviceid=$|
000a6500 7b 64 65 76 69 63 65 69 64 7d 3b 66 69 3b 66 69
|{deviceid};fi;fi|
000a6510 3b 00 75 70 67 72 61 64 65 5f 6b 65 79 3d 69 66
|;.upgrade_key=if|
000a6520 20 67 70 69 6f 20 69 6e 70 75 74 20 47 50 49 4f | gpio input
GPIO|
000a6530 41 4f 5f 33 3b 20 74 68 65 6e 20 65 63 68 6f 20 |AO_3; then
echo |
000a6540 64 65 74 65 63 74 20 75 70 67 72 61 64 65 20 6b |detect
upgrade k|
000a6550 65 79 3b 20 72 75 6e 20 75 70 64 61 74 65 3b 66 |ey; run
update;f|
000a6560 69 3b 00 75 70 64 61 74 65 5f 6b 65 79 3d 73 61
|i;.update_key=sa|
000a6570 72 61 64 63 20 6f 70 65 6e 20 30 3b 20 69 66 20 |radc open
0; if |
000a6580 73 61 72 61 64 63 20 67 65 74 5f 69 6e 5f 72 61 |saradc
get_in_ra|
000a6590 6e 67 65 20 30 20 30 78 35 30 3b 20 74 68 65 6e |nge 0 0x50;
then|
000a65a0 20 6d 73 6c 65 65 70 20 35 30 3b 20 69 66 20 73 | msleep 50;
if s|
000a65b0 61 72 61 64 63 20 67 65 74 5f 69 6e 5f 72 61 6e |aradc
get_in_ran|
000a65c0 67 65 20 30 20 30 78 35 30 3b 20 74 68 65 6e 20 |ge 0 0x50;
then |
000a65d0 65 63 68 6f 20 75 70 64 61 74 65 20 62 79 20 6b |echo update
by k|
000a65e0 65 79 2e 2e 2e 3b 20 72 75 6e 20 75 70 64 61 74 |ey...; run
updat|
000a65f0 65 3b 20 66 69 3b 66 69 00 69 72 72 65 6d 6f 74 |e;
fi;fi.irremot|
000a6600 65 5f 75 70 64 61 74 65 3d 69 72 6b 65 79 20 30
|e_update=irkey 0|
000a6610 78 62 61 34 35 66 66 30 30 20 30 78 62 61 34 35 |xba45ff00
0xba45|
000a6620 39 34 63 61 20 31 30 30 32 30 30 30 3b 69 66 20 |94ca
1002000;if |
000a6630 74 65 73 74 20 24 7b 69 72 6b 65 79 5f 76 61 6c |test
${irkey_val|
000a6640 75 65 7d 20 3d 20 75 70 64 61 74 65 3b 20 74 68 |ue} =
update; th|
000a6650 65 6e 20 72 75 6e 20 75 70 64 61 74 65 3b 65 6c |en run
update;el|
000a6660 73 65 20 69 66 20 74 65 73 74 20 24 7b 69 72 6b |se if test
${irk|
000a6670 65 79 5f 76 61 6c 75 65 7d 20 3d 20 75 70 64 61 |ey_value} =
upda|
000a6680 74 65 5f 73 64 63 61 72 64 3b 20 74 68 65 6e 20 |te_sdcard;
then |
000a6690 72 75 6e 20 75 70 64 61 74 65 5f 73 64 63 61 72 |run
update_sdcar|
000a66a0 64 3b 65 6c 73 65 20 69 66 20 74 65 73 74 20 24 |d;else if
test $|
000a66b0 7b 69 72 6b 65 79 5f 76 61 6c 75 65 7d 20 3d 20
|{irkey_value} = |
000a66c0 75 73 62 5f 62 75 72 6e 69 6e 67 3b 20 74 68 65 |usb_burning;
the|
000a66d0 6e 20 72 75 6e 20 75 73 62 5f 62 75 72 6e 69 6e |n run
usb_burnin|
000a66e0 67 3b 65 6c 73 65 20 69 66 20 74 65 73 74 20 24 |g;else if
test $|
000a66f0 7b 69 72 6b 65 79 5f 76 61 6c 75 65 7d 20 3d 20
|{irkey_value} = |
000a6700 75 70 64 61 74 65 5f 75 64 69 73 6b 3b 20 74 68
|update_udisk; th|
000a6710 65 6e 20 72 75 6e 20 75 70 64 61 74 65 5f 75 64 |en run
update_ud|
000a6720 69 73 6b 3b 66 69 3b 66 69 3b 66 69 3b 66 69 3b
|isk;fi;fi;fi;fi;|
000a6730
###
So how can i get the right numbers for the config ?
More information about the U-Boot
mailing list