Skip to content

BredOS/mkimage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BredOS Image builder

This project is a Python script that automates the process of creating images for various Arm SBCs (Single Board Computers) using a board configuration file. The script currently supports the following SBCs:

  • VIM 4
  • Rock 5
  • Rock 4C+
  • Orange Pi 5 (using Rock 5 board cfg)
  • R58S (using Rock 5 board cfg)
  • R58X (using Rock 5 board cfg)
  • R58X-4G (using Rock 5 board cfg)

Requirements

To use this project, you will need:

  • Python 3.6 or later installed on your system
  • Git installed on your system
  • Arch install scripts
  • These python libraries argparse, prettytable, signal

Installation

To use this project, clone the repository to your local machine:

git clone https://github.com/RebornOS-Developers/mkimage

Usage

To create an image for your chosen SBC, run the mkimage.py script with the appropriate arguments. The basic usage is:

./mkimage.py -w /tmp/work -o ./output -c <board-cfg>

Where:

  • -w: the working directory to use
  • -o: the output directory for the resulting image
  • -c: the board configuration file to use

WARNING: If your system has less than 16 GB of RAM, it is recommended to use a different directory for the working directory, as using /tmp/work can cause performance issues due to the limited space in the /tmp directory.

For example, to create an image for the Rock 5 board, using the lxqt-rock5b-image configuration, with a working directory of /tmp/work and an output directory of ./output, you would run:

./mkimage.py -w /tmp/work -o ./output -c ./lxqt-rock5b-image

Board Configuration Files

Board configuration files contain the settings necessary to build an image for a specific SBC. These files are located in the configs directory of the project.

If you want to create an image for a different SBC, you will need to create a new configuration file for that board. You can use an existing configuration file as a starting point.

  • alarmimg/: the directory containing the basic system files for the image
  • fixperms.sh: a shell script for fixing file permissions on the system files
  • idbloader.img and u-boot.itb: files needed for U-Boot on Rock 5 boards
  • packages.aarch64: a list of packages to be installed on the image
  • pacman.conf.aarch64: the configuration file used to create the image itself
  • profiledef: a file containing basic information about the image, such as the version number, device, architecture, file system type, image name, image type, backend, and cmdline

Some boards like the Rock 4C+ have more files, containing patches, or extra firmware.

Contributing

If you find a bug or have a suggestion for improving this project, feel free to open an issue or submit a pull request. All contributions are welcome!

License

This project is licensed under the GPL 3.0 License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages