参考:

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

Buildroot ipa image的更多相关文章

  1. ios打包ipa的四种实用方法(.app转.ipa)

    总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选 ...

  2. 如何安装ipa文件

    ipa文件就相当于安卓手机的apkWindows的exe,就是一个程序,只不过ipa是苹果手机的安装包而已,一般苹果的应用程序都是从AppStore下载的,ipa一般用于测试App才会这样安装程序. ...

  3. iOS 导出 ipa 包时 四个选项的意义

    iOS 导出 ipa 包时 四个选项的意义 如图  在 iOS 到处 ipa包的时候 会有四个选项 1.Save for iOS App Store Deployment 保存到本地 准备上传App ...

  4. 了解 xcodebuild 命令 ,自动打包ipa

    引用博客:http://blog.nswebfrog.com/2015/10/31/xcodebuild/ 在 iOS 开发中,如果需要把工程打包成 ipa 文件,通常的做法就是在 Xcode 里点击 ...

  5. xcodebuild编译ipa

    #!/bin/sh # autoBuild.sh # CTest # # Created by Ethan on 14-11-3. # Copyright (c) 2014年 Ethan. All r ...

  6. xcodebuild命令行打包发布ipa

    配置好证书,然后在命令行转到项目目录 1.清除 EthantekiiMac:CTest ethan$ xcodebuild clean 2.编译 EthantekiiMac:CTest ethan$ ...

  7. 减小ipa体积之删除frameWork中无用mach-O文件

    最近项目末期, 我们团队为了ipa的大小使用不少的体积减小的方法, 除了一些常规的方法之外, 我分享一下自己研究出来的新思路. 首先我们来简单的介绍一下mach-O. 什么是mach-O? Mach- ...

  8. ipa如何通过网络进行安装

    苹果手机端应用,如果发布的到Appstore上,往往比较复杂,周期也比较长,Over-the-Air是Apple在 iOS4 中新加的一项技术,目的是让开发者能够脱离Appstore,实现从自己的服务 ...

  9. xcode8打包ipa文件, application loader上传成功,但是iTunes Connect不显示构建版本

    最近更新的Xcode8.今天提交新项目时.按照以往的流程走 Xcode 编译ipa文件.applicaiton loader提交成功 但是.iTunes connect构建版本不显示.非常疑惑.平时等 ...

随机推荐

  1. A. Kyoya and Colored Balls_排列组合,组合数

    Codeforces Round #309 (Div. 1) A. Kyoya and Colored Balls time limit per test 2 seconds memory limit ...

  2. C#自制png转ico图标工具

    此项目基于.net framework 4.0 只需把图片拖拽到窗口内,自动转换生成ico图标,在png文件同级目录下. /// /// 实现代码: 转换Image为Icon /// ///要转换为图 ...

  3. 在matlab中查看变量的数据类型

    >> x = x = >> class(x) ans = double

  4. openstack cinder api对应的命令行接口

    a) Create Volume         cinder create 1 --display-name admin-volume1     cinder create --display-na ...

  5. 微信 php 获取token 第二次失败解决办法

    第一次成功了,第二次总是失败,很简单,session问题 clearstatcache(); $_SESSION = ''; $_COOKIE = ''; //获得参数 signature nonce ...

  6. python基础数据类型之列表,元组操作

    一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...

  7. Centos下使用Docker部署MySql

    本文讲述 CentOS 系统 Docker 中安装 MySql 的过程 步骤 1. 拉取 Docker Hub 官方提供的mysql镜像 docker pull mysql:5.7 2.运行容器 do ...

  8. tcl之string操作-length/index/range/replace

  9. fastadmin 后台管理框架使用技巧(持续更新中)

    fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...

  10. python错误处理之try...except...finally...错误处理机制。

    今天学习了python的错误处理. 在程序处理的过程中,经常会出现错误,一旦出错就会非常麻烦.所以有的高级语言通常都内置了一套  try...exept...finaly...的错误处理机制,pyth ...