Setup for Building New Toradex Image

I cloned this commit that sanchayan.tx linked to me as well as all of its dependencies, and I have the environment ready to build the new image. But I got confused when it came to the files in buildconf. I know in this commit, there’s a directory called buildconf with the correct configuration files. The README file in that directory says how the conf files are hardlinked to build/conf, so do I only specify the machine in buildconf/local.conf and it will automatically overwrite whatever is in build/conf? Or should I just use the information in buildconf/local.conf and buildconf/bblayers.conf and copy paste it to build/conf/local.conf and build/conf/bblayers.conf?

If the information in meta-toradex-demos/buildconf does overwrite oe-core/build/conf, I want to make sure I have it in the right directory. I have all of the meta files including ‘meta-toradex-demos’ in the oe-core directory and just wanted to make sure that was the right place to put them. Also, buildconf/local.conf is read only so I can’t change the machine variable without jumping through some hoops with vi, I just wanted to make sure that it was supposed to be read only, unless I did something wrong.

Hi

Sorry to put you on the wrong path. That README is outdated.

Just follow the description here.

When you first source ‘export’ the configuration files get copied to build/conf/. No hard- or softlinks are used anymore.

Max

I tried following that tutorial but I keep getting ‘permission denied’ when I try to run the curl command, even when I use sudo. My understanding is that all I need to do are those first few commands:

mkdir ~/bin
    export PATH=~/bin:$PATH
    curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo

because right now when I try to source export using ‘. export’ it just says ‘no such file or directory’. Before, I just ran ‘source ./oe-init-build-env’.

@YogurtCrampz I don’t recommend using sudo for the curl command. What does ls -l ~/bin output? Ensure that ‘~/bin’ has suitable permissions for you to write a file in there. Once you obtain repo and execute the repo init & repo sync commands, then you can . export.

If you continue having issues and you are using ubuntu, you can obtain repo by installing the phablet-tools package: sudo apt-get install phablet-tools.

Thank you, that was the issue. I must have created ~/bin as sudo for some reason. I also must have used sudo when i cloned the commit. That’s likely why I was having read-only issues with local.conf.

In this link that max.tx sent, it says to repo init -u http://git.toradex.com/toradex-bsp-platform.git -b LinuxImageV2.7 but I was told to try using the morty-next branch of the meta-toradex-demos and building from that.

After cloning all the dependencies stated in the README, including openembedded-core, running . export gives bash: export: No such file or directory, so I found this page that gives a very basic method of using openembedded-core, but doesn’t include . export.

If you wouldn’t mind, could you please explain the difference between using source oe-init-build-env and . export, and possibly why . export isn’t working in my case?

Hi

You’ve bin working harder than needed I guess.

The fast path to what you want to do would be to:

  • use repo init ... and repo sync to setup the meta data for the latest release of 2.7
  • go to layer/meta-toradex-demos and use git to checkout whatever later version you need.

e.g.

cd layers/meta-toradex-demos
git merge morty-next
git branch my-branch

Note that all are -next branches are unstable and we often rebase them.

If you wouldn’t mind, could you please explain the difference between using source oe-init-build-env and . export, and possibly why . export isn’t working in my case?

export is a wrapper to oe-init-build-env which sets the builddir directory name, is meant to be run from the oe-core/ directory and, on first invocation, copies an initial local.conf and bblayers.conf aimed at Toradex targets.

export is normaly copied to oe-core/ by the repo tool. Since you set up the layers manually you would have to this also manually, e.g. cd ..../oe-core; cp layers/meta-toradex-demos/buildconf/export . .

Have a look here for an explanation on the dot command.

In some shells, notably bash source is a synonym of . . So . export and source export are two ways to execute the file export in the current shell’s context.

Max