massive cleanup

This commit is contained in:
alexander stefanov 2025-02-17 23:23:07 +03:00
parent 32567efd1f
commit 058da5e9ce
5 changed files with 80 additions and 38 deletions

61
README.md Normal file
View 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.

View file

@ -43,6 +43,7 @@ Packages=
camera_engine_rkaiq
Bootable=no
Bootloader=none
Autologin=yes
RootPassword=root
RootShell=/usr/bin/bash

View file

@ -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

View file

@ -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

View file

@ -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