mirror of
https://github.com/rosalinux/image-builder.git
synced 2025-02-22 18:02:47 +00:00
massive cleanup
This commit is contained in:
parent
32567efd1f
commit
058da5e9ce
5 changed files with 80 additions and 38 deletions
61
README.md
Normal file
61
README.md
Normal file
|
@ -0,0 +1,61 @@
|
|||
# Image Builder
|
||||
|
||||
**Image Builder** — это инструмент для создания индивидуальных системных образов, готовых к развертыванию, таких как установочные диски, виртуальные машины и образы для облачных платформ. Этот репозиторий содержит скрипты и конфигурации, необходимые для создания таких образов на основе RosaLinux.
|
||||
|
||||
## Возможности
|
||||
|
||||
- **Создание установочных образов**: Подготовка RAW-образов для установки системы на физические или виртуальные машины.
|
||||
- **Создание облачных образов**: Генерация образов, оптимизированных для развёртывания в различных облачных средах.
|
||||
- **Кастомизация пакетов**: Выбор и настройка пакетов, включаемых в создаваемый образ.
|
||||
|
||||
## Требования
|
||||
|
||||
- **Операционная система**: rosa13 fresh или совместимая с ней дистрибуция.
|
||||
- **Зависимости**: Убедитесь, что следующие пакеты установлены в системе:
|
||||
- `binutils-aarch64-linux-gnu`
|
||||
- `gcc-aarch64-linux-gnu`
|
||||
- `mkosi`
|
||||
- `qemu-aarch64-static`
|
||||
- `qemu-loongarch64-static`
|
||||
- `qemu-riscv64-static`
|
||||
- `uboot-tools`
|
||||
|
||||
## Установка
|
||||
|
||||
1. **Клонирование репозитория**:
|
||||
```bash
|
||||
git clone https://github.com/rosalinux/image-builder.git
|
||||
cd image-builder
|
||||
```
|
||||
|
||||
2. **Установка зависимостей**:
|
||||
```bash
|
||||
sudo dnf update
|
||||
sudo dnf install mkosi qemu-aarch64-static uboot-tools gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
|
||||
```
|
||||
|
||||
## Использование
|
||||
|
||||
2. **Создание образа**:
|
||||
Запустите процесс сборки с указанием вашего конфигурационного файла:
|
||||
```bash
|
||||
cd image-builder/device/generic/
|
||||
mkosi --force
|
||||
```
|
||||
По завершении сборки, готовый образ будет доступен в текущей директории.
|
||||
|
||||
3. **Создание образа и запуск**:
|
||||
Запустите процесс сборки с указанием вашего конфигурационного файла:
|
||||
```bash
|
||||
cd image-builder/device/generic/
|
||||
mkosi --force vm
|
||||
```
|
||||
По завершении сборки, будет запущена виртуальная машина.
|
||||
|
||||
## Поддержка
|
||||
|
||||
Если у вас возникли вопросы или проблемы, пожалуйста, создайте [issue](https://github.com/rosalinux/image-builder/issues) в этом репозитории.
|
||||
|
||||
## Лицензия
|
||||
|
||||
Этот проект распространяется под лицензией MIT.
|
|
@ -43,6 +43,7 @@ Packages=
|
|||
camera_engine_rkaiq
|
||||
|
||||
Bootable=no
|
||||
Bootloader=none
|
||||
Autologin=yes
|
||||
RootPassword=root
|
||||
RootShell=/usr/bin/bash
|
||||
|
|
|
@ -5,12 +5,11 @@ set -Eeuo pipefail
|
|||
|
||||
version=$(rpm -q --queryformat '%{version}\n' kernel-6.1-orangepi)
|
||||
printf "Generate /boot/uInitrd-${version}...\n"
|
||||
# mkimage -A arm64 -O linux -T ramdisk -C gzip -n uInitrd -d /boot/initrd-%{version}.img /boot/uInitrd
|
||||
mkimage -A arm64 -O linux -T ramdisk -C gzip -d /boot/initrd-${version}.img /boot/uInitrd-${version}
|
||||
dracut --force --regenerate-all
|
||||
mkimage -A arm64 -O linux -T ramdisk -C none -n uInitrd -d /boot/initramfs-${version}.img /boot/uInitrd-${version}
|
||||
|
||||
printf "Remove dracut-generated initrd...\n"
|
||||
rm -fv /boot/initrd-${version}.img
|
||||
rm -fv /boot/uInitrd
|
||||
rm -fv /boot/initramfs-${version}.img
|
||||
|
||||
# generate boot.scr
|
||||
# see mkosi.extra/boot/boot.cmd
|
||||
|
|
|
@ -1,31 +1,12 @@
|
|||
#!/bin/sh
|
||||
#set -x
|
||||
#env
|
||||
## SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
#UBOOT_DIR="${SRCDIR}/mkosi"
|
||||
#
|
||||
#IMAGE="${OUTPUTDIR}/orangepi5.img"
|
||||
#IMAGE_SIZE=$(du -sb "${OUTPUTDIR}/image" | cut -f1)
|
||||
#IMAGE_SIZE=$((IMAGE_SIZE + 15 * 1024 * 1024))
|
||||
#
|
||||
#dd if=/dev/zero of="${IMAGE}" bs=1M count=0 seek=$((IMAGE_SIZE / 1024 / 1024))
|
||||
#
|
||||
#LOOP_DEV=$(losetup --find --show "${IMAGE}")
|
||||
#
|
||||
#sgdisk --zap-all "${LOOP_DEV}"
|
||||
#sgdisk --new=1:15M:+256M --typecode=1:8300 "${LOOP_DEV}"
|
||||
#sgdisk --new=2:0:0 --typecode=2:8300 "${LOOP_DEV}"
|
||||
#
|
||||
#partprobe "${LOOP_DEV}"
|
||||
#
|
||||
#printf "Disk created!\n"
|
||||
#
|
||||
#pushd ${OUTPUTDIR}
|
||||
#ls -la
|
||||
#printf "write bootloader to the image...\n"
|
||||
#dd if=${UBOOT_DIR}/idbloader.img of=${IMAGE} seek=64 conv=notrunc
|
||||
#dd if=${UBOOT_DIR}/u-boot.itb of=${IMAGE} seek=16384 conv=notrunc
|
||||
#popd
|
||||
#echo "nameserver 8.8.8.8" > /etc/resolv.conf
|
||||
#dnf in -y camera_engine_rkaiq
|
||||
#systemctl enable rkaiq_3A.service
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
set -Eeuo pipefail
|
||||
|
||||
UBOOT_DIR="${SRCDIR}/mkosi"
|
||||
IMAGE="${OUTPUTDIR}/image.raw"
|
||||
|
||||
pushd ${OUTPUTDIR}
|
||||
printf "write bootloader to the image...\n"
|
||||
dd if=${UBOOT_DIR}/idbloader.img of=${IMAGE} seek=64 conv=notrunc
|
||||
dd if=${UBOOT_DIR}/u-boot.itb of=${IMAGE} seek=16384 conv=notrunc
|
||||
popd
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[Partition]
|
||||
Type=esp
|
||||
Format=vfat
|
||||
SizeMinBytes=15M
|
||||
SizeMaxBytes=15M
|
||||
Type=21686148-6449-6e6f-744e-656564454649
|
||||
#Format=vfat
|
||||
SizeMinBytes=16M
|
||||
SizeMaxBytes=16M
|
||||
|
|
Loading…
Add table
Reference in a new issue