20160711_jeffrey - silenceuncrio/diary GitHub Wiki
Index
- 0950 - mail proposal ariel
- 1030 - M300 meeting 延到明天十點
- 1035 - trace
bitbake u-boot-imx -c compile -vf流程 - 1115 -
do_compile () - 1305 -
do_compile ()... - 1340 -
do_compile ()- 修改 來 traceUBOOT_CONFIG在local.conf有無 定義nand的 影響 - 1350 -
do_compile ()- 修改 - 1425 -
oe_runmakeoe_runmake_call - 1505 -
imx6ulevk.conf- 修改 - 1555 -
do_compile ()- 修改 - 1700 -
mx6ul_14x14_evk_defconfig - 1805 -
Freescale Yocto Project User's Guide-5.5 U-Boot configuration-U-Boot type = NAND
0950
待會 1030 M300 要 meeting, 先 mail 上禮拜完成的 proposal mail 給 ariel
不過感覺 How-To use NAND boot on i.MX6UL EVK board 少了 rootfs 的部分
1030
禮拜一的會議室幾乎都沒空
M300 meeting 延到明天十點
1035
繼續上禮拜四的 trace
上禮拜四已經確認 bitbake u-boot-imx -c compile -vf 的流程
會到達 /fsl-release-bsp/sources/poky/meta/recipes-bsp/u-boot/u-boot.inc
do_compile () {
echo "Hello World"
}
繼續研究原本的 do_compile ()
1115
原始的 do_compile ()
do_compile () {
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
fi
unset LDFLAGS
unset CFLAGS
unset CPPFLAGS
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
then
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
fi
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
oe_runmake O=${config} ${config}
oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
fi
done
unset j
done
unset i
else
oe_runmake ${UBOOT_MACHINE}
oe_runmake ${UBOOT_MAKE_TARGET}
fi
}
先看
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
fi
do_compile () 應該是個 shell functions, 所以用 shell script 來寫
可以參考 If / Else Statements (Shell Scripting)
來看 "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}"
參考 3.1.11. Inline Python Variable Expansion
"${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" 是個 Inline Python Variable Expansion
參考 3.4.2. BitBake Style Python Functions
bb.utils.contains() 是個 Python Function, 定義在 M300\fsl-release-bsp\sources\poky\bitbake\lib\bb\utils.py
bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d) 應該就是去看 DISTRO_FEATURES 這個 YOCTCO variable 有沒有 contain ld-is-gold, 有就回傳 ld-is-gold
如果 DISTRO_FEATURES 這個 YOCTCO variable 有 contain ld-is-gold 就去做
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/ 是個 regular expression
unset LDFLAGS
unset CFLAGS
unset CPPFLAGS
unset 是 bash built-in commands
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
then
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
fi
先跳過
1305
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
oe_runmake O=${config} ${config}
oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
fi
done
unset j
done
unset i
else
oe_runmake ${UBOOT_MACHINE}
oe_runmake ${UBOOT_MAKE_TARGET}
fi
從外層邏輯看起
if [ "x${UBOOT_CONFIG}" != "x" ]
then
# ...
else
# ...
fi
UBOOT_CONFIG 的定義來自於
M300\fsl-release-bsp\sources\meta-fsl-arm\conf\machine\imx6ulevk.conf
...
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard"
UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config"
UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config"
參考 3.1.4. Setting a weak default value
UBOOT_CONFIG ??= "sd" 作下面解釋
If UBOOT_CONFIG is set before the above statements are parsed, UBOOT_CONFIG retains its value.
If UBOOT_CONFIG is not set, the variable is set to "sd".
依照 Freescale Yocto Project User's Guide - 5.5 U-Boot configuration 的說明
我們可以將 UBOOT_CONFIG 定義在 M300\fsl-release-bsp\build_small\conf\local.conf 裡面
目前因為 UBOOT_CONFIG 沒有被定義
所以採用 M300\fsl-release-bsp\sources\meta-fsl-arm\conf\machine\imx6ulevk.conf 的定義
UBOOT_CONFIG ??= "sd"
那這句我就不了解了 [ "x${UBOOT_CONFIG}" != "x" ]
${UBOOT_CONFIG} 指的是 UBOOT_CONFIG 的值
那就是 "sd"
所以 "x${UBOOT_CONFIG}" = "xsd"
那麼不管我們是否將 UBOOT_CONFIG 定義在 M300\fsl-release-bsp\build_small\conf\local.conf 裡面
if [ "x${UBOOT_CONFIG}" != "x" ]
then
# ...
else
# ...
fi
都不會執行到 else ... fi 的部分
那就直接看 then ... else 的部分
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ].
then
oe_runmake O=${config} ${config}
oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
fi
done
unset j
done
unset i
直接修改以方便 trace
do_compile () {
echo "Hello World"
for config in ${UBOOT_MACHINE}; do
echo ${config}
done
echo "Hello World return..."
}
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small$ bitbake u-boot-imx -c compile -vf
...
+ echo Hello World
Hello World
+ echo mx6ul_14x14_evk_config
mx6ul_14x14_evk_config
+ echo Hello World return...
Hello World return...
...
可以肯定 ${UBOOT_MACHINE} 的值為 mx6ul_14x14_evk_config
1340
修改 do_compile () 來 trace UBOOT_CONFIG 在 M300\fsl-release-bsp\build_small\conf\local.conf 裡有無被定義成 nand 的影響
do_compile () {
echo "Hello World"
if [ "x${UBOOT_CONFIG}" != "x" ]
then
echo "UBOOT_CONFIG - ${UBOOT_CONFIG}"
echo "UBOOT_MACHINE - ${UBOOT_MACHINE}"
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
echo "i - ${i}"
echo "UBOOT_CONFIG - ${UBOOT_CONFIG}"
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
echo "j - ${j}"
if [ $j -eq $i ]
then
echo "do something about oe_runmake..."
fi
done
unset j
done
unset i
else
echo "else part..."
fi
echo "Hello World return..."
}
UBOOT_CONFIG 沒有被定義
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small$ bitbake u-boot-imx -c compile -vf
...
+ echo Hello World
Hello World
+ [ xsd != x ]
+ echo UBOOT_CONFIG - sd
UBOOT_CONFIG - sd
+ echo UBOOT_MACHINE - mx6ul_14x14_evk_config
UBOOT_MACHINE - mx6ul_14x14_evk_config
+
expr
+
1
+ i=1
+ echo i - 1
i - 1
+ echo UBOOT_CONFIG - sd
UBOOT_CONFIG - sd
+
expr
+
1
+ j=1
+ echo j - 1
j - 1
+ [ 1 -eq 1 ]
+ echo do something about oe_runmake...
do something about oe_runmake...
+ unset j
+ unset i
+ echo Hello World return...
Hello World return...
+ ret=0
+ trap 0
+ exit 0
...
定義成 nand
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small$ bitbake u-boot-imx -c compile -vf
...
+ echo Hello World
Hello World
+ [ xnand != x ]
+ echo UBOOT_CONFIG - nand
UBOOT_CONFIG - nand
+ echo UBOOT_MACHINE -
UBOOT_MACHINE -
+ unset i
+ echo Hello World return...
Hello World return...
+ ret=0
+ trap 0
+ exit 0
...
是因為 UBOOT_MACHINE 沒有被定義所以才沒有後續的動作
1350
修改 do_compile ()
do_compile () {
echo "Hello World"
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
echo "oe_runmake O=${config} ${config}"
echo "oe_runmake O=${config} ${UBOOT_MAKE_TARGET}"
echo "cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}"
fi
done
unset j
done
unset i
else
oe_runmake ${UBOOT_MACHINE}
oe_runmake ${UBOOT_MAKE_TARGET}
fi
echo "Hello World return..."
}
沒有被定義成 nand 的時候
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small$ bitbake u-boot-imx -c compile -vf
...
+ echo Hello World
Hello World
+ [ xsd != x ]
+
expr
+
1
+ i=1
+
expr
+
1
+ j=1
+ [ 1 -eq 1 ]
+ echo oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ echo oe_runmake O=mx6ul_14x14_evk_config u-boot.imx
oe_runmake O=mx6ul_14x14_evk_config u-boot.imx
+ echo cp /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot.imx /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot-sd.imx
cp /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot.imx /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot-sd.imx
+ unset j
+ unset i
+ echo Hello World return...
Hello World return...
+ ret=0
+ trap 0
+ exit 0
...
看一下
echo "oe_runmake O=${config} ${config}"echo "oe_runmake O=${config} ${UBOOT_MAKE_TARGET}"echo "cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}"
分別是
oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_configoe_runmake O=mx6ul_14x14_evk_config u-boot.imxcp /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot.imx /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config/u-boot-sd.imx
直接看 oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config 在幹嘛
do_compile () {
echo "Hello World"
oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
}
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small$ bitbake u-boot-imx -c compile -vf
...
+ echo Hello World
Hello World
+ oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ oe_runmake_call O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ bbnote make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ echo NOTE: make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
NOTE: make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
make -C /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config KBUILD_SRC=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git \
-f /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/Makefile mx6ul_14x14_evk_config
make[1]: Entering directory '/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config'
make -f ../scripts/Makefile.build obj=scripts/basic
ln -fsn .. source
rm -f .tmp_quiet_recordmcount
/bin/bash ../scripts/mkmakefile \
.. . 2015 04
GEN ./Makefile
make -f ../scripts/Makefile.build obj=scripts/kconfig mx6ul_14x14_evk_config
make[2]: '../mx6ul_14x14_evk_config' is up to date.
make[1]: Leaving directory '/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config'
+ ret=0
+ trap 0
+ exit 0
...
oe_runmake O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config 這件事會引發
oe_runmake_call O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config ???
感覺這邊撐過去就可以有另一番天地了
1425
Methods: Inbuilt methods to make your life easier 裡提到
oe_runmake
This function is used to run make.
However unlike calling make yourself this will pass the EXTRA_OEMAKE settings to make, will display a note about the make command and will check for any errors generated via the call to make.
You should never have any reason to call make directly and should also use oe_runmake when you need to run make.
不過 oe_runmake_call 就不好找線索了
參考 22.8.5. Shell Message Function Changes
bbnote - The shell versions of the BitBake message functions
+ bbnote make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ echo NOTE: make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
NOTE: make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
+ make -j 4 CROSS_COMPILE=arm-poky-linux-gnueabi- CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/sysroots/imx6ulevk V=1 O=mx6ul_14x14_evk_config mx6ul_14x14_evk_config
重點應該是
make -C /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config KBUILD_SRC=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git \
-f /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/Makefile mx6ul_14x14_evk_config
參考 make(1) - Linux man page 試著說故事
- Name
- make - GNU make utility to maintain groups of programs
- Synopsis
- make [ -f makefile ] [ options ] ... [ targets ] ...
- Options
-C dir, --directory=dir
Change to directory dir before reading the makefiles or doing anything else.
If multiple -C options are specified, each is interpreted relative to the previous one: -C / -C etc is equivalent to -C /etc.
This is typically used with recursive invocations of make.+-f file, --file=file, --makefile=FILE
Use file as a makefile.
故事是說我們會先切換到 dir 去, 在讀取 makefile 之前, make 的 targe 為 mx6ul_14x14_evk_config
- dir - Change to directory dir before reading the makefiles or doing anything else.
- /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/mx6ul_14x14_evk_config
- makefile - Use file as a makefile.
- /home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/Makefile
KBUILD_SRC- 還不知道要幹麻- KBUILD_SRC=/home/jeffrey/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git
1505
為了更完整的資訊 - 將 U-Boot 的 source code 移除 - bitbake u-boot-imx -c clean
修改 M300\fsl-release-bsp\sources\meta-fsl-arm\conf\machine\imx6ulevk.conf
新增 UBOOT_CONFIG[nand] = "mx6ul_14x14_evk_nand_config,ubifs"
...
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard"
UBOOT_CONFIG[nand] = "mx6ul_14x14_evk_nand_config,ubifs"
UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config"
UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config"
1555
修改 do_compile ()
do_compile () {
echo "Hello World"
...
oe_runmake O=${config} ${config}
# oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
# cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
...
}
UBOOT_CONFIG 沒被定義時
...
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
scripts/kconfig/conf --defconfig=arch/../configs/mx6ul_14x14_evk_defconfig Kconfig
#
# configuration written to .config
#
...
UBOOT_CONFIG 定義成 "nand" 時
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
scripts/kconfig/conf --defconfig=arch/../configs/mx6ul_14x14_evk_nand_defconfig Kconfig
***
*** Can't find default configuration "arch/../configs/mx6ul_14x14_evk_nand_defconfig"!
***
../scripts/kconfig/Makefile:111: recipe for target 'mx6ul_14x14_evk_nand_defconfig' failed
make[2]: *** [mx6ul_14x14_evk_nand_defconfig] Error 1
...
簡單結論
UBOOT_CONFIG沒被定義- 需要
configs/mx6ul_14x14_evk_defconfig
- 需要
UBOOT_CONFIG定義成 "nand"- 需要
configs/mx6ul_14x14_evk_nand_defconfig
- 需要
結果就是 mx6ul_14x14_evk_nand_defconfig 找不到
原本 configs 下已經有一些 mx6ul_xxx_defconfig 了
jeffrey@jeffrey-VirtualBox:~/M300/fsl-release-bsp/build_small/tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git/configs$ ls -al mx6ul*
-rw-r--r-- 1 jeffrey jeffrey 230 7月 11 16:10 mx6ul_14x14_ddr3_arm2_defconfig
-rw-r--r-- 1 jeffrey jeffrey 246 7月 11 16:10 mx6ul_14x14_ddr3_arm2_eimnor_defconfig
-rw-r--r-- 1 jeffrey jeffrey 258 7月 11 16:10 mx6ul_14x14_ddr3_arm2_emmc_defconfig
-rw-r--r-- 1 jeffrey jeffrey 244 7月 11 16:10 mx6ul_14x14_ddr3_arm2_nand_defconfig
-rw-r--r-- 1 jeffrey jeffrey 244 7月 11 16:10 mx6ul_14x14_ddr3_arm2_qspi1_defconfig
-rw-r--r-- 1 jeffrey jeffrey 246 7月 11 16:10 mx6ul_14x14_ddr3_arm2_spinor_defconfig
-rw-r--r-- 1 jeffrey jeffrey 182 7月 11 16:10 mx6ul_14x14_evk_android_defconfig
-rw-r--r-- 1 jeffrey jeffrey 166 7月 11 16:10 mx6ul_14x14_evk_defconfig
-rw-r--r-- 1 jeffrey jeffrey 180 7月 11 16:10 mx6ul_14x14_evk_qspi1_defconfig
-rw-r--r-- 1 jeffrey jeffrey 234 7月 11 16:10 mx6ul_14x14_lpddr2_arm2_defconfig
-rw-r--r-- 1 jeffrey jeffrey 250 7月 11 16:10 mx6ul_14x14_lpddr2_arm2_eimnor_defconfig
-rw-r--r-- 1 jeffrey jeffrey 190 7月 11 16:10 mx6ul_9x9_evk_defconfig
-rw-r--r-- 1 jeffrey jeffrey 204 7月 11 16:10 mx6ul_9x9_evk_qspi1_defconfig
1700
mx6ul_14x14_evk_defconfig 內容如下
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ul_14x14_evk/imximage.cfg,MX6UL"
CONFIG_ARM=y
CONFIG_TARGET_MX6UL_14X14_EVK=y
CONFIG_DM=y
CONFIG_DM_THERMAL=y
1805
理論上我們可以依照 Freescale Yocto Project User's Guide - 5.5 U-Boot configuration 的說明
讓 U-Boot type = NAND 在 MACHINE=imx6ulevk 時一樣能 build image
剛剛找 ariel 討論我會想這麼作
希望在這個禮拜做出來
ariel 聽到我能在這禮拜完成覺得夠快了
我要趁著個機會將 YOCTO 弄熟一點