Yocto tests
← Older revision
Revision as of 08:19, 12 November 2013
(10 intermediate revisions not shown)Line 3:
Line 3:
* Building Linux images for Zynq platform - ARMv7 * Building Linux images for Zynq platform - ARMv7
+==Output targets==
+These names are as they appear in the u-boot configuration header file - actual output files have different names:
+* '''boot.bin''' - u-boot as the first stage bootloader
+* '''devicetree.dtb''' - device tree with described interfaces, zynq registers, interrupts and drivers
+* '''uImage''' - kernel, drivers
+* '''uramdisk.image.gz''' - applications
+Copy them on the micro SD card > run '''boot''' once in the u-boot command line.
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx+ cd poky (just for convenience)
+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx (not needed)
git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393 git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
+ git clone git://git.code.sf.net/p/elphel/meta-ezynq meta-ezynq
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
</font> </font>
Line 21:
Line 31:
<absolute-path>/meta-xilinx/meta-zedboard \ <absolute-path>/meta-xilinx/meta-zedboard \
<absolute-path>/meta-elphel393 \ <absolute-path>/meta-elphel393 \
+ <absolute-path>/meta-ezynq \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 26:
Line 37:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard"+ MACHINE ?= "elphel393" (based on MACHINE="zedboard" )
</font> </font>
====Notes==== ====Notes====
<font color="red"> <font color="red">
-*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.+* Does ''./oe-init-build-env'' scan all the meta-* dirs in poky? Unlikely.
+</font>
+
+==Build ezynq-u-boot==
+<font size='2'>
+ bitbake ezynq-u-boot
+</font>
+====Output====
+* boot.bin
+
+====Notes====
+<font color="red">
+* Is there a way to build it by running ''bitbake elphel393'' (elphel393 is the name of the ramdisk core image - currently coincides with the name of the MACHINE)
</font> </font>
Line 37:
Line 60:
bitbake linux-xlnx bitbake linux-xlnx
</font> </font>
+====Output====
+* uImage (kernel)
+* devicetree.dtb (or some *.dtb)
====Notes==== ====Notes====
<font color="red"> <font color="red">
-* The '''dtc''' script for converting device tree between *.dts and *.dtb formats is built along with the kernel.+* When linux-xlnx is 'clean' it is built with the ramdisk.image.gz by ''bitbake elphel393'', however the boot.bin does not, why?
</font> </font>
Line 47:
Line 73:
bitbake elphel393 bitbake elphel393
</font> </font>
+===Output====
+* uramdisk.image.gz (the file has *.u-boot extension after it's built)
+
====Notes==== ====Notes====
<font size='2'> <font size='2'>
Line 57:
Line 86:
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}" IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_INSTALL_append = "python-core" IMAGE_INSTALL_append = "python-core"
-* Why ''python-core'' and not just ''python''?+* Why ''python-core'' and not ''python''?
-** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES, items from which should go into IMAGE_INSTALL
** Among all there's no ''python'' in the PACKAGES list. ** Among all there's no ''python'' in the PACKAGES list.
** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes. ** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
-* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''', '''i2c-tools''', '''mtd-utils''', '''net-tools''' steps:+* '''(Is there a better solution for kubuntu 13.04? in kubuntu 12.10 there are no errors mentioned below - or is it just newer version?)''' Steps for adding packages:
-**Clone '''meta-oe''' from OpenEmbedded: +**Clone '''meta-oe''' from OpenEmbedded (ia already cloned in the GIT-step):
git clone -b dylan https://github.com/openembedded/meta-oe.git git clone -b dylan https://github.com/openembedded/meta-oe.git
**Lines to ''bblayers.conf'': **Lines to ''bblayers.conf'':
<absolute-path>/meta-oe/meta-oe \ <absolute-path>/meta-oe/meta-oe \
- <absolute-path>/poky/meta-oe/meta-perl \
<absolute-path>/poky/meta-oe/meta-webserver \ <absolute-path>/poky/meta-oe/meta-webserver \
** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''': ** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
Line 73:
Line 101:
mtd-utils \ mtd-utils \
net-tools \ net-tools \
+ openssh \
modphp \ modphp \
apache2 \ apache2 \
Line 79:
Line 108:
meta-oe/meta-oe/recipes-devtools/php/php.inc: meta-oe/meta-oe/recipes-devtools/php/php.inc:
PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
-*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.+*** PACKAGES list includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
*** What does hob build if ''php'' is checked? Didn't test. *** What does hob build if ''php'' is checked? Didn't test.
-*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB. *** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)? **To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5'' **To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+</font>
+</font>
====U-boot and device tree related notes==== ====U-boot and device tree related notes====
* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:''' * '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
*.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (takes KB), example: *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (takes KB), example:
- bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=65536'''";
* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example: * '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example:
''zynq_zed.h'': ''zynq_zed.h'':
Line 102:
Line 132:
devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB
-</font>+==Build everything all together==
-</font>+ bitbake ezynq-u-boot linux-xlnx elphel393
- +==Build toolchain (not necessary)==
-==Build toolchain==+
* Step 1: build * Step 1: build
<font size='2'> <font size='2'>
Oleg
Ezynq
← Older revision
Revision as of 02:43, 11 November 2013
Line 11:
Line 11:
* '''boot.bin''' (fsbl is not required to boot) * '''boot.bin''' (fsbl is not required to boot)
-==Install meta-toolchain (Ubuntu 13.04)==+==Install meta-toolchain (Kubuntu 13.04)==
* *
<font size='2'> <font size='2'>
Line 23:
Line 23:
* Run installation script in ''build/tmp/deploy/'' * Run installation script in ''build/tmp/deploy/''
-==Install ezynq (Ubuntu 13.04)==+==Install ezynq (Kubuntu 13.04)==
<font size='2'> <font size='2'>
git clone git://git.code.sf.net/p/elphel/ezynq ezynq git clone git://git.code.sf.net/p/elphel/ezynq ezynq
Oleg
Yocto tests
← Older revision
Revision as of 02:41, 11 November 2013
(12 intermediate revisions not shown)Line 1:
Line 1:
+==About==
+* All of the described things happen in Kubuntu 13.04
+* Building Linux images for Zynq platform - ARMv7
+
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 18:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 22:
Line 26:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard"
+</font>
+====Notes====
+<font color="red">
+*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.
</font> </font>
Line 28:
Line 36:
<font size='2'> <font size='2'>
bitbake linux-xlnx bitbake linux-xlnx
+</font>
+
+====Notes====
+<font color="red">
+* The '''dtc''' script for converting device tree between *.dts and *.dtb formats is built along with the kernel.
</font> </font>
Line 33:
Line 46:
<font size='2'> <font size='2'>
bitbake elphel393 bitbake elphel393
+</font>
+====Notes====
+<font size='2'>
+<font color="red">
+* Current packages:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+* Also works:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+ IMAGE_INSTALL_append = "python-core"
+* Why ''python-core'' and not just ''python''?
+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL
+** Among all there's no ''python'' in the PACKAGES list.
+** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
+* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''', '''i2c-tools''', '''mtd-utils''', '''net-tools''' steps:
+**Clone '''meta-oe''' from OpenEmbedded:
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
+**Lines to ''bblayers.conf'':
+ <absolute-path>/meta-oe/meta-oe \
+ <absolute-path>/poky/meta-oe/meta-perl \
+ <absolute-path>/poky/meta-oe/meta-webserver \
+** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
+ IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \
+ i2c-tools \
+ mtd-utils \
+ net-tools \
+ modphp \
+ apache2 \
+ php-cli"
+** Why ''php-cli'' and not just ''php''?
+ meta-oe/meta-oe/recipes-devtools/php/php.inc:
+ PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
+*** What does hob build if ''php'' is checked? Didn't test.
+*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
+*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
+**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
+**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+====U-boot and device tree related notes====
+* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
+ *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (takes KB), example:
+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";
+* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example:
+ ''zynq_zed.h'':
+ "sdboot=echo Copying Linux from SD to RAM... && " \
+ "mmcinfo && " \
+ "fatload mmc 0 0x3000000 ${kernel_image} && " \
+ "fatload mmc 0 0x2A00000 ${devicetree_image} && " \
+ "fatload mmc 0 0x2000000 ${ramdisk_image} && " \
+ "bootm 0x3000000 0x2000000 0x2A00000\0" \
+
+ So, the max sizes:
+ compressed ramdisk = 0x2A00000 - 0x2000000 = 0xA00000 = 10MB
+ devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB
+
+</font>
</font> </font>
Oleg
Yocto tests
← Older revision
Revision as of 23:53, 8 November 2013
(9 intermediate revisions not shown)Line 1:
Line 1:
+==About==
+* All of the described things happen in Kubuntu 13.04
+* Building Linux images for Zynq platform - ARMv7
+
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 18:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 22:
Line 26:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard"
+</font>
+===Notes===
+<font color="red">
+*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.
</font> </font>
Line 28:
Line 36:
<font size='2'> <font size='2'>
bitbake linux-xlnx bitbake linux-xlnx
+</font>
+
+===Notes===
+<font color="red">
+* The '''dtc''' script for converting device tree between *.dts and *.dtb formats is built along with the kernel.
</font> </font>
Line 33:
Line 46:
<font size='2'> <font size='2'>
bitbake elphel393 bitbake elphel393
+</font>
+===Notes===
+<font size='2'>
+<font color="red">
+* Current packages:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+* Also works:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+ IMAGE_INSTALL_append = "python-core"
+* Why ''python-core'' and not just ''python''?
+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL
+** Among all there's no ''python'' in the PACKAGES list.
+** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
+* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''', '''i2c-tools''', '''mtd-utils''', steps:
+**Clone '''meta-oe''' from OpenEmbedded:
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
+**Lines to ''bblayers.conf'':
+ <absolute-path>/meta-oe/meta-oe \
+ <absolute-path>/poky/meta-oe/meta-perl \
+ <absolute-path>/poky/meta-oe/meta-webserver \
+** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
+ IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \
+ i2c-tools \
+ mtd-utils \
+ modphp \
+ apache2 \
+ php-cli"
+** Why ''php-cli'' and not just ''php''?
+ meta-oe/meta-oe/recipes-devtools/php/php.inc:
+ PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
+*** What does hob build if ''php'' is checked? Didn't test.
+*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
+*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
+**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
+**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+===U-boot and device tree related notes===
+* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
+ *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (takes KB), example:
+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";
+* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example:
+ ''zynq_zed.h'':
+ "sdboot=echo Copying Linux from SD to RAM... && " \
+ "mmcinfo && " \
+ "fatload mmc 0 0x3000000 ${kernel_image} && " \
+ "fatload mmc 0 0x2A00000 ${devicetree_image} && " \
+ "fatload mmc 0 0x2000000 ${ramdisk_image} && " \
+ "bootm 0x3000000 0x2000000 0x2A00000\0" \
+
+ So, the max sizes:
+ compressed ramdisk = 0x2A00000 - 0x2000000 = 0xA00000 = 10MB
+ devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB
+
+</font>
</font> </font>
Oleg
Yocto tests
U-boot and device tree related notes:
← Older revision Revision as of 21:59, 8 November 2013 (8 intermediate revisions not shown)Line 1: Line 1: +==About== +* All of the described things happen in Kubuntu 13.04 +* Building Linux images for Zynq platform - ARMv7 + ==GIT== ==GIT== <font size='2'> <font size='2'> git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git - git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx - git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393 </font> </font> Line 14: Line 18: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: <font size='2'> <font size='2'> - <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \ - <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \ - <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \ </font> </font> * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: Line 22: Line 26: BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) - MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard" +</font> +===Notes=== +<font color="red"> +*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images. </font> </font> Line 28: Line 36: <font size='2'> <font size='2'> bitbake linux-xlnx bitbake linux-xlnx +</font> + +===Notes=== +<font color="red"> +* The '''dtc''' script for converting device tree between *.dts and *.dtb formats is built along with the kernel. </font> </font> Line 33: Line 46: <font size='2'> <font size='2'> bitbake elphel393 bitbake elphel393 +</font> +===Notes=== +<font size='2'> +<font color="red"> +* Current packages: + ''elphel393.bb'': + IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}" +* Also works: + ''elphel393.bb'': + IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}" + IMAGE_INSTALL_append = "python-core" +* Why ''python-core'' and not just ''python''? +** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL +** Among all there's no ''python'' in the PACKAGES list. +** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes. +* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''' and '''i2c-tools''', steps: +**Clone '''meta-oe''' from OpenEmbedded: + git clone -b dylan https://github.com/openembedded/meta-oe.git +**Lines to ''bblayers.conf'': + <absolute-path>/meta-oe/meta-oe \ + <absolute-path>/poky/meta-oe/meta-perl \ + <absolute-path>/poky/meta-oe/meta-webserver \ +** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''': + IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \ + i2c-tools \ + modphp \ + apache2 \ + php-cli" +** Why ''php-cli'' and not just ''php''? + meta-oe/meta-oe/recipes-devtools/php/php.inc: + PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" +*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate. +*** What does hob build if ''php'' is checked? Didn't test. +*** Using ''php-cli'' installs php in the /usr/bin/. Tested. +*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB. +**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)? +**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5'' +===U-boot and device tree related notes=== +* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:''' + *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (takes KB), example: + bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''"; +* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example: + ''zynq_zed.h'': + "sdboot=echo Copying Linux from SD to RAM... && " \ + "mmcinfo && " \ + "fatload mmc 0 0x3000000 ${kernel_image} && " \ + "fatload mmc 0 0x2A00000 ${devicetree_image} && " \ + "fatload mmc 0 0x2000000 ${ramdisk_image} && " \ + "bootm 0x3000000 0x2000000 0x2A00000\0" \ + + So, the max sizes: + compressed ramdisk = 0x2A00000 - 0x2000000 = 0xA00000 = 10MB + devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB + +</font> </font> </font> OlegYocto tests
← Older revision
Revision as of 21:18, 8 November 2013
(6 intermediate revisions not shown)Line 1:
Line 1:
+==About==
+* in Kubuntu 13.04
+* Building Linux images for Zynq platform - ARMv7
+
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 18:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 22:
Line 26:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard"
+</font>
+===Notes===
+<font color="red">
+*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.
</font> </font>
Line 28:
Line 36:
<font size='2'> <font size='2'>
bitbake linux-xlnx bitbake linux-xlnx
+</font>
+
+===Notes===
+<font color="red">
+* The '''dtc''' script for converting device tree between *.dts and *.dtb formats is built along with the kernel.
</font> </font>
Line 33:
Line 46:
<font size='2'> <font size='2'>
bitbake elphel393 bitbake elphel393
+</font>
+===Notes===
+<font size='2'>
+<font color="red">
+* Current packages:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+* Also works:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+ IMAGE_INSTALL_append = "python-core"
+* Why ''python-core'' and not just ''python''?
+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL
+** Among all there's no ''python'' in the PACKAGES list.
+** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
+* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''' and '''i2c-tools''', steps:
+**Clone '''meta-oe''' from OpenEmbedded:
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
+**Lines to ''bblayers.conf'':
+ <absolute-path>/meta-oe/meta-oe \
+ <absolute-path>/poky/meta-oe/meta-perl \
+ <absolute-path>/poky/meta-oe/meta-webserver \
+** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
+ IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \
+ i2c-tools \
+ modphp \
+ apache2 \
+ php-cli"
+** Why ''php-cli'' and not just ''php''?
+ meta-oe/meta-oe/recipes-devtools/php/php.inc:
+ PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
+*** What does hob build if ''php'' is checked? Didn't test.
+*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
+*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
+**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
+**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+===U-boot and device tree related notes===
+* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
+ *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (in KB), example:
+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";
+* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example:
+ ''zynq_zed.h'':
+ "sdboot=echo Copying Linux from SD to RAM... && " \
+ "mmcinfo && " \
+ "fatload mmc 0 0x3000000 ${kernel_image} && " \
+ "fatload mmc 0 0x2A00000 ${devicetree_image} && " \
+ "fatload mmc 0 0x2000000 ${ramdisk_image} && " \
+ "bootm 0x3000000 0x2000000 0x2A00000\0" \
+
+ So, the max sizes:
+ compressed ramdisk = 0x2A00000 - 0x2000000 = 0xA00000 = 10MB
+ devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB
+
+</font>
</font> </font>
Oleg
Yocto tests
← Older revision
Revision as of 20:51, 8 November 2013
(5 intermediate revisions not shown)Line 1:
Line 1:
+==About==
+* in Kubuntu 13.04
+* Building Linux images for Zynq platform - ARMv7
+
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 18:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 22:
Line 26:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard"
+</font>
+===Notes===
+<font color="red">
+*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.
</font> </font>
Line 33:
Line 41:
<font size='2'> <font size='2'>
bitbake elphel393 bitbake elphel393
+</font>
+===Notes===
+<font size='2'>
+<font color="red">
+* Current packages:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+* Also works:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+ IMAGE_INSTALL_append = "python-core"
+* Why ''python-core'' and not just ''python''?
+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL
+** Among all there's no ''python'' in the PACKAGES list.
+** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
+* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''' and '''i2c-tools''', steps:
+**Clone '''meta-oe''' from OpenEmbedded:
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
+**Lines to ''bblayers.conf'':
+ <absolute-path>/meta-oe/meta-oe \
+ <absolute-path>/poky/meta-oe/meta-perl \
+ <absolute-path>/poky/meta-oe/meta-webserver \
+** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
+ IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \
+ i2c-tools \
+ modphp \
+ apache2 \
+ php-cli"
+** Why ''php-cli'' and not just ''php''?
+ meta-oe/meta-oe/recipes-devtools/php/php.inc:
+ PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
+*** What does hob build if ''php'' is checked? Didn't test.
+*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
+*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
+**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
+**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+===U-boot and device tree related notes===
+* '''The default UNPACKED ramdisk max size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
+ *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (in KB), example:
+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";
+* '''The default COMPRESSED ramdisk max size for zynq is 10MB set in u-boot''' - change according to your needs, example:
+ ''zynq_zed.h'':
+ "sdboot=echo Copying Linux from SD to RAM... && " \
+ "mmcinfo && " \
+ "fatload mmc 0 0x3000000 ${kernel_image} && " \
+ "fatload mmc 0 0x2A00000 ${devicetree_image} && " \
+ "fatload mmc 0 0x2000000 ${ramdisk_image} && " \
+ "bootm 0x3000000 0x2000000 0x2A00000\0" \
+
+ So, the max sizes:
+ compressed ramdisk = 0x2A00000 - 0x2000000 = 0xA00000 = 10MB
+ devicetree = 0x3000000 - 0x2A00000 = 0x600000 = 6MB
+
+</font>
</font> </font>
Oleg
Yocto tests
← Older revision
Revision as of 19:35, 8 November 2013
(3 intermediate revisions not shown)Line 1:
Line 1:
+==About==
+* in Kubuntu 13.04
+* Building Linux images for Zynq platform - ARMv7
+
==GIT== ==GIT==
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 18:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Line 22:
Line 26:
BB_NUMBER_THREADS = "8" (depends on the PC's CPU) BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU) PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
- MACHINE ?= "zedboard" '''(?)'''+ MACHINE ?= "zedboard"
+</font>
+===Notes===
+<font color="red">
+*MACHINE="zedboard" is used to build the kernel. Doesn't matter for ramdisk.image.gz because the recipes don't have any bbappends for core-images.
</font> </font>
Line 33:
Line 41:
<font size='2'> <font size='2'>
bitbake elphel393 bitbake elphel393
+</font>
+===Notes===
+<font size='2'>
+<font color="red">
+* Current packages:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot python-core ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+* Also works:
+ ''elphel393.bb'':
+ IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
+ IMAGE_INSTALL_append = "python-core"
+* Why ''python-core'' and not just ''python''?
+** ''poky/meta/recipes-devtools/python/python-2.7-manifest.inc'' has a list in PACKAGES items from which should go into IMAGE_INSTALL
+** Among all there's no ''python'' in the PACKAGES list.
+** Does '''hob''' install all the PACKAGES if ''python'' is checked? Haven't tried, also the used '''hob''' version doesn't support saving recipes.
+* '''(Is there a better solution?)''' Adding packages : '''apache2''', '''php''' and '''i2c-tools''', steps:
+**Clone '''meta-oe''' from OpenEmbedded:
+ git clone -b dylan https://github.com/openembedded/meta-oe.git
+**Lines to ''bblayers.conf'':
+ <absolute-path>/meta-oe/meta-oe \
+ <absolute-path>/poky/meta-oe/meta-perl \
+ <absolute-path>/poky/meta-oe/meta-webserver \
+** ''elphel393.bb'' '''(some discussions mention the leading space is mandatory but somehow it works even without it)''':
+ IMAGE_INSTALL_append = "'''<mandatory space?>'''python-core \
+ i2c-tools \
+ modphp \
+ apache2 \
+ php-cli"
+** Why ''php-cli'' and not just ''php''?
+ meta-oe/meta-oe/recipes-devtools/php/php.inc:
+ PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+*** PACKAGES includes ''php''. What is installed? (No ''php-cli'': missing /usr/bin/php) Didn't investigate.
+*** What does hob build if ''php'' is checked? Didn't test.
+*** Using ''php-cli'' installs php in the /usr/bin/. Tested.
+*** Using ''php-cli'' increases the unpacked image size from ~16MB to ~50MB.
+**To fix the '''ERROR'''="'''Could not inherit file classes/vala.bbclass'''" in bitbake copy vala.bbclass from oe-core? or delete the conflicting recipes (2?)?
+**To fix the '''ERROR'''="'''Failed to parse krb5_1.11.3.bb'''" in bitbake delete the directory ''meta-oe/meta-oe/recipes-connectivity/krb5''
+* '''The default ramdisk size for zynq is 16MB - once it gets bigger you get KERNEL PANIC - the solution is [http://forums.xilinx.com/t5/Embedded-Linux/Need-bigger-ramdisk-32MB-on-ZC702/m-p/303457#M5775 modifying the device tree] - then recompile into DTB:'''
+ *.dts, add to '''bootargs''' parameter ''ramdisk_size=32768'' (in KB), example:
+ bootargs = "console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk '''ramdisk_size=32768'''";
+</font>
</font> </font>
Oleg
Yocto tests
← Older revision
Revision as of 17:55, 7 November 2013
Line 2:
Line 2:
<font size='2'> <font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git git clone -b dylan git://git.yoctoproject.org/poky.git
- git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx+ git clone -b dylan https://github.com/Xilinx/meta-xilinx.git meta-xilinx
- git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393+ git clone git://git.code.sf.net/p/elphel/meta-elphel393 meta-elphel393
</font> </font>
Line 14:
Line 14:
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS: * Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'> <font size='2'>
- <absolute-path>/poky/meta-xilinx \+ <absolute-path>/meta-xilinx \
- <absolute-path>/poky/meta-xilinx/meta-zedboard \+ <absolute-path>/meta-xilinx/meta-zedboard \
- <absolute-path>/poky/meta-elphel393 \+ <absolute-path>/meta-elphel393 \
</font> </font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things: * Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
Oleg
10359
Fix:
← Older revision Revision as of 06:15, 7 November 2013 Line 1: Line 1: ==<font color=red>Fix</font>== ==<font color=red>Fix</font>== -There was an error recently discovered in the 10359 & 10359A boards - due to a wrong source the sensors (J2,J3,J4) were powered from the 10359's 2.5V instead of the correct 3V coming from 10353 - the result was almost not noticeable - vertical stripes with a 4-pixel period (only with 10338d boards) - [[10359_fix|FixGuide]].+There was an error discovered in 2011 in the 10359 & 10359A boards - due to a wrong source the sensors (J2,J3,J4) were powered from the 10359's 2.5V instead of the correct 3V coming from 10353 - the result was almost not noticeable - vertical stripes with a 4-pixel period (only with 10338d boards) - [[10359_fix|FixGuide]]. 10359B - [[Media:10359b_sch.pdf|10359 Circuit Diagram]], [[Media:10359b_gerber.tar.gz|10359 Gerber files]] 10359B - [[Media:10359b_sch.pdf|10359 Circuit Diagram]], [[Media:10359b_gerber.tar.gz|10359 Gerber files]] Andrey.filippovEzynq
← Older revision
Revision as of 23:15, 6 November 2013
Line 35:
Line 35:
<font size='2'> <font size='2'>
cd u-boot-xlnx cd u-boot-xlnx
- ./makeuboot {target}+ ./makeuboot <target>
-Supported {targets}:+Supported <targets>:
./makeuboot zynq_microzed_config ./makeuboot zynq_microzed_config
./makeuboot zynq_zc706_config ./makeuboot zynq_zc706_config
Oleg
Yocto tests
New page
==GIT==<font size='2'>
git clone -b dylan git://git.yoctoproject.org/poky.git
git clone -b dylan https://github.com/Xilinx/meta-xilinx.git poky/meta-xilinx
git clone git://git.code.sf.net/p/elphel/meta-elphel393 poky/meta-elphel393
</font>
==Configure==
* Step 1: Init environment
<font size='2'>
cd poky
. ./oe-init-build-env
</font>
* Step 2: Edit ''build/conf/bblayers.conf'' - add paths to BBLAYERS:
<font size='2'>
<absolute-path>/poky/meta-xilinx \
<absolute-path>/poky/meta-xilinx/meta-zedboard \
<absolute-path>/poky/meta-elphel393 \
</font>
* Step 3: Edit ''build/conf/local.conf'' - set MACHINE and other things:
<font size='2'>
BB_NUMBER_THREADS = "8" (depends on the PC's CPU)
PARALLEL_MAKE = "-j 8" (depends on the PC's CPU)
MACHINE ?= "zedboard" '''(?)'''
</font>
==Build kernel==
<font size='2'>
bitbake linux-xlnx
</font>
==Build ramdisk.image.gz==
<font size='2'>
bitbake elphel393
</font>
==Build toolchain==
* Step 1: build
<font size='2'>
bitbake meta-toolchain
</font>
* Step 2: install - launch installer from <some-path>/poky/build/tmp/deploy/ Oleg
Ezynq
← Older revision
Revision as of 17:39, 5 November 2013
Line 4:
Line 4:
==Supported boards== ==Supported boards==
* [http://microzed.org Avnet MicroZed] - Zynq 7Z010 * [http://microzed.org Avnet MicroZed] - Zynq 7Z010
+* [http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm Xilinx ZC706] - Zynq 7Z045
+* [http://www.zedboard.org/ Digilent/Avnet ZedBoard] - Zynq 7Z020 (not tested)
+* [http://blog.elphel.com/2013/11/nc393-development-progress-testing-the-hardware/ Elphel 10393] - Zynq 7Z030
==Output== ==Output==
Line 32:
Line 35:
<font size='2'> <font size='2'>
cd u-boot-xlnx cd u-boot-xlnx
- ./makeuboot+ ./makeuboot {target}
-</font>+
+Supported {targets}:
+ ./makeuboot zynq_microzed_config
+ ./makeuboot zynq_zc706_config
+ ./makeuboot elphel393_config
+ ./makeuboot zynq_zed_config
* The generated files are: * The generated files are:
Line 61:
Line 69:
</font> </font>
* Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream. * Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream.
+* Write level training for DDR memory doesn't work in MicroZed and ZC706
Oleg
Ezynq
← Older revision
Revision as of 23:51, 16 October 2013
(6 intermediate revisions not shown)Line 51:
Line 51:
<font size='2'>./makeuboot</font> <font size='2'>./makeuboot</font>
-<font color="red">'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''')</font>+<font color='red'>'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''') - the python script will throw just a warning.</font>
==Known issues== ==Known issues==
-* USB does not work yet.+* <font color='green'>[FIXED]</font> (in Linux) USB does not work yet.
-* Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem.+* <font color='green'>[FIXED]</font> (in Linux) Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem. If no network:
+<font size='2'>
+ ifconfig eth0 down
+ ifconfig eth0 up
+</font>
* Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream. * Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream.
Oleg
Ezynq
Develop (add boards support):
← Older revision Revision as of 01:00, 15 October 2013 (3 intermediate revisions not shown)Line 51: Line 51: <font size='2'>./makeuboot</font> <font size='2'>./makeuboot</font> -<font color="red">'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''')</font>+<font color='red'>'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''') - the python script will throw just a warning.</font> ==Known issues== ==Known issues== -* USB does not work yet.+* <font color='orange'>[works with u-boot-xlnx 'master'-branch]</font> USB does not work yet. -* Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem.+* <font color='green'>[FIXED]</font> Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem. * Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream. * Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream. OlegEzynq
← Older revision
Revision as of 19:00, 11 October 2013
(One intermediate revision not shown)Line 51:
Line 51:
<font size='2'>./makeuboot</font> <font size='2'>./makeuboot</font>
-<font color="red">'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''')</font>+<font color='red'>'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''') - the python script will throw a warning.</font>
==Known issues== ==Known issues==
* USB does not work yet. * USB does not work yet.
-* Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem.
* Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream. * Bitstream loading is not tested, current code does not enable level shifters - it may be more appropriate to do just before loading of the bitstream.
Oleg
Ezynq
← Older revision
Revision as of 17:50, 10 October 2013
Line 51:
Line 51:
<font size='2'>./makeuboot</font> <font size='2'>./makeuboot</font>
-<font color="red">'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''')</font>+<font>'''IMPORTANT:''' Only '''192KB''' of zynq's series on-chip memory are available at boot. It is the maximal size of '''u-boot.bin''' (not the final '''boot.bin''') - the python script will throw an error.</font>
==Known issues== ==Known issues==
Oleg
User:Richardski
New user account
RichardskiElphel camera parts 0353-23
0353-23-10 - SFE insert holder:
← Older revision Revision as of 01:39, 5 October 2013 Line 21: Line 21: ---- ---- -=== 0353-23-10 - SFE insert holder ===+=== 0353-23-10 - SFE insert holder, Revision "0" === {{Cad4|0353-23-10}} {{Cad4|0353-23-10}} ---- ---- +=== 0353-23-10A - SFE insert holder, Revision "A" === +{{Cad4|0353-23-10A}} + +---- === 0353-23-11 - SFE insert assembly plate === === 0353-23-11 - SFE insert assembly plate === Andrey.filippovElphel camera parts 0353-19
0353-19-651 - Sensor ring:
← Older revision Revision as of 01:37, 5 October 2013 (One intermediate revision not shown)Line 320: Line 320: ---- ---- -=== 0353-19-651 - Sensor ring ===+=== 0353-19-65E - SFE Plate, revision "E" === +{{Cad4|0353-19-65E}} + +---- + +=== 0353-19-651 - Sensor ring, Revision "0" === {{Cad4|0353-19-651}} {{Cad4|0353-19-651}} + +---- + +=== 0353-19-651A - Sensor ring, Revision "A" === +{{Cad4|0353-19-651A}} ---- ---- Andrey.filippov