flash.docx
- 文档编号:9687286
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:30
- 大小:20.99KB
flash.docx
《flash.docx》由会员分享,可在线阅读,更多相关《flash.docx(30页珍藏版)》请在冰点文库上搜索。
flash
#flash.sh:
Flashthetargetboard.
#flash.shperformsthebestinLDKreleaseenvironment.
#
#Usage:
Placetheboardinrecoverymodeandrun:
#
#flash.sh[options]
#
#formoredetailenter'flash.sh-h'
#
#Examples:
#./flash.shcardhummcblk0p1-bootcardhufrominternalemmc
#./flash.shcardhummcblk1p1-bootcardhufromSDCARD
#./flash.shventanasda1-bootventanafromUSBdevice
#./flash.sh-N
/nfsrootventanaeth0-bootventanafromNFS
#./flash.shharmonymmcblk0p1-bootcardhuharmonySDCARD
#-NOTE:
mmcblk0p1isSDCARD
#-forharmony
#./flash.sh-k6harmonymmcblk1p1-updateharmonykernel
#-inpartition6.
#
#OptionalEnvironmentVariables:
#ROOTFS_SIZE------------LinuxRootFSsize(internalemmc/nandonly).
#ODMDATA----------------Odmdatatobeused.
#BOOTLOADER-------------Bootloaderbinarytobefalshed
#BCTFILE----------------BCTfiletobeused.
#CFGFILE----------------CFGfiletobeused.
#KERNEL_IMAGE-----------LinuxkernelzImagefiletobeflashed.
#KERNEL_BINARY_TGZ------Initrdfiletobeflashed.
#ROOTFS-----------------LinuxRootFSdirectoryname.
#ROOTFS_TYPE------------yaffs2.ValidonlyforHarmonyinternalNAND.
#NFSROOT----------------NFSROOTi.e.
/exported/rootfs_dir
#NFSARGS----------------StaticNetworkassignments.
#
#TEGRA_BINARIES_TGZ-----Tegrabinarytgzfile.
#TEGRA_XABI_TBZ---------SuggestedXABIbinary.tbz2file.
#TEGRA_XORG_CONF--------xorg.conffiletoreplacedefault.
#KERNEL_INITRD----------Initrdfiletobeflashed.
#CMDLINE----------------Targetcmdline.
#
LDK_DIR=$(cd`dirname$0`&&pwd)
target_board=
target_rootdev=
target_partid=0
#ReservedFixedpartitions:
#2-BCT(absolute)
#3-PT(stronglyrecommended)
#4-EBT(stronglyrecommended)
MIN_KERN_PARTID=5;
rootdev_type="external";
rootfs_size=${ROOTFS_SIZE};
rootfs_type=${ROOTFS_TYPE};
odmdata=${ODMDATA};
bootloader=${BOOTLOADER};
bctfile=${BCTFILE};
cfgfile=${CFGFILE};
kernel_image=${KERNEL_IMAGE-${LDK_DIR}/kernel/zImage};
rootfs=${ROOTFS-${LDK_DIR}/rootfs};
nfsroot=${NFSROOT};
nfsargs=${NFSARGS};
kernel_binary_tgz=${KERNEL_BINARY_TGZ-${LDK_DIR}/kernel/kernel_binary.tar.gz};
tegra_binaries_tgz=${TEGRA_BINARIES_TGZ-${LDK_DIR}/nv_tegra/tegra_bins.tar.gz};
tegra_xabi_tbz=${TEGRA_XABI_TBZ};
tegra_xorg_conf=${TEGRA_XORG_CONF-${LDK_DIR}/nv_tegra/xorg.conf};
kernel_initrd=${KERNEL_INITRD};
cmdline=${CMDLINE};
zflag="false";
bootdev_type=${BOOTDEV_TYPE};
pr_conf()
{
echo"target_board=${target_board}";
echo"target_rootdev=${target_rootdev}";
echo"rootdev_type=${rootdev_type}";
echo"rootfs_size=${rootfs_size}";
echo"odmdata=${odmdata}";
echo"bootloader=${bootloader}";
echo"bctfile=${bctfile}";
echo"cfgfile=${cfgfile}";
echo"kernel_image=${kernel_image}";
echo"rootfs=${rootfs}";
echo"nfsroot=${nfsroot}";
echo"nfsargs=${nfsargs}";
echo"kernel_binary_tgz=${kernel_binary_tgz}";
echo"tegra_binaries_tgz=${tegra_binaries_tgz}";
echo"tegra_xabi_tbz=${tegra_xabi_tbz}";
echo"tegra_xorg_conf=${tegra_xorg_conf}";
echo"kernel_initrd=${kernel_initrd}";
echo"cmdline=${cmdline}";
echo"bootdev_type=${bootdev_type}";
exit0;
}
usage()
{
cat< Usage: sudo./flash.sh[options] Where ForHarmony: mtdblock1----internelNANDflash. mmcblk0p1----externalSDCARDoreMMCcardwithoutSDCARDinserted. mmcblk1p1----externaleMMCcardwhenSDCARDisinserted. sda1---------externalUSBdevices.(USBmemorystick,HDD) usb0---------nfsrootviaRJ45Ethernetport. eth0---------nfsrootviaexternalUSBEthernetinterface. options: -h-------------------printthismessage. -b -c -k -n -o harmony: 0x300d8011 -t -L -C WARNING: Thismanualkernelcommandlineshouldbe*FULLSET*. Upondetectingmanualcommandline,bootloaderoverride entirekernelcommandlinewiththis -D -K -I -R -N /my/exported/nfs/rootfs. -S -B -X -O -Z-------------------Showvariables. EOF exit$1; } whilegetopts"hb: c: k: n: o: t: L: C: D: K: I: R: N: S: B: X: O: Z"OPTION do case$OPTIONin h)usage0; ;; b)bctfile=${OPTARG}; ;; c)cfgfile=${OPTARG}; ;; k)target_partid=${OPTARG}; if[$target_partid-lt$MIN_KERN_PARTID];then echo"Error: invalidpartitionid(min=${MIN_KERN_PARTID})"; exit1; fi; ;; n)nfsargs=${OPTARG}; ;; o)odmdata=${OPTARG}; ;; t)rootfs_type=${OPTARG}; ;; L)bootloader=${OPTARG}; ;; C)cmdline=${OPTARG}; ;; D)bootdev_type=${OPTARG}; ;; K)kernel_image=${OPTARG}; ;; I)kernel_initrd=${OPTARG}; ;; R)rootfs=${OPTARG}; ;; N)nfsroot=${OPTARG}; ;; S)rootfs_size=${OPTARG}; ;; B)tegra_binaries_tgz=${OPTARG}; ;; X)tegra_xabi_tbz=${OPTARG}; ;; O)tegra_xorg_conf=${OPTARG}; ;; Z)zflag="true"; ;; ? )usage1; ;; esac done shift$((OPTIND-1)); if[$#-lt2];then usage1; fi; target_board=$1; target_rootdev=$2; #Canonicalizeallfilepathinputifany. # if["${bctfile}"! =""-a-f"${bctfile}"];then bctfile=`readlink-f"${bctfile}"`; fi; if["${cfgfile}"! =""-a-f"${cfgfile}"];then cfgfile=`readlink-f"${cfgfile}"`; fi; if["${bootloader}"! =""-a-f"${bootloader}"];then bootloader=`readlink-f"${bootloader}"`; fi; if["${kernel_image}"! =""-a-f"${kernel_image}"];then kernel_image=`readlink-f"${kernel_image}"`; fi; if["${kernel_initrd}"! =""-a-f"${kernel_initrd}"];then kernel_initrd=`readlink-f"${kernel_initrd}"`; fi; if["${rootfs}"! =""-a-d"${rootfs}"];then rootfs=`readlink-f"${rootfs}"`; fi; if["${nfsroot}"! =""-a-d"${nfsroot}"];then nfsroot=`readlink-f"${nfsroot}"`; fi; if["${kernel_binary_tgz}"! =""-a-f"${kernel_binary_tgz}"];then kernel_binary_tgz=`readlink-f"${kernel_binary_tgz}"`; fi; if["${tegra_binaries_tgz}"! =""-a-f"${tegra_binaries_tgz}"];then tegra_binaries_tgz=`readlink-f"${tegra_binaries_tgz}"`; fi; if["${tegra_xabi_tbz}"! =""-a-f"${tegra_xabi_tbz}"];then tegra_xabi_tbz=`readlink-f"${tegra_xabi_tbz}"`; fi; if["${tegra_xorg_conf}"! =""-a-f"${tegra_xorg_conf}"];then tegra_xorg_conf=`readlink-f"${tegra_xorg_conf}"`; fi; if["${nfsroot}"! =""-a"${cmdline}"! =""];then echo"Error: cmdlineandnfsrootargumentsaremutuallyexclusive."; echo"Useeithercmdlineornfsrootoption."; exit1; fi; #Defaultinternalsystempartitionsizeinbytes. # HARMONY_ROOTFS_SIZE=402653184; VENTANA_ROOTFS_SIZE=1073741824; SEABOARD_ROOTFS_SIZE=1073741824; CARDHU_ROOTFS_SIZE=1073741824; #Defaultodmdata. # HARMONY__ODMDATA=0x300d8011; VENTANA__ODMDATA=0x30098011; SEABOARD_ODMDATA=0x300d8011; CARDHU___ODMDATA=0x40080105; #DefaultBCTfiles. # DFLT_BCT_DIR="${LDK_DIR}/bootloader/${target_board}/BCT"; HARMONY_NAND_BCT=harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB_2K8Nand_HY27UF084G2B-TP.bct; VENTANA_EMMC_BCT=ventana_A03_12MHz_EDB8132B1PB6DF_300Mhz_1GB_emmc_THGBM1G6D4EBAI4.bct; SEABOARD_NAND_BCT=Seaboard_A02P_MID_1GB_HYNIX_H5PS2G83AFR-S6_ddr2_333Mhz_NAND.bct; SEABOARD_EMMC_BCT=PM282_Hynix_1GB_H5PS2G83AFR-S6C_333MHz_final_emmc_x8.bct; CARDHU_EMMC_BCT=E1186_Hynix_1GB_H5TC2G83BFR-PBA_375MHz_110622_sdmmc4_x8.bct; #DefaultCFGfiles. # DFLT_CFG_DIR="${LDK_DIR}/bootloader/${target_board}/cfg"; HARMONY_NAND_CFG=gnu_linux_fastboot_nand_full.cfg; VENTANA_EMMC_CFG=gnu_linux_fastboot_emmc_full.cfg; SEABOARD_NAND_CFG=gnu_linux_fastboot_nand_full.cfg; SEABOARD_EMMC_CFG=gnu_linux_fastboot_emmc_full.cfg; CARDHU_EMMC_CFG=gnu_linux_fastboot_emmc_full.cfg; if["${target_board}"="harmony"];then bootdev_type="nand"; if[["${target_rootdev}"==mtdblock*]];then rootdev_type="internal"; if["${rootfs_type}"=""];then rootfs_type="yaffs2"; elif["${rootfs_type}"! ="yaffs2"];then echo"Error: Invalidrootfstype(${rootfs_type})."; echo"SupportedFSisyaffs2."; exit1; fi; elif["${target_rootdev}"="eth0"-o\ "${target_rootdev}"="usb0"];then rootdev_type="network"; if["${nfsroot}"! =""];then cmdline="mem=384M@0Mnvmem=128M@384Mmem=512M@512M"; cmdline+="vmalloc=192Mvideo=tegrafb"; cmdline+="console=ttyS0,115200n8"; cmdline+="usbcore.old_scheme_first=1rwrootwait"; cmdline+="earlyprintkloglevel=75rootdelay=15"; fi; elif[["${target_rootdev}"! =mmcblk0p*&&\ "${target_rootdev}"! =mmcblk1p*&&\ "${target_rootdev}"! =sd*]];then echo"Error: Invalidtargetrootdev($target_rootdev)."; usage1; fi; if["${rootfs_size}"=""];then rootfs_size=${HARMONY_ROOTFS_SIZE}; fi; if["${odmdata}"=""];then odmdata=${HARMONY__ODMDATA}; fi; if["${bctfile}"=""];then
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- flash