toaster使用
0、下载源码
git clone git://git.yoctoproject.org/poky
1、建立基本系统要求
sudo apt-get install python3-pip
2、安装Toaster软件包
cd poky
pip3 install --user -r bitbake/toaster-requirements.txt

失败,这里提示版本不对,做如下操作
1. sudo apt-get update 2. sudo apt-get upgrade 3. wget https://bootstrap.pypa.io/get-pip.py 4. sudo python3 get-pip.py 5. hash -r

再次执行安装Toaster软件包
pip3 install --user -r bitbake/toaster-requirements.txt
3、启动Toaster进行本地开发
cd poky source oe-init-build-env source toaster start
4、浏览器打开界面
http://127.0.0.1:8000
5、修改端口
source toaster start webport=8400
6、设置外部访问
以下示例绑定到主机上的所有IP地址:
$ source toaster start webport=0.0.0.0:8400
此示例绑定到主机NIC上的特定IP地址:
$ source toaster start webport=192.168.1.1:8400

7、创建Django超级用户
1、设置Toaster系统依赖项,如果使用pip3,pip3是我们推荐的
export PATH=$PATH:$HOME/.local/bin
2、从保护Toaster目录中(默认是构建目录),调用manage.py的createsuperuser 命令
cd ~/poky/
./bitbake/lib/toaster/manage.py createsuperuser
3、Django提示您输入用户名,您需要提供该用户名。
4、Django会提示您输入电子邮件地址,这是可选的。
5、Django提示您输入密码,您必须提供该密码。
6、Django会提示您重新输入密码进行验证。
8、创建超级用户可以使您通过浏览器访问Django管理界面。该接口的URL与用于Toaster实例的URL相同,末尾带有“/admin”。例如,如果您在本地运行Toaster,请使用以下URL
http://127.0.0.1:8000/admin
您可以使用Django管理界面来设置Toaster配置参数,例如构建目录,图层源,默认变量值和BitBake版本。

9、设置Toaster的生产实例
1、安装
sudo apt-get install apache2 libapache2-mod-wsgi-py3 mysql-server python3-pip libmysqlclient-dev
2、创建toaster用户并将其主目录设置为 /var/www/toaster
$ sudo /usr/sbin/useradd toaster -md /var/www/toaster -s /bin/false
$ sudo su - toaster -s /bin/bash
3、将副本签出poky 到Web服务器目录中。您将使用/var/www/toaster:
$ git clone git://git.yoctoproject.org/poky
$ git checkout dunfell
4、使用--user标志安装Toaster依赖项,以将Python软件包与系统提供的软件包隔离开
$ cd /var/www/toaster/
$ pip3 install --user -r ./poky/bitbake/toaster-requirements.txt
$ pip3 install --user mysqlclient
9.1、通过编辑/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py 如下来配置Toaster :
1、编辑 DATABASES设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'toaster_data',
'USER': 'toaster',
'PASSWORD': 'yourpasswordhere',
'HOST': 'localhost',
'PORT': '3306',
}
}
2、编辑SECRET_KEY:
SECRET_KEY = 'your_secret_key'
3、编辑STATIC_ROOT:
STATIC_ROOT = '/var/www/toaster/static_files/'
4、将数据库和用户添加到前面定义的mysql服务器
$ mysql -u root -p
mysql> CREATE DATABASE toaster_data;
mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere';
mysql> GRANT all on toaster_data.* to 'toaster'@'localhost';
mysql> quit
5、让Toaster创建数据库模式、默认数据并收集静态服务的文件
$ cd /var/www/toaster/poky/
$ ./bitbake/lib/toaster/manage.py migrate
$ TOASTER_DIR=`pwd` TEMPLATECONF='poky' \
./bitbake/lib/toaster/manage.py checksettings
$ ./bitbake/lib/toaster/manage.py collectstatic
6、在Mysql中使用Toaster数据库启动默认的Toaster Django Web服务器,请使用标准启动命令
$ source oe-init-build-env
$ source toaster start
7、将Toaster的Apache配置文件添加到Apache Web服务器的配置目录
/etc/apache2/conf-available/toaster.conf
8、以下是您可以遵循的Toaster的示例Apache配置:
Alias /static /var/www/toaster/static_files
<Directory /var/www/toaster/static_files>
<IfModule mod_access_compat.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule !mod_access_compat.c>
Require all granted
</IfModule>
</Directory>
<Directory /var/www/toaster/poky/bitbake/lib/toaster/toastermain>
<Files "wsgi.py">
Require all granted
</Files>
</Directory>
WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/.local/lib/python3.4/site-packages
WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py"
<Location />
WSGIProcessGroup toaster_wsgi
</Location>
9、如果您使用的是Ubuntu或Debian,则需要为Apache启用配置和模块:
$ sudo a2enmod wsgi
$ sudo a2enconf toaster
$ chmod +x bitbake/lib/toaster/toastermain/wsgi.py
10、最后,重新启动Apache以确保所有新配置都已加载。对于Ubuntu,Debian和OpenSUSE,请使用:
$ sudo service apache2 restart
11、准备systemd服务以运行Toaster构建。这是该服务的示例配置文件:
[Unit]
Description=Toaster runbuilds
[Service]
Type=forking
User=toaster
ExecStart=/usr/bin/screen -d -m -S runbuilds /var/www/toaster/poky/bitbake/lib/toaster/runbuilds-service.sh start
ExecStop=/usr/bin/screen -S runbuilds -X quit
WorkingDirectory=/var/www/toaster/poky
[Install]
WantedBy=multi-user.target
12、准备一个runbuilds-service.sh脚本,放在 /var/www/toaster/poky/bitbake/lib/toaster/目录,并且有可执行权限,脚本内容如下
#!/bin/bash
#export http_proxy=http://proxy.host.com:8080
#export https_proxy=http://proxy.host.com:8080
#export GIT_PROXY_COMMAND=$HOME/bin/gitproxy
cd ~/poky/
source ./oe-init-build-env build
source ../bitbake/bin/toaster $1 noweb
[ "$1" == 'start' ] && /bin/bash
13、启动服务
service runbuilds start
14、由于该服务在独立屏幕会话中运行,因此可以使用以下命令将其附加到该服务
$ sudo su - toaster
$ screen -rS runbuilds
15、现在,您可以打开浏览器并开始使用Toaster。
10、 使用Toaster Web界面,有如下功能
1、浏览OpenEmbedded层索引 中的已发布层,这些 层可用于所选版本的构建系统。 2、导入自己的图层以进行构建。 3、从配置中添加和删除图层。 4、设置配置变量。 5、选择一个或多个要构建的目标。 6、开始构建。 7、查看生成的内容(配方和软件包)以及最终映像中安装了哪些软件包。 8、浏览图像的目录结构。 9、查看构建配置中所有变量的值,以及哪个文件设置每个值。 10、检查错误,警告和跟踪消息以帮助调试。 11、查看有关在构建期间执行和重用的BitBake任务的信息,包括那些使用共享状态的任务。 12、查看配方,程序包和任务之间的依赖关系。 13、查看性能信息,例如构建时间,任务时间,CPU使用率和磁盘I / O。
11、创建Toaster工程,单击create your first Toaster project 选项
2、创建工程名my_project1,选择版本
当您选择“ Local Yocto Project”发行版时,Toaster将使用您计算机中的本地Yocto Project克隆来运行构建;
如果您选择任何其他发行版选项,则 每次运行构建时,Toaster都会从上游Yocto Project存储库中获取所选发行版的技巧 。有效地获取此技巧意味着,如果您选择的发行版在上游 进行了更新,则用于构建的Git修订版将发生变化。如果您在本地进行开发,则可能不希望发生此更改。在这种情况下,“本地Yocto项目”版本可能是正确的选择。
但是,“本地Yocto项目”版本将不会为您提供任何兼容的层,但Yocto项目随附的三个核心层除外:
openembedded-core meta-poky meta-yocto-bsp

3、创建后的工程,如图

4、如果要构建其他任何层,则需要使用“导入层”页面将其手动导入到Toaster项目中。
添加一个meta-ti层


5、点击构建,出现失败

9、提示无法启动bitbake程序,在ubuntu命令行启动试试

10、安装提示工具包
sudo apt-get install chrpath sudo apt-get install gawk 下面这个makeinfo包找不到了 sudo apt-get install makeinfo 换成texinfo sudo apt-get install texinfo
11、编译出现错误

12、查看错误报告

13、提示需要安装软件包libc6:i386
sudo apt-get install libc6:i386
浙公网安备 33010602011771号