zoukankan      html  css  js  c++  java
  • Buildroot ipa image

    参考:

    https://github.com/csmart/ironic-python-agent/tree/buildroot/imagebuild/buildroot#buildroot-ironic-python-agent

    https://github.com/csmart/ipa-buildroot#openstack-ironic-python-agent

    Ironic是一个OpenStack项目,它提供裸机(而不是虚拟机)。

    一个称为Ironic Python Agent(IPA)的工具用于控制和配置这些物理节点,执行擦除机器和将镜像写入磁盘等任务。这是通过引导自定义的Linux内核和运行IPA并连接到Ironic Conductor的initramfs镜像来完成的。

    Ironic项目通过Disk Image Builder支持几个不同的镜像构建器,包括CoreOS、TinyCore等。

    然而,这些镜像构建器都有限制,例如,它们需要root权限,它们的大小都是几百兆字节(除了TinyCore)。TinyCore的缺点之一是硬件支持有限,虽然它不在生产中使用,但它被用于OpenStack门控测试(在具有大约300MB RAM的虚拟机中启动)。

    大型部署镜像意味着节点的配置时间较长,因此开始创建一个小型、可定制的镜像,以解决其他现有镜像的问题。

    Linux内核是〜2MB

    压缩的initramfs映像是〜25MB

    通过OpenStack Ironic门控测试

    高度可定制

    可以通过menuconfig系统进行定制,类似于Linux内核。

    在Buildroot 默认配置列表中的IPA

    Buildroot将编译内核和initramfs,然后发布构建脚本克隆Ironic Python Agent存储库并为目标创建Python Wheels。

    以下最终镜像将在./output/images下找到:

    bzImage(内核)

    rootfs.cpio.xz(ramdisk)

    rootfs.iso9660(ISO镜像)

    这些文件可以上传到Glance与Ironic一起使用。

    自定义 

    Buildroot允许你自定义构建参数、目标initramfs和Linux内核。这样做也很简单,每次运行make时,它会回到你离开的地方,重新创建你的镜像。

    该构建脚本直接获取Ironic Python Agent,使得构建高度灵活地获取要使用的确切版本。你可以通过在Buildroot的menuconfig中自定义设置来指定Ironic Python Agent和需求存储库的位置和分支。

    meunconfig里可对系统设置,文件系统设置,内核设置,BootLoaders等

    设置密码

    busybox-menuconfig是针对于一些包的添加

    linux-menuconfig是对网络设置,驱动设置,固件设置等进行配置

    注:build需要宿主机有编译环境gcc、gcc+等包的支持

    使用imagebuild脚本自动构建

    这些操作将自动执行以下任务:

    获取Buildroot Git存储库

    加载默认的IPA Buildroot配置

    下载并验证所有源代码

    构建工具链

    使用工具链构建:

    系统库和软件包

    Linux内核

    用于IPA和依赖关系的Python Wheels

    创建内核、initramfs和ISO镜像

    默认配置指向上游IPA Git存储库,但是你可以将其更改为指向任何你喜欢的repo和提交。 例如,如果你正在处理IPA,你可以将Buildroot指向当地的Git repo,然后构建并引导该镜像进行测试。

    存储路径在

    ./ironic-python-agent/imagebuild/buildroot/build/output

  • 相关阅读:
    Server Tomcat v8.0 Server at localhost failed to start.的解决方法
    使用quartz实现定时器功能
    使用SpringMVC自带的@Scheduled完成定时任务
    springMVC中不通过注解方式获取指定Service的javabean
    java set初始化问题
    一个粗糙的分页
    eclipse下maven springMVC 整合 mybatis
    联合分布(二):联合分布
    联合分布(一):什么是概率分布
    mysql:启动服务时遇到的问题
  • 原文地址:https://www.cnblogs.com/gushiren/p/9513208.html
Copyright © 2011-2022 走看看