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

  

 

  

 

  

  

  

 

  

  

posted on 2020-06-11 22:30  紫枫术河  阅读(829)  评论(0编辑  收藏  举报

导航