repoinit provides tooling and configuration for packaging software into either RPMs or bootable ISOs, with built-in support for uploading generated artifacts to a https://repo.redborder.com.
It is intended for developers who need a repeatable and configurable way to build and distribute system images or packages.
repo.redborder.comis on deprecation. We normally usepackages.redborder.com.- Developers can access to
rbrepo.redbordersc.lan. rbrepoandrbrepo-develare on deprecation. We can usehttps://github.com/redBorder/redborder-repo, which points topackages.redborder.com.
- Build RPM packages or full ISO images.
- Architecture-aware configuration (x86, ARM, etc.).
- Modular structure for extending and customizing builds.
- Ready-to-use Kickstart and repo configs.
- Automated upload to the web server after build.
*.shscripts → Main entry points for building packages and ISOs.build_common.sh– shared helpers used across other scripts.build_minimal_structure.sh– sets up the minimal directory structure for builds.build_module.sh– builds individual modules/packages.make_isofile.sh– generates a bootable ISO image.
- Config files:
sdk7.cfg– Config file for running mock for a Centos 7sdk9.cfg– Config file for running mock for a Rocky 9.repoinit_project,.sdk7_project– SDK and repo definitions per architecture.ks-base.cfg,isolinux-base.cfg– Kickstart and bootloader configurations for ISOs.rbrepo.cfg,rbrepo.repo– repository definitions.
modules/– source modules available for packaging.projects/IPS/– example project layout.Jenkinsfile– CI/CD integration.splash.png– boot splash for generated ISOs.
- A Red Hat–based operating system (CentOS, RHEL, Rocky Linux, AlmaLinux, etc.) is expected as the build environment.
- Basic development and packaging tools must be installed:
yum install -y epel-release mockgit clone https://github.com/redBorder/repoinit.git
cd repoinitTo build a minimal build structure:
./build_minimal_structure.sh
To build a module/package:To build just one of the directories:
./build_module.sh <module-name>To create an ISO image:
./make_isofile.shTo build a full release (RPMs + ISO), run the appropriate script for your architecture and configuration.
By default, generated packages/ISOs are uploaded to the configured repo.redborder.com.
This project is meant for:
- Developers working on packaging modules and systems.
- Release supervisors responsible for generating and publishing official RPM/ISO releases.
- External contributors
http://www.smorgasbork.com/2014/07/16/building-a-custom-centos-7-kickstart-disc-part-1/ http://kfei.logdown.com/posts/143152-build-your-own-customized-install-disc-from-centos-64 https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-anaconda-boot-options.html#list-boot-options-sources
- Fork the repo
- Create a feature branch (git checkout -b feature/your-feature)
- Commit your changes
- Open a Pull Request