Email: BuddyZhang1 buddy.zhang@aliyun.com

目录


autoconf 简介

GNU autoconf 是一个用于生成 shell 脚本的工具,可以自动配置软件源代 码以适应多种类似 POSIX 的系统。为了让你的软件包在所有的不同系统上都可 以进行编译。目前 BiscuitOS 已经支持 GNU autoconf 的移植和实践。开发者 可用通过下面的章节进行 GNU autoconf 的使用。


实践准备


硬件准备

BiscuitOS 对 autoconf 的实践分别提供了纯软件实践平台和硬件实践 平台,如果开发者需要在硬件平台上实践,那么需要准备本节提到的内容。


硬件平台

开发者需要准备一块 RaspberryPi 4B 开发板,并配有 SD 卡,SD 读卡器, TTL 转 USB 串口一个。


逻辑分析仪

逻辑分析仪能够帮助开发者快速分析数据,测试硬件信号功能,稳定性, 大量数据采样等。逻辑分析仪不是必须的,这里推荐使用 DreamSourceLab 开发的 DSLogic:

DSLogic 逻辑分析仪数据工具:


示波器

示波器能够帮助开发者对硬件总线进行最透彻的分析,示波器测量 的数据具有可靠性高,精度高的特定,是分析 I2C 问题不可或缺的 工具。示波器建议准备,这里推荐使用 DreamSourceLab 开发的 DsCope:

DSCope 示波器采用样图:


软件准备

在进行 autoconf 开发之前,开发者应该准备 BiscuitOS 的开发 环境,开发者应该根据不同的需求进行准备,如下:


autoconf 部署

autoconf 可以在 BiscuitOS 上实践,也可以在实际的工程实践 中使用,开发者可以参考下面的目录进行使用:


BiscuitOS 部署

BiscuitOS 以及完整支持 autoconf,并基于 Kbuild 编译系统,制作了一套 便捷的 autoconf 开发环境,开发者可以参考如下步骤进行快速开发。


autoconf 源码获取

开发者在准备好了 BiscuitOS 开发环境之后,只需按照下面步骤就可以 便捷获得 autoconf 开发所需的源码及环境, 以 RaspberryPi 4B 硬件 开发环境为例,其他 Linux 版本类似,开发者自行进行修改:

cd BiscuitOS
make RaspberryPi_4B_defconfig
make menuconfig

选择 “Package —>” 并进入下一级菜单

设置 “autoconf —>” 为 “Y”。设置完毕之后, 保存并退出.


autoconf 源码编译

autoconf 的编译很简单,只需执行如下命令就可以快速编 译 (以 RaspberryPi 4B 为例):

cd BiscuitOS/
make
cd BiscuitOS/output/RaspberryPi_4B/package/autoconf-x.x.x/
make prepare
make download
make
make install
make pack

autoconf 应用安装

开发者由于采用了 QEMU 方案或者硬件 RaspberryPi 方案进行实践, 应用更新采用不同的方式,两种方案的更新方式如下:

开发者如果使用 QEMU 方案,那么只需执行如下命令就能 进行软件更新:

cd BiscuitOS/
cd BiscuitOS/output/RaspberryPi_4B/package/autoconf-x.x.x/
make install
make pack

通过上面的命令就可以将软件更新到系统了,接下来就是运行 BiscuitOS.

开发者如果使用是硬件 RaspberryPi 方案,更新的方式多种方式, 可以参考下面方式:


工程实践部署

开发者也可以将 autoconf 部署到实际的工程项目中,开发者 可以根据 BiscuitOS 中部署的方法加入到工程实践中,请参考 如下章节:

接着使用如下命令 (以 RaspberryPi 4B 为例):

cd BiscuitOS/
cd BiscuitOS/output/RaspberryPi_4B/package/autoconf-x.x.x/
make download

在该目录下,README 和 Makefile 文档介绍了 autoconf 的 使用方法,以及 Makefile 编译方法,开发者可以参考以上内容 进行工程部署。


autoconf 使用

安装完毕之后,启动 BiscuitOS,如下图:


autoconf 测试

等待更新


autoconf 进阶研究

等待更新


附录

BiscuitOS Home

BiscuitOS Catalogue

BiscuitOS Kernel Build

Linux Kernel

Bootlin: Elixir Cross Referencer

捐赠一下吧 🙂

MMU