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