抱歉,,上次贴的打印信息不全,,完整信息如下:
Lunch menu... pick a combo: 1. d1_mangopi_mq_rgb480x272_rtp-tina 2. d1_mangopi_mq_rgb800x480_gt9xx-tina 3. d1_nezha_min-tina 4. d1_nezha-tinaWhich would you like?: 1** Don't have a platform spec for: 'd1'** Must be one of aarch64actionlibaddadeafahcpdalabasteralfred... ...xkeyboardxtablesxupnpdxzyamlzeromqzlibzope.interfacezstd** Do you have the right repo manifest?我看了下,,这段打印对应于build/envsetup.sh中的下面一段
# check platform local platform=$(echo -n $select | sed -e "s/_.*$//") check_platform ${platform} if [ $? -ne 0 ]; then echo echo "** Don't have a platform spec for: '$platform'" >&2 echo "** Must be one of ${PLATFORM_CHOICES}" >&2 echo "** Do you have the right repo manifest?" >&2 platform= fi显然中间打印的那一堆单词就是代码找到的PLATFORM_CHOICES,,显然是找错了。。
从上面的代码看,打印出错信息是因为check_platform函数返回值不是0,,check_platform代码如下:
function check_platform(){ local T=$(gettop) [ -d "$T/target/allwinner" ] || return 1 local v for v in ${PLATFORM_CHOICES} do [ "$v" = "$1" ] && return 0 done return 1}我在“local T=$(gettop)那行下面添加”echo $(gettop)“,,结果打印信息竟然是”build config
Config.in device dl lichee Makefile package prebuilt
rules.mk scripts target toolchain tools /root/tina-d1-open“
我的理解gettop应该返回”/root/tina-d1-open“才对,,不知道为什么现在打印出这么大内容
我找到原因了,,是因为我在我的.bashrc文件中做了如下定义:
function cd() { builtin cd "$@" && ls}也就是cd到一个目录后,自动执行ls显示当前目录的内容。。
好吧,,算是偷懒的代价吧