Toaster from Scratch


Mehran Memarnejad
 

Hi,

All explanations about toaster I found on Internet are based on Poky, i.e. they say "source oe-init-build-env" and then "source bitbake/bin/toaster start", I could run this successfully, But now I want to do it in my own way.
What I want is that to do things from scratch. by scratch I mean:
1- Cloning bitbake which contains toaster as well ... (NOT cloning poky which also contains bitbake)
2- Put all my layers in layer directory
3- Run a script to initialize enviornment (here I use setenv ... put a few lines ahead)
4- Source bitbake/bin/toaster start
5- Go to localhost:8000 and create a new project
6- Add all my required layers to project
7- And finally, building my target recipe

Here is the structure of directory I want to have:
.
├── bitbake
│   ├── AUTHORS
│   ├── bin
│   ├── ChangeLog
│   ├── classes
│   ├── conf
│   ├── contrib
│   ├── doc
│   ├── lib
│   ├── LICENSE
│   ├── LICENSE.GPL-2.0-only
│   ├── LICENSE.MIT
│   ├── MANIFEST.in
│   ├── README
│   ├── toaster-requirements.txt
│   └── TODO
├── layers
│   ├── meta-mylayer
│   ├── meta-arago
│   ├── meta-aws
│   ├── meta-browser
│   ├── meta-linaro
│   ├── meta-openembedded
│   ├── meta-processor-sdk
│   ├── meta-qt5
│   ├── meta-ros
│   ├── meta-ti
│   ├── meta-virtualization
│   └── oe-core
└── setenv


setenv file is from Arago project from TI that contains ... I modified it alittle:

# Set OEBASE to where the build and source directories reside
# NOTE: Do NOT place a trailing / on the end of OEBASE.
export OEBASE=/home/mehran/Desktop/scratch

# try to find out bitbake directory
BITBAKEDIR=`find ${OEBASE} -name "*bitbake*"`
for f in ${BITBAKEDIR}
do
    if [ -d ${f}/bin ]
    then
        PATH="${f}/bin:$PATH"
    fi
done

# check for any scripts directories in the top-level of the repos and add those
# to the PATH
SCRIPTS=`find ${OEBASE}/layers -maxdepth 2 -name "scripts" -type d`
for s in ${SCRIPTS}
do
    PATH="${s}:$PATH"
done

unset BITBAKEDIR
unset SCRIPTS
export PATH
export BUILDDIR=${OEBASE}/build
export BB_ENV_EXTRAWHITE="MACHINE DISTRO TCMODE TCLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS PARALLEL_MAKE GIT_PROXY_COMMAND GIT_PROXY_IGNORE SOCKS5_PASSWD SOCKS5_USER OEBASE META_SDK_PATH TOOLCHAIN_TYPE TOOLCHAIN_BRAND TOOLCHAIN_BASE TOOLCHAIN_PATH TOOLCHAIN_PATH_ARMV5 TOOLCHAIN_PATH_ARMV7 TOOLCHAIN_PATH_ARMV8 EXTRA_TISDK_FILES TISDK_VERSION ARAGO_BRAND ARAGO_RT_ENABLE ARAGO_SYSTEST_ENABLE ARAGO_KERNEL_SUFFIX TI_SECURE_DEV_PKG_CAT TI_SECURE_DEV_PKG_AUTO TI_SECURE_DEV_PKG_K3 ARAGO_SYSVINIT SYSFW_FILE"

Result:
When I "source bitbake/bin/toaster start", toaster runs on localhost:8000. Then I can create a project and add my layers (toaster shows recipes in layers), but I can't build my recipe.. It gives me an error.. when it starts, It says "0% cloning <layer>" and then throws an error with below description, even though all my layers are local NOT on git hosting servers:
               command: git fetch && git reset --hard "origin/N/A"
               b"fatal: ambiguous argument 'origin/N/A': unknown revision or path not in the working tree.\nUse '--' to separate paths from revisions, like this:\n'git <command> [<revision>...] -- [<file>...]'\n"

Any help on how to use toaster individually is appreciated
Thanks in advance