On 3 January 2018 at 12:34, Giordon Stark <kra...@gmail.com> wrote:
> Thanks! This makes a lot more sense now. I'm definitely getting close. Here
> is the log file:
> https://gist.github.com/kratsg/7b2e9059d675c96081e461640f4006d3
>
> Using Nathan's suggestions + Manju's suggestions, I see that the *.dtb is
> built and referenced correctly:
>
> | NOTE: make -j 24 CROSS_COMPILE=aarch64-poky-linux-
> CC=aarch64-poky-linux-gcc
> --sysroot=/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot
> V=1 HOSTCC=gcc
> -isystem/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/usr/include
> -O2 -pipe
> -L/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/usr/lib
> -L/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/lib
> -Wl,-rpath-link,/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/usr/lib
> -Wl,-rpath-link,/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/lib
> -Wl,-rpath,/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/usr/lib
> -Wl,-rpath,/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot-native/lib
> -Wl,-O1
> EXT_DTB=/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot/boot/devicetree/gfex-prototype3.dtb
> dtb_depends= -C
> /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/git
> O=/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/build
> gfex-prototype3_defconfig
>
> However, it seems like the *.dtb cannot be found:
>
> | Device Tree Source is not correctly specified.
> | Please define 'CONFIG_DEFAULT_DEVICE_TREE'
> | or build with 'DEVICE_TREE=<device_tree>' argument
>
> when I `ls` the above directory:
>
> kratsg@dc:/local/d4/gstark/meta-l1calo/recipes-bsp/device-tree$ ls
> /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/u-boot-xlnx/v2017.01-xilinx-v2017.1+gitAUTOINC+92e3dd638b-r0/recipe-sysroot
> total 20K
> drwxr-xr-x 5 kratsg atlas 4.0K Jan  2 19:57 .
> drwxr-xr-x 8 kratsg atlas 4.0K Jan  2 19:57 ..
> drwxr-xr-x 2 kratsg atlas 4.0K Jan  2 19:57 lib
> drwxr-xr-x 2 kratsg atlas 4.0K Jan  2 19:57 sysroot-providers
> drwxr-xr-x 5 kratsg atlas 4.0K Jan  2 19:57 usr
>
> I don't see my compiled dtb there at all! In fact, I don't see a `boot`
> folder, so somehow, the device-tree.bb isn't installing the file for me
> where u-boot-xlnx expects it. So I looked in the log file for do_install
> device-tree.bb (do_install here:
> https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb#L71-L74):

You are using a version of meta-xilinx before rocko I assume? If so
you will need this line in your bbappend for device-tree.

https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb#L25

This is needed to have the installed files populated into the sysroot.
Having the directory in that variable multiple times should be ok as
well, so setting it with master or pre-rocko should be fine.

That should sort out the files being in the u-boot sysroot, and then
the files should be there and u-boot's build wont complain about not
being able to access them.

Regards,
Nathan

>
> DEBUG: sed -e
> 's:^[^/]*/:/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/device-tree/1.0-r0/recipe-sysroot-native/:g'
> /local/d4/gstark/poky/build/tmp/sysroots-components/x86_64/gcc-cross-aarch64/fixmepath
> /local/d4/gstark/poky/build/tmp/sysroots-components/x86_64/pkgconfig-native/fixmepath
> /local/d4/gstark/poky/build/tmp/sysroots-components/x86_64/gtk-doc-native/fixmepath
> /local/d4/gstark/poky/build/tmp/sysroots-components/x86_64/gmp-native/fixmepath
> | xargs sed -i -e
> 's:FIXMESTAGINGDIRTARGET:/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/device-tree/1.0-r0/recipe-sysroot:g;
> s:FIXMESTAGINGDIRHOST:/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/device-tree/1.0-r0/recipe-sysroot-native:g'
> -e
> 's:FIXME_COMPONENTS_DIR:/local/d4/gstark/poky/build/tmp/sysroots-components:g'
> -e 's:FIXME_HOSTTOOLS_DIR:/local/d4/gstark/poky/build/tmp/hosttools:g' -e
> 's:FIXME_PKGDATA_DIR:/local/d4/gstark/poky/build/tmp/pkgdata/gfex-prototype3:g'
> DEBUG: Python function extend_recipe_sysroot finished
> DEBUG: Executing shell function do_install
> ls: cannot access '*.dtbo': No such file or directory
> DEBUG: Shell function do_install finished
> DEBUG: Executing shell function remove_libtool_la
> DEBUG: Shell function remove_libtool_la finished
>
> and it looks like it's failing, but it's probably fine? So I'm not sure. I
> see my device tree built:
>
> kratsg@dc:/local/d4/gstark/poky/build$ ls
> tmp/work/gfex_prototype3-poky-linux/device-tree/1.0-r0/build/
> total 52K
> drwxr-xr-x  2 kratsg atlas 4.0K Jan  2 16:43 .
> drwxr-xr-x 16 kratsg atlas 4.0K Jan  2 16:44 ..
> -rw-r--r--  1 kratsg atlas  39K Jan  2 16:43 system-top.dtb
> -rw-r--r--  1 kratsg atlas  866 Jan  2 16:43 system-top.dts.pp
>
> and installed here
>
> kratsg@dc:/local/d4/gstark/poky/build$ ls
> /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-linux/device-tree/1.0-r0/image/boot/devicetree/
> total 48K
> drwxr-xr-x 2 kratsg atlas 4.0K Jan  2 16:43 .
> drwxr-xr-x 3 kratsg atlas 4.0K Jan  2 16:43 ..
> -rw-r--r-- 1 kratsg atlas  39K Jan  2 16:43 system-top.dtb
>
> I just don't see it being installed to the right location that is expected
> from
> https://github.com/nathanrossi/meta-xilinx/blob/60193934fc1c7717a71f272370aaad1bfeb118b4/recipes-bsp/u-boot/u-boot_2017.09.bbappend
>
> EXT_DTB=${RECIPE_SYSROOT}/boot/devicetree/${MACHINE}.dtb
>
> So how do I install the dtb correctly from device-tree to get picked up by
> u-boot-xlnx?
>
> Giordon
>
> On Tue, Jan 2, 2018 at 8:40 PM Manjukumar Harthikote Matha
> <manju...@xilinx.com> wrote:
>>
>>
>>
>> > -----Original Message-----
>> > From: Giordon Stark [mailto:kra...@gmail.com]
>> > Sent: Tuesday, January 02, 2018 2:36 PM
>> > To: Manjukumar Harthikote Matha <manju...@xilinx.com>
>> > Cc: Nathan Rossi <nat...@nathanrossi.com>; Tang, Shaochun
>> > <st...@bnl.gov>;
>> > meta-xilinx@yoctoproject.org
>> > Subject: Re: [meta-xilinx] Wrong DRAM set for custom board using FSBL +
>> > u-boot?
>> >
>> > Hi Manju,
>> >
>> >
>> > On Tue, Jan 2, 2018 at 5:30 PM Manjukumar Harthikote Matha
>> > <manju...@xilinx.com <mailto:manju...@xilinx.com> > wrote:
>> >
>> >
>> >       Hi,
>> >
>> >       > -----Original Message-----
>> >       > From: Giordon Stark [mailto:kra...@gmail.com
>> > <mailto:kra...@gmail.com> ]
>> >       > Sent: Tuesday, January 02, 2018 2:15 PM
>> >       > To: Nathan Rossi <nat...@nathanrossi.com
>> > <mailto:nat...@nathanrossi.com> >
>> >       > Cc: Manjukumar Harthikote Matha <manju...@xilinx.com
>> > <mailto:manju...@xilinx.com> >; Tang, Shaochun
>> >       > <st...@bnl.gov <mailto:st...@bnl.gov> >; meta-
>> > xil...@yoctoproject.org <mailto:meta-xilinx@yoctoproject.org>
>> >       > Subject: Re: [meta-xilinx] Wrong DRAM set for custom board using
>> > FSBL +
>> > u-boot?
>> >       >
>> >       > Hi,
>> >       >
>> >       > I've followed along with everything so far. I'm finding that
>> > device-tree.bb
>> > <http://device-tree.bb>
>> >       > <http://device-tree.bb>  is not very happy with my initial
>> > structure of
>> > device-tree
>> >       > files. Here
>> > (https://github.com/kratsg/meta-l1calo/tree/master/recipes-
>> > bsp/device-
>> >       > tree) you can see my device-tree.bbappend and the associated
>> > files.
>> >       >
>> >       > I was hoping to structure my device tree sources this way,
>> > because I will
>> > eventually
>> >       > want
>> >       >
>> >       > boards/gfex
>> >       > boards/jfex
>> >       > boards/...
>> >       >
>> >       > in the future, and each group has their own set of versioned
>> > codes. What
>> > I'm seeing
>> >       > now, when I run `bitbake device-tree` is this:
>> >       >
>> >       > ERROR: device-tree-1.0-r0 do_compile: Function failed:
>> > do_compile (log
>> > file is
>> >       > located at
>> > /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> >       > linux/device-tree/1.0-r0/temp/log.do_compile.29239)
>> >       > ERROR: Logfile of failure stored in:
>> >       > /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> > linux/device-
>> >       > tree/1.0-r0/temp/log.do_compile.29239
>> >       > Log data follows:
>> >       > | DEBUG: Executing shell function do_compile
>> >       > | gcc: error:
>> >       > | /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> > linux/device
>> >       > | -tree/1.0-r0/*.dts: No such file or directory
>> >       > | gcc: warning: ‘-x assembler-with-cpp’ after last input file
>> > has no
>> >       > | effect
>> >       > | gcc: fatal error: no input files
>> >       > | compilation terminated.
>> >       > | WARNING: /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-
>> > poky-
>> >       > linux/device-tree/1.0-r0/temp/run.do_compile.29239:1 exit 1 from
>> > 'gcc -
>> > E -
>> >       > nostdinc -Ulinux -x assembler-with-cpp -
>> >       > I/local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> > linux/device-
>> >       > tree/1.0-r0 -I/local/d4/gstark/poky/build/tmp/work-shared/gfex-
>> >       > prototype3/kernel-source/arch/arm64/boot/dts -
>> >       >
>> > I/local/d4/gstark/poky/build/tmp/work-shared/gfex-prototype3/kernel-
>> >       > source/arch/arm64/boot/dts/include -
>> > I/local/d4/gstark/poky/build/tmp/work-
>> >       > shared/gfex-prototype3/kernel-source/arch/arm64/boot/dts/xilinx
>> > -o
>> > `basename
>> >       > ${DTS_FILE}`.pp ${DTS_FILE}'
>> >       > | ERROR: Function failed: do_compile (log file is located at
>> >       > | /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> > linux/device
>> >       > | -tree/1.0-r0/temp/log.do_compile.29239)
>> >       > ERROR: Task (/local/d4/gstark/meta-xilinx/recipes-bsp/device-
>> > tree/device-
>> >       > tree.bb:do_compile) failed with exit code '1'
>> >       > NOTE: Tasks Summary: Attempted 504 tasks of which 502 didn't
>> > need to
>> > be rerun
>> >       > and 1 failed.
>> >       >
>> >       > and when I look in this directory referenced:
>> >       >
>> >       > kratsg@dc:/local/d4/gstark/poky/build$ ls
>> >       > /local/d4/gstark/poky/build/tmp/work/gfex_prototype3-poky-
>> > linux/device-
>> >       > tree/1.0-r0/
>> >       > total 40K
>> >       > drwxr-xr-x 9 kratsg atlas 4.0K Jan  2 14:58 .
>> >       > drwxr-xr-x 3 kratsg atlas 4.0K Jan  2 14:50 ..
>> >       > drwxr-xr-x 2 kratsg atlas 4.0K Jan  2 14:58 build
>> >       > -rw-r--r-- 1 kratsg atlas   33 Jan  2 14:58 configure.sstate
>> >       > drwxr-xr-x 3 kratsg atlas 4.0K Jan  2 14:50 gfex drwxr-xr-x 3
>> > kratsg atlas
>> > 4.0K Jan  2
>> >       > 14:52 license-destdir drwxr-xr-x 2 kratsg atlas 4.0K Jan  2
>> > 14:50 patches
>> > drwxr-xr-x
>> >       > 2 kratsg atlas 4.0K Jan  2 14:58 recipe-sysroot drwxr-xr-x 6
>> > kratsg atlas
>> > 4.0K Jan  2
>> >       > 14:50 recipe-sysroot-native drwxr-xr-x 2 kratsg atlas 4.0K Jan
>> > 2 16:06
>> > temp
>> >       >
>> >       > it seems that it expects everything to be at the top-level...
>> > that I need
>> > some sort of
>> >       > system-top.dts to make device-tree.bb <http://device-tree.bb>
>> > <http://device-tree.bb>  happy. Am I doing
>> >       > this wrong? Is my structure wrong or is device-tree.bb
>> > <http://device-
>> > tree.bb>  <http://device-tree.bb>  a bit
>> >       > more pickier than I realized? I also updated u-boot to add the
>> > extra
>> > OEMAKE
>> >       > commands
>> > (https://github.com/kratsg/meta-l1calo/blob/master/recipes-
>> > bsp/u-
>> >       > boot/u-boot-xlnx_2017.1.bbappend) so if those look wrong, let me
>> > know.
>> >       >
>> >
>> >       The S is set to workdir
>> >
>> > https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/recipes-
>> > bsp/device-tree/device-tree.bb#L22
>> >
>> >       I think all the dts* files are under gfex, basically you need to
>> > set your S
>> > directory to the location where all the dts* files are present.
>> >
>> >       You can also rearrange on how you store the dts files as
>> >       boards/ gfex-prototype2/*.dts
>> >       boards/ gfex-prototype3/*.dts etc
>> >       and have bbappend as
>> >       SRC_URI_append_gfex-prototype3  = " \
>> >               file://pcw.dtsi "
>> >
>> >       This will allow all the dts* files to be copied in WORKDIR and
>> > build it from
>> > there.
>> >
>> >
>> >
>> > I've decided to go along with this method instead. I'd rather not change
>> > the source
>> > directory since that's probably less clear for people newer to this code
>> > moving
>> > forward... https://github.com/kratsg/meta-
>> > l1calo/commit/169090e527a5f350ff4d9649bcdbd136a97def2e
>> >
>> > Slight question: how does it know to look under files/<MACHINE>/*.dts if
>> > I only
>> > append the "files/" or "boards/" as an extrafilespath?
>> >
>>
>> SRC_URI_append_gfex-prototype3: gfex-prototype3 is appended to SRC_URI
>> expansion. See log.do_fetch on how it looks for the required files
>>
>> > Now when I run this, I found a few interesting things:
>> > - only works with windows-based line-endings (CLRF screws this up)
>> > - I get a complaint about the system.dts file
>> > (https://github.com/kratsg/meta-
>> > l1calo/tree/master/recipes-bsp/device-tree/files/gfex-prototype3) which
>> > is
>> > interesting, but maybe expect. This is fine if I combine both of my dts
>> > files here -- but
>> > I should point out that this was automatically generated from Xilinx, so
>> > I wonder
>> > why there are two dts files.
>> >
>>
>> system.dts is a dummy dts file, I think it is better to have it removed,
>> we usually remove during do_configure step. You should compile just the
>> system-top.dts, this includes all the other dtsi files
>>
>> Thanks,
>> Manju
>>
>
-- 
_______________________________________________
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to