Compare commits

13 Commits
Author SHA1 Message Date
SalimTerryLi 7c9350ef99 distro/oE2403SP4: ebs variant built from EBS repo
NOT FOR USE

Serves oE pre-releasing imaghe creation.
2026-08-31 13:42:03 +08:00
SalimTerryLi 566854ed69 distro: add oE2403SP4 2026-08-31 13:42:01 +08:00
SalimTerryLi 15ca363c87 distro/oR/Unstable20: Add A210 BSP
- Inherits 90-growdisk from Creek/ORK/packages.d
2026-08-31 13:40:26 +08:00
SalimTerryLi d7ffd515d4 distro/oR/Unstable20: Add K1 BSP
- Inherits 90-growdisk from Creek/ORK/packages.d
2026-08-31 13:40:26 +08:00
SalimTerryLi 6a482b1a6b distros: Added openRuyi Unstable for MYCTO port
- Inherits package list (packages.d/50-base) from Creek
- Inherits post.d from Creek
- Inherits 90-growdisk from Creek/ORK/packages.d
2026-08-31 13:40:26 +08:00
SalimTerryLi b977a71b53 distro/oR/Unstable20: Reuse BSP/ORK from Creek 2026-08-31 13:40:26 +08:00
SalimTerryLi 3692932ee0 distros: Added openRuyi Unstable-RVA20
- Inherits package list (packages.d/50-base) from Creek
- Inherits post.d from Creek
2026-08-31 13:40:26 +08:00
SalimTerryLi 72813a044b distros: Added openRuyi Unstable
- Inherits BSP from Creek
- Inherits package list (packages.d/50-base) from Creek
- Inherits post.d from Creek
2026-08-31 13:40:26 +08:00
SalimTerryLi 18fdd4da73 distro/oR/Creek: Add Spacemit K3 BSP
- Inherits 90-growdisk from Creek/bsp/ORK/packages.d
2026-08-31 13:40:26 +08:00
SalimTerryLi ca0ae5541e distro/oR/Creek: Add openRuyi Kernel BSP 4kn variant 2026-08-31 13:40:26 +08:00
SalimTerryLi d59d6f9fcb distro/oR/Creek: Add openRuyi Kernel BSP 2026-08-31 13:40:26 +08:00
SalimTerryLi 18b69f0f5d distros: Added openRuyi Creek 2026-08-31 13:40:26 +08:00
SalimTerryLi 50afe98a2f Update docs 2026-08-31 13:40:26 +08:00
140 changed files with 971 additions and 16 deletions
-5
View File
@@ -45,21 +45,16 @@ RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debi
RUN apt-get update && apt-get install -y \
attr \
bsdextrautils \
bzip2 \
coreutils \
dosfstools \
e2fsprogs \
fdisk \
findutils \
gdisk \
gzip \
libsqlite3-0 \
mtools \
rsync \
tar \
util-linux \
uuid-runtime \
xz-utils \
zstd \
zlib1g \
policycoreutils \
+83 -11
View File
@@ -34,11 +34,79 @@ It can be interrupted at any time, without harming your host OS.
## Prerequirements
- Root-mode docker with `--priviledged` option available
- May not be necessary in the future
- rsync
- GNU Makefile
- ~~And other basic shell utils~~
- GNU Make 4 or newer
- `rsync`, `curl`, and `unzip` for staging recipes and downloading blobs
- RISC-V user-mode emulation and binfmt registration: `qemu-riscv64-static`
and `binfmt`; registration is a one-time system setup step
- Docker or Podman; rootless operation is supported
### Dependencies
The Makefile uses these host commands before a build script runs:
| Command | Debian package | Fedora package | Used for |
| --- | --- | --- | --- |
| `make` | `make` | `make` | Makefile target management |
| `rsync` | `rsync` | `rsync` | Recipe staging |
| `curl` | `curl` | `curl` | Remote blob downloads |
| `unzip` | `unzip` | `unzip` | Extracting blob archives |
| `qemu-riscv64-static` | `qemu-user-static` | `qemu-user-static` | Running RISC-V binaries on the build host |
| `binfmt` registration | `binfmt-support` | `systemd` (`systemd-binfmt`) | Dispatching RISC-V binaries to QEMU |
The build scripts and the recipe post-processing scripts use the following
commands. The package names are the packages to install on the build host;
some commands are also supplied by the default base image in Docker.
| Command or tool | Debian package | Fedora package | Used for |
| --- | --- | --- | --- |
| `setfattr` | `attr` | `attr` | Removing the SELinux attribute from `/boot` |
| `bash` | `bash` | `bash` | Running recipe scripts |
| `column` | `bsdextrautils` | `util-linux` | Formatting generated `fstab` |
| `coreutils` (`basename`, `cat`, `chmod`, `cp`, `cut`, `dd`, `du`, `head`, `ln`, `mkdir`, `mktemp`, `mv`, `readlink`, `rm`, `sha256sum`, `sort`, `stat`, `tee`, `tr`, `truncate`) | `coreutils` | `coreutils` | File, stream, and image operations |
| `dosfstools` (`mkfs.vfat`) | `dosfstools` | `dosfstools` | Creating VFAT filesystems |
| `e2fsprogs` (`mkfs.ext4`, `tune2fs`, `e2fsck`, `resize2fs`) | `e2fsprogs` | `e2fsprogs` | Creating and shrinking ext4 filesystems |
| `find` | `findutils` | `findutils` | Finding and copying filesystem contents |
| `grep` | `grep` | `grep` | Validation and command detection |
| `hexdump` | `bsdextrautils` | `util-linux` | Generating VFAT UUIDs |
| `mcopy`, `mlabel` | `mtools` | `mtools` | Writing and labeling VFAT images |
| `blockdev`, `mount`, `umount`, `rev`, `seq`, `uuidgen` | `fdisk`, `util-linux`, `uuid-runtime` | `util-linux` | Mounting, partitioning, iteration, and UUIDs |
| `policycoreutils` (`setfiles`) | `policycoreutils` | `policycoreutils` | Applying SELinux labels |
| `rpm`/`dnf` (`yum`) | `rpm`, `dnf` | `rpm`, `dnf` | Installing packages into the rootfs |
| `sed` | `sed` | `sed` | Parsing configuration and command output |
| `tar` | `tar` | `tar` | Rootfs archive creation and extraction |
| `zstd` | `zstd` | `zstd` | Rootfs compression |
| `pseudo`, `pseudodb`, `pseudolog` | Build from source | Build from source | Rootfs ownership and metadata emulation |
| `img2simg` | Build from source | Build from source | Optional sparse-image post-processing |
For CI environments that invoke the scripts directly, install the dependencies
with Debian:
```shell
sudo apt-get update
sudo apt-get install --no-install-recommends \
attr bash bsdextrautils coreutils curl dosfstools e2fsprogs fdisk findutils \
grep make mtools policycoreutils qemu-user-static binfmt-support rsync rpm \
sed tar unzip util-linux uuid-runtime zstd
sudo update-binfmts --enable qemu-riscv64
```
The corresponding Fedora setup is:
```shell
sudo dnf install \
attr bash coreutils curl dosfstools e2fsprogs findutils grep make mtools \
policycoreutils qemu-user-static rsync rpm sed tar unzip util-linux zstd
sudo systemctl enable --now systemd-binfmt
```
`pseudo` and `img2simg` are built in the Dockerfile and are not standard
runtime packages on Debian or Fedora. They must also be available in `PATH`
when scripts are invoked directly.
The current Dockerfile does not need `bzip2`, `gzip`, `xz-utils`, `gdisk`, or
`rsync`: the scripts use Zstandard only, partitioning is done by `sfdisk`, and
recipe staging, downloading, and extraction happen on the host. `zlib1g`
remains required by the custom `img2simg` binary.
## Usage
@@ -52,7 +120,7 @@ Firstly, let it build a container image for later use:
make container
```
It will be tagged and managed by docker.
It will be tagged and managed by the configured container runtime.
Listing all available targets:
@@ -78,16 +146,20 @@ Build all available BSP targets, parallelly:
make -j$(nproc) all_bsp
```
To invoke `build_rootfs.sh` and `build_bsp.sh` directly on the host instead of
through a container, clear `CONTAINER_CMD`:
For CI jobs that invoke `build_rootfs.sh` and `build_bsp.sh` directly instead
of through a container, clear `CONTAINER_CMD`:
```shell
make CONTAINER_CMD= openEuler-24.03-LTS-SP4-RVA23-base-OLK-generic
```
Direct execution requires the tools used by the scripts, including `pseudo`,
`yum` or `dnf`, filesystem utilities, and sufficient privileges for mounting
filesystems. `make container` still builds the Docker image.
Normal builds use the configured container runtime. Set `CONTAINER_CMD=podman`
to use Podman instead of Docker:
```shell
make CONTAINER_CMD=podman container
make CONTAINER_CMD=podman openEuler-24.03-LTS-SP4-RVA23-base-OLK-generic
```
> BSP target will be rebuilt each time even if no configuration is changed
@@ -0,0 +1,3 @@
DEVICE_NAME := OLK
$(foreach profile_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)*)),$(eval $(call add_device_profile,$(profile_dir))))
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
rm "${ROOTFS_DIR}/etc/yum.repos.d/bootstrap.repo"
mv "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo.disabled" "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo"
@@ -0,0 +1,24 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=vfat
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1,2 @@
dracut
linux-firmware
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | column -t | tee "${ROOTFS_DIR}/etc/fstab"
UUID=$($get_fs_uuid_by_mountpoint /) / ext4 errors=remount-ro 0 1
UUID=$($get_fs_uuid_by_mountpoint /boot) /boot vfat defaults 0 2
EOF
@@ -0,0 +1,8 @@
#!/usr/bin/env sh
mkdir -p "${ROOTFS_DIR}/etc/systemd/system"
cp "oerv-firstboot.service" "${ROOTFS_DIR}/etc/systemd/system/oerv-firstboot.service"
cp "oerv-firstboot.sh" "${ROOTFS_DIR}/usr/sbin/oerv-firstboot.sh"
chmod +x "${ROOTFS_DIR}/usr/sbin/oerv-firstboot.sh"
mkdir -p "${ROOTFS_DIR}/etc/systemd/system/multi-user.target.wants"
ln -s "/etc/systemd/system/oerv-firstboot.service" "${ROOTFS_DIR}/etc/systemd/system/multi-user.target.wants/oerv-firstboot.service"
@@ -0,0 +1,13 @@
[Unit]
Before=systemd-user-sessions.service
ConditionPathExists=/etc/systemd/system/multi-user.target.wants/oerv-firstboot.service
Requires=-.mount
[Service]
Type=oneshot
ExecStart=/usr/sbin/oerv-firstboot.sh
ExecStartPost=/usr/bin/rm /etc/systemd/system/multi-user.target.wants/oerv-firstboot.service
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,11 @@
#!/usr/bin/env sh
echo "$0: Expanding root partition..."
ROOT_PART="$(findmnt -no SOURCE /)"
ROOT_PARTNUM="$(lsblk -pr -no partn "${ROOT_PART}")"
ROOT_DISK="$(lsblk -p -no pkname "${ROOT_PART}")"
sgdisk -e "${ROOT_DISK}"
echo "Yes" | parted ---pretend-input-tty "${ROOT_DISK}" resizepart "${ROOT_PARTNUM}" 100%
partprobe
resize2fs "${ROOT_PART}"
echo "$0: Done."
@@ -0,0 +1,2 @@
kernel
kernel-headers
@@ -0,0 +1,24 @@
#!/usr/bin/env sh
. "${ROOTFS_DIR}/etc/os-release"
KERNEL_FILE="$(find ${ROOTFS_DIR}/boot -name "vmlinuz*" -exec basename {} \; | head -n 1)"
INITRD_FILE="$(find ${ROOTFS_DIR}/boot -name "initramfs*" -exec basename {} \; | head -n 1)"
DTB_DIR="$(find ${ROOTFS_DIR}/boot -name "dtb-*" -exec basename {} \; | head -n 1)"
mkdir "${ROOTFS_DIR}/boot/extlinux"
cat << EOF | tee "${ROOTFS_DIR}/boot/extlinux/extlinux.conf"
default l0
menu title U-Boot menu
prompt 2
timeout 50
label l0
menu label ${PRETTY_NAME} - ${KERNEL_FILE#vmlinuz-}
linux /${KERNEL_FILE}
initrd /${INITRD_FILE}
fdtdir /${DTB_DIR}/
append root=UUID=$($get_fs_uuid_by_mountpoint /) rootwait rw earlycon=sbi console=ttyS0,115200n8
EOF
@@ -0,0 +1,8 @@
#!/usr/bin/env sh
DTB_DIR="$(find ${ROOTFS_DIR}/boot -name "dtb-*" -exec basename {} \; | head -n 1)"
DTB_DIR="${ROOTFS_DIR}/boot/${DTB_DIR}"
mv "${DTB_DIR}/spacemit/k1-bananapi-f3.dtb" "${DTB_DIR}/spacemit/k1-x_deb1.dtb"
mv "${DTB_DIR}/spacemit/k3-com260.dtb" "${DTB_DIR}/spacemit/k3_com260.dtb"
mv "${DTB_DIR}/spacemit/k3-pico.dtb" "${DTB_DIR}/spacemit/k3_pico.dtb"
@@ -0,0 +1,5 @@
#!/usr/bin/env sh
# Re-labelling all files except /boot which is stored in vfat
pseudo setfiles -r "${ROOTFS_DIR}" -e "${ROOTFS_DIR}/boot" "${ROOTFS_DIR}/etc/selinux/targeted/contexts/files/file_contexts" "${ROOTFS_DIR}"
pseudo setfattr -h -x security.selinux "${ROOTFS_DIR}/boot"
@@ -0,0 +1 @@
PROFILE_NAME := generic
@@ -0,0 +1,4 @@
RELEASE_NAME := 24.03-LTS-SP4-RVA23
$(foreach receipe_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)userspace/*)),$(eval $(call add_receipe,$(receipe_dir))))
$(foreach device_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)bsp/*)),$(eval $(call add_device,$(device_dir))))
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
rm "${ROOTFS_DIR}/etc/yum.repos.d/bootstrap.repo"
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
sed -i 's/metalink=/# metalink=/g' "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo"
sed -i 's/repo.openeuler.org/mirror.iscas.ac.cn\/openeuler/g' "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo"
@@ -0,0 +1,119 @@
NetworkManager
NetworkManager-wifi
acl
at
attr
audit
authselect
basesystem
bash
bash-completion
bc
bpftool
bzip2
chrony
cifs-utils
coreutils
cpio
cronie
crontabs
cryptsetup
curl
dbus
dnf
dnf-plugins-core
dos2unix
dosfstools
e2fsprogs
ed
ethtool
file
filesystem
firewalld
glibc
gnupg2
grubby
hostname
ima-evm-utils
initscripts
iproute
iprutils
iptstate
iputils
irqbalance
kbd
less
libstoragemgmt
libteam
logrotate
lshw
lsof
lsscsi
lvm2
mailcap
man-db
man-pages
mdadm
mlocate
mtr
nano
ncurses
net-tools
nfs-utils
nmap
openEuler-latest-release
openEuler-release
openssh
openssh-clients
openssh-server
parted
passwd
pciutils
pinfo
plymouth
policycoreutils
procps-ng
psacct
quota
rdma-core
realmd
rng-tools
rootfiles
rpm
rsync
rsyslog
rsyslog-relp
security-tool
selinux-policy-mls
selinux-policy-targeted
setup
sg3_utils
shadow
smartmontools
strace
sudo
symlinks
sysfsutils
systemd
systemd-udev
tar
tcpdump
time
traceroute
tree
tuned
unzip
usbutils
util-linux
util-linux-user
vim-enhanced
vim-minimal
virt-what
wget
which
words
xfsdump
xfsprogs
yum
zip
zsh
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | chroot "${ROOTFS_DIR}" passwd root
openEuler12#$
openEuler12#$
EOF
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
echo openeuler-riscv64 >> "${ROOTFS_DIR}/etc/hostname"
echo "127.0.0.1 openeuler-riscv64" >> "${ROOTFS_DIR}/etc/hosts"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
cat "${ROOTFS_DIR}/usr/share/zoneinfo/Asia/Shanghai" > "${ROOTFS_DIR}/etc/localtime"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
touch "${ROOTFS_DIR}/etc/fstab"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
pseudo setfiles -r "${ROOTFS_DIR}" "${ROOTFS_DIR}/etc/selinux/targeted/contexts/files/file_contexts" "${ROOTFS_DIR}"
@@ -0,0 +1,2 @@
RECEIPE_NAME := base
COMPRESSION := zstd
@@ -0,0 +1,8 @@
[everything]
name=everything
baseurl=https://repo.openeuler.org/openEuler-24.03-LTS-SP4/everything/riscv64/rva23/$basearch/
metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything/riscv64/rva23&arch=$basearch
metadata_expire=1h
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-24.03-LTS-SP4/everything/riscv64/rva23/$basearch/RPM-GPG-KEY-openEuler
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
true
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
mv "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo" "${ROOTFS_DIR}/etc/yum.repos.d/openEuler.repo.disabled"
@@ -0,0 +1,3 @@
RECEIPE_NAME := ebs
COMPRESSION := zstd
EXTENDS := base
@@ -0,0 +1,5 @@
[everything]
name=everything
baseurl=https://repo.tarsier-infra.isrc.ac.cn/openEuler-RISC-V/ebs/24.03SP4-RVA23/ebs-upstream-everything/riscv64/
enabled=1
gpgcheck=0
@@ -0,0 +1,25 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
DISK_SECTOR_SIZE=4096
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=vfat
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
+1
View File
@@ -0,0 +1 @@
../generic/packages.d
@@ -0,0 +1 @@
PROFILE_NAME := 4kn
@@ -0,0 +1,3 @@
DEVICE_NAME := ORK
$(foreach profile_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)*)),$(eval $(call add_device_profile,$(profile_dir))))
@@ -0,0 +1,24 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=vfat
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1,3 @@
dracut
u-boot-menu-ng
kernel-install-u-boot-menu-ng
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | column -t | tee "${ROOTFS_DIR}/etc/fstab"
UUID=$($get_fs_uuid_by_mountpoint /) / ext4 errors=remount-ro 0 1
UUID=$($get_fs_uuid_by_mountpoint /boot) /boot vfat defaults 0 2
EOF
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
mkdir -p ${ROOTFS_DIR}/etc/kernel
cat << EOF > ${ROOTFS_DIR}/etc/kernel/install.conf
layout=u-boot
EOF
@@ -0,0 +1,11 @@
#!/usr/bin/env sh
cat << EOF | tee "${ROOTFS_DIR}/etc/default/u-boot"
U_BOOT_CONFIG_PATH='/boot/extlinux/extlinux.conf'
U_BOOT_SEARCH_METHOD='bootdir'
U_BOOT_TARGETS='default rescue'
U_BOOT_ENTRY_KERNEL='/vmlinuz-\${KERNEL_VERSION}'
U_BOOT_ENTRY_BOOT_ARGS='root=UUID=$($get_fs_uuid_by_mountpoint /) rootwait rw earlycon'
U_BOOT_ENTRY_INITRD='/initramfs-\${KERNEL_VERSION}.img'
U_BOOT_ENTRY_FDT_DIR='/dtb-\${KERNEL_VERSION}'
EOF
@@ -0,0 +1 @@
systemd-repart
@@ -0,0 +1,15 @@
#!/usr/bin/env sh
mkdir -p "${ROOTFS_DIR}/usr/lib/repart.d"
cat << EOF > "${ROOTFS_DIR}/usr/lib/repart.d/10-grow-root.conf"
[Partition]
Type=root
GrowFileSystem=yes
EOF
# Ensure only touch the disk on the firstboot
mkdir -p "${ROOTFS_DIR}/etc/systemd/system/systemd-repart.service.d"
cat > "${ROOTFS_DIR}/etc/systemd/system/systemd-repart.service.d/override.conf" << 'EOF'
[Unit]
ConditionFirstBoot=yes
EOF
@@ -0,0 +1 @@
PROFILE_NAME := generic
@@ -0,0 +1,25 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
DISK_SECTOR_SIZE=4096
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=vfat
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1 @@
../generic/packages.d
@@ -0,0 +1 @@
PROFILE_NAME := 4kn
+1
View File
@@ -0,0 +1 @@
../generic/repos.d
@@ -0,0 +1,3 @@
DEVICE_NAME := SpacemiT-K3
$(foreach profile_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)*)),$(eval $(call add_device_profile,$(profile_dir))))
@@ -0,0 +1,24 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=vfat
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1,3 @@
dracut
u-boot-menu-ng
kernel-install-u-boot-menu-ng
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | column -t | tee "${ROOTFS_DIR}/etc/fstab"
UUID=$($get_fs_uuid_by_mountpoint /) / ext4 errors=remount-ro 0 1
UUID=$($get_fs_uuid_by_mountpoint /boot) /boot vfat defaults 0 2
EOF
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
mkdir -p ${ROOTFS_DIR}/etc/kernel
cat << EOF > ${ROOTFS_DIR}/etc/kernel/install.conf
layout=u-boot
EOF
@@ -0,0 +1,11 @@
#!/usr/bin/env sh
cat << EOF | tee "${ROOTFS_DIR}/etc/default/u-boot"
U_BOOT_CONFIG_PATH='/boot/extlinux/extlinux.conf'
U_BOOT_SEARCH_METHOD='bootdir'
U_BOOT_TARGETS='default rescue'
U_BOOT_ENTRY_KERNEL='/vmlinuz-\${KERNEL_VERSION}'
U_BOOT_ENTRY_BOOT_ARGS='root=UUID=$($get_fs_uuid_by_mountpoint /) rootwait rw earlycon=sbi console=tty0 console=ttyS0,115200'
U_BOOT_ENTRY_INITRD='/initramfs-\${KERNEL_VERSION}.img'
U_BOOT_ENTRY_FDT_DIR='/dtb-\${KERNEL_VERSION}'
EOF
@@ -0,0 +1 @@
linux-spacemit-k3-vendor-6.18
@@ -0,0 +1 @@
../../../ork/generic/packages.d/90-growdisk
@@ -0,0 +1 @@
PROFILE_NAME := generic
@@ -0,0 +1,6 @@
[bsp_spacemit_k3]
name=K3 BSP
type=rpm-md
baseurl=https://repo.build.openruyi.cn/openruyi:/bsp:/spacemit:/k3/rva23/
enabled=1
gpgcheck=0
+4
View File
@@ -0,0 +1,4 @@
RELEASE_NAME := Creek
$(foreach receipe_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)userspace/*)),$(eval $(call add_receipe,$(receipe_dir))))
$(foreach device_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)bsp/*)),$(eval $(call add_device,$(device_dir))))
@@ -0,0 +1 @@
openruyi-repos
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
rm "${ROOTFS_DIR}/etc/yum.repos.d/bootstrap.repo"
@@ -0,0 +1,11 @@
openruyi-minimal
systemd-udev
systemd
NetworkManager
systemd-timesyncd
systemd-resolved
openssh-server
bash
bash-completion
openruyi-systemd-default-preset
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
systemctl --root="${ROOTFS_DIR}" preset-all
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | chroot "${ROOTFS_DIR}" passwd root
openruyi
openruyi
EOF
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
echo openruyi >> "${ROOTFS_DIR}/etc/hostname"
echo "127.0.0.1 openruyi" >> "${ROOTFS_DIR}/etc/hosts"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
cat "${ROOTFS_DIR}/usr/share/zoneinfo/Asia/Shanghai" > "${ROOTFS_DIR}/etc/localtime"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
touch "${ROOTFS_DIR}/etc/fstab"
@@ -0,0 +1,7 @@
#!/usr/bin/env sh
# https://systemd.io/BUILDING_IMAGES/
rm -f "${ROOTFS_DIR}/etc/machine-id"
rm -f "${ROOTFS_DIR}/var/lib/systemd/random-seed"
rm -f "${ROOTFS_DIR}/var/lib/systemd/credential.secret"
@@ -0,0 +1,2 @@
RECEIPE_NAME := base
COMPRESSION := zstd
@@ -0,0 +1,6 @@
[openruyi]
name=openruyi bootstrap
type=rpm-md
baseurl=https://boat.openruyi.cn/stable/rva23/
enabled=1
gpgcheck=0
+4
View File
@@ -0,0 +1,4 @@
DISTRO_NAME := openRuyi
PACKAGE_MANAGER := yum
$(foreach rel_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)*)),$(eval $(call add_distro_release,$(rel_dir))))
@@ -0,0 +1,24 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=ext4
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | column -t | tee "${ROOTFS_DIR}/etc/fstab"
UUID=$($get_fs_uuid_by_mountpoint /) / ext4 errors=remount-ro 0 1
UUID=$($get_fs_uuid_by_mountpoint /boot) /boot ext4 defaults 0 2
EOF
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
mkdir -p ${ROOTFS_DIR}/etc/kernel
cat << EOF > ${ROOTFS_DIR}/etc/kernel/install.conf
layout=bls
EOF
@@ -0,0 +1 @@
../../../../../creek/bsp/ork/generic/packages.d/90-growdisk
@@ -0,0 +1 @@
PROFILE_NAME := bls
@@ -0,0 +1,6 @@
[ubootmenu]
name=temp
type=rpm-md
baseurl=https://repo.build.openruyi.cn/openruyi:/ports:/mycto:/hack/mycto/
enabled=1
gpgcheck=0
@@ -0,0 +1,3 @@
DEVICE_NAME := MYCTO
$(foreach profile_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)*)),$(eval $(call add_device_profile,$(profile_dir))))
@@ -0,0 +1,24 @@
OUTPUT_FORMAT=partitioned_disk
PARTITION_TABLE_TYPE=GUID
PARTITION_1_OFFSET=1MB
PARTITION_1_SIZE=499M
PARTITION_1_NAME="boot"
PARTITION_1_UUID=
PARTITION_1_TYPE=bls_boot
PARTITION_1_ATTRS=legacy_boot
PARTITION_1_USAGE=MOUNTPOINT
PARTITION_1_MOUNTPOINT="/boot"
PARTITION_1_FS=ext4
PARTITION_1_FS_UUID=
PARTITION_2_OFFSET=
PARTITION_2_SIZE=
PARTITION_2_NAME="root"
PARTITION_2_UUID=
PARTITION_2_TYPE=linux_root_riscv64
PARTITION_2_ATTRS=
PARTITION_2_USAGE=MOUNTPOINT
PARTITION_2_MOUNTPOINT="/"
PARTITION_2_FS=ext4
PARTITION_2_FS_UUID=
@@ -0,0 +1,3 @@
dracut
u-boot-menu-ng
kernel-install-u-boot-menu-ng
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
cat << EOF | column -t | tee "${ROOTFS_DIR}/etc/fstab"
UUID=$($get_fs_uuid_by_mountpoint /) / ext4 errors=remount-ro 0 1
UUID=$($get_fs_uuid_by_mountpoint /boot) /boot ext4 defaults 0 2
EOF
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
mkdir -p ${ROOTFS_DIR}/etc/kernel
cat << EOF > ${ROOTFS_DIR}/etc/kernel/install.conf
layout=u-boot
EOF
@@ -0,0 +1,10 @@
#!/usr/bin/env sh
cat << EOF | tee "${ROOTFS_DIR}/etc/default/u-boot"
U_BOOT_CONFIG_PATH='/boot/extlinux/extlinux.conf'
U_BOOT_SEARCH_METHOD='bootdir'
U_BOOT_TARGETS='default rescue'
U_BOOT_ENTRY_KERNEL='/vmlinuz-\${KERNEL_VERSION}'
U_BOOT_ENTRY_BOOT_ARGS='root=UUID=$($get_fs_uuid_by_mountpoint /) rootwait rw earlycon=sbi'
U_BOOT_ENTRY_INITRD=''
EOF
@@ -0,0 +1 @@
../../../../../creek/bsp/ork/generic/packages.d/90-growdisk
@@ -0,0 +1 @@
PROFILE_NAME := extlinux
@@ -0,0 +1,6 @@
[ubootmenu]
name=temp
type=rpm-md
baseurl=https://repo.build.openruyi.cn/openruyi:/ports:/mycto:/hack/mycto/
enabled=1
gpgcheck=0
@@ -0,0 +1,4 @@
RELEASE_NAME := Unstable-MYCTO
$(foreach receipe_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)userspace/*)),$(eval $(call add_receipe,$(receipe_dir))))
$(foreach device_dir,$(filter-out %.mk,$(wildcard $(CURRENT_DIR)bsp/*)),$(eval $(call add_device,$(device_dir))))
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
rm "${ROOTFS_DIR}/etc/yum.repos.d/bootstrap.repo"
@@ -0,0 +1,3 @@
#!/usr/bin/env sh
sed -i 's#https://repo.build.openruyi.cn/openruyi/rva20/#baseurl=https://repo.build.openruyi.cn/openruyi:/ports:/mycto/mycto/#' "${ROOTFS_DIR}/etc/yum.repos.d/openruyi.repo"
@@ -0,0 +1 @@
../../../../creek/userspace/base/packages.d/50-base
@@ -0,0 +1 @@
../../../creek/userspace/base/post.d
@@ -0,0 +1,2 @@
RECEIPE_NAME := base
COMPRESSION := zstd
@@ -0,0 +1,6 @@
[openruyi]
name=openruyi bootstrap
type=rpm-md
baseurl=https://repo.build.openruyi.cn/openruyi:/ports:/mycto/mycto/
enabled=1
gpgcheck=0
+1
View File
@@ -0,0 +1 @@
../../creek/bsp/ork

Some files were not shown because too many files have changed in this diff Show More