mirror of
https://github.com/rosalinux/image-builder.git
synced 2025-02-23 18:32:51 +00:00
add orangepi5/5b and generic device
This commit is contained in:
parent
05956b4af2
commit
ef0be1aeae
19 changed files with 638 additions and 0 deletions
33
device/generic/mkosi.conf
Normal file
33
device/generic/mkosi.conf
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
[Config]
|
||||||
|
MinimumVersion=24
|
||||||
|
|
||||||
|
[Distribution]
|
||||||
|
Distribution=rosa
|
||||||
|
Release=rosa13
|
||||||
|
Architecture=x86-64
|
||||||
|
|
||||||
|
[Output]
|
||||||
|
Format=disk
|
||||||
|
CompressOutput=
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
Packages=
|
||||||
|
kernel-6.12-generic
|
||||||
|
coreutils
|
||||||
|
systemd
|
||||||
|
systemd-boot
|
||||||
|
|
||||||
|
Bootable=yes
|
||||||
|
Bootloader=systemd-boot
|
||||||
|
#Bootloader=uki
|
||||||
|
|
||||||
|
Autologin=yes
|
||||||
|
RootPassword=root
|
||||||
|
RootShell=/usr/bin/bash
|
||||||
|
Locale=en_US.UTF-8
|
||||||
|
Timezone=Europe/Moscow
|
||||||
|
Hostname=generic
|
||||||
|
WithDocs=no
|
||||||
|
WithRecommends=no
|
||||||
|
# keep rpm db
|
||||||
|
CleanPackageMetadata=false
|
47
device/rockchip/orangepi5/mkosi.conf
Normal file
47
device/rockchip/orangepi5/mkosi.conf
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
[Config]
|
||||||
|
MinimumVersion=24
|
||||||
|
Dependencies=
|
||||||
|
u-boot
|
||||||
|
|
||||||
|
[Distribution]
|
||||||
|
Distribution=rosa
|
||||||
|
Release=rosa13
|
||||||
|
Architecture=arm64
|
||||||
|
|
||||||
|
[Build]
|
||||||
|
WithNetwork=yes
|
||||||
|
BuildSources=./:mkosi
|
||||||
|
./mkosi.images/u-boot/configuration:configuration
|
||||||
|
|
||||||
|
[Output]
|
||||||
|
Format=directory
|
||||||
|
CompressOutput=
|
||||||
|
# nand u-boot does not support
|
||||||
|
# 4k sectors
|
||||||
|
SectorSize=512
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
Packages=
|
||||||
|
coreutils
|
||||||
|
kernel-6.1-orangepi
|
||||||
|
dnf
|
||||||
|
neovim
|
||||||
|
dracut
|
||||||
|
iproute2
|
||||||
|
locales-en
|
||||||
|
openssh-server
|
||||||
|
rosa-repos
|
||||||
|
rosa-repos-contrib
|
||||||
|
systemd
|
||||||
|
uboot-tools
|
||||||
|
|
||||||
|
Bootable=no
|
||||||
|
Autologin=yes
|
||||||
|
RootPassword=root
|
||||||
|
RootShell=/usr/bin/bash
|
||||||
|
Locale=en_US.UTF-8
|
||||||
|
Timezone=Europe/Moscow
|
||||||
|
Hostname=orangepi5
|
||||||
|
WithDocs=no
|
||||||
|
CleanPackageMetadata=false
|
||||||
|
WithRecommends=no
|
75
device/rockchip/orangepi5/mkosi.extra/boot/boot.cmd
Normal file
75
device/rockchip/orangepi5/mkosi.extra/boot/boot.cmd
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# DO NOT EDIT THIS FILE
|
||||||
|
#
|
||||||
|
# Please edit /boot/bootenv.txt to set supported parameters
|
||||||
|
#
|
||||||
|
|
||||||
|
setenv load_addr "0x9000000"
|
||||||
|
setenv overlay_error "false"
|
||||||
|
# default values
|
||||||
|
setenv rootdev "/dev/mmcblk0p1"
|
||||||
|
setenv verbosity "1"
|
||||||
|
setenv console "both"
|
||||||
|
setenv rootfstype "ext4"
|
||||||
|
setenv earlycon "off"
|
||||||
|
|
||||||
|
test -n "${distro_bootpart}" || distro_bootpart=1
|
||||||
|
|
||||||
|
echo "Boot script loaded from ${devtype} ${devnum}:${distro_bootpart}"
|
||||||
|
|
||||||
|
if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}bootenv.txt; then
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}bootenv.txt
|
||||||
|
env import -t ${load_addr} ${filesize}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
|
||||||
|
if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi
|
||||||
|
if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi
|
||||||
|
|
||||||
|
# get PARTUUID of first partition on SD/eMMC the boot script was loaded from
|
||||||
|
if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:${distro_bootpart} partuuid; fi
|
||||||
|
|
||||||
|
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
|
||||||
|
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} ${prefix}${initrd_image}
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}${kernel_image}
|
||||||
|
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${fdtfile}
|
||||||
|
fdt addr ${fdt_addr_r}
|
||||||
|
fdt resize 65536
|
||||||
|
for overlay_file in ${overlays}; do
|
||||||
|
if load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}dtbs/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
|
||||||
|
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
|
||||||
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
||||||
|
elif load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}dtbs/rockchip/overlay/${overlay_file}.dtbo; then
|
||||||
|
echo "Applying kernel provided DT overlay ${overlay_file}.dtbo"
|
||||||
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for overlay_file in ${user_overlays}; do
|
||||||
|
if load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
|
||||||
|
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
|
||||||
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test "${overlay_error}" = "true"; then
|
||||||
|
echo "Error applying DT overlays, restoring original DT"
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}dtbs/${fdtfile}
|
||||||
|
else
|
||||||
|
if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}dtbs/rockchip/overlay/${overlay_prefix}-fixup.scr; then
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}dtbs/rockchip/overlay/${overlay_prefix}-fixup.scr
|
||||||
|
echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
|
||||||
|
source ${load_addr}
|
||||||
|
fi
|
||||||
|
if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}fixup.scr; then
|
||||||
|
load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}fixup.scr
|
||||||
|
echo "Applying user provided fixup script (fixup.scr)"
|
||||||
|
source ${load_addr}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Trying 'kaslrseed' command... Info: 'Unknown command' can be safely ignored since 'kaslrseed' does not apply to all boards."
|
||||||
|
kaslrseed # @TODO: This gives an error (Unknown command ' kaslrseed ' - try 'help') on many devices since CONFIG_CMD_KASLRSEED is not enabled
|
||||||
|
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
||||||
|
|
||||||
|
# Recompile with:
|
||||||
|
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|
9
device/rockchip/orangepi5/mkosi.extra/boot/bootenv.txt
Normal file
9
device/rockchip/orangepi5/mkosi.extra/boot/bootenv.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
verbosity=1
|
||||||
|
console=both
|
||||||
|
extraargs=cma=256M
|
||||||
|
overlay_prefix=rk3588
|
||||||
|
overlays=ov13850-c2
|
||||||
|
fdtfile=dtbs/rockchip/rk3588s-orangepi-5.dtb
|
||||||
|
rootdev=LABEL=rootfs
|
||||||
|
rootfstype=ext4
|
||||||
|
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
|
1
device/rockchip/orangepi5/mkosi.extra/etc/fstab
Normal file
1
device/rockchip/orangepi5/mkosi.extra/etc/fstab
Normal file
|
@ -0,0 +1 @@
|
||||||
|
LABEL=rootfs / ext4 defaults,noatime,commit=120,errors=remount-ro 0 1
|
|
@ -0,0 +1,4 @@
|
||||||
|
# grow up rootfs on first boot
|
||||||
|
[Partition]
|
||||||
|
Type=root
|
||||||
|
GrowFileSystem=yes
|
|
@ -0,0 +1,5 @@
|
||||||
|
[Unit]
|
||||||
|
ConditionFirstBoot=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Match]
|
||||||
|
Name=en*
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=yes
|
||||||
|
IPv6PrivacyExtensions=yes
|
|
@ -0,0 +1,7 @@
|
||||||
|
enable sshd.service
|
||||||
|
enable systemd-networkd.service
|
||||||
|
enable systemd-growfs-root.service
|
||||||
|
|
||||||
|
# We install dnf in some images but it's only going to be used rarely,
|
||||||
|
# so let's not have dnf create its cache.
|
||||||
|
disable dnf-makecache.*
|
|
@ -0,0 +1,24 @@
|
||||||
|
FILES = \
|
||||||
|
rk3588s-orangepi-5-sata.dts \
|
||||||
|
rk3588s-orangepi-5.dts \
|
||||||
|
rk3588s-orangepi-5b.dts \
|
||||||
|
orangepi-5-rk3588s_defconfig
|
||||||
|
|
||||||
|
URL_BASE = https://github.com/armbian/build/raw/refs/heads/main/patch/u-boot/legacy/u-boot-radxa-rk35xx
|
||||||
|
|
||||||
|
all: $(FILES)
|
||||||
|
|
||||||
|
rk3588s-orangepi-5-sata.dts:
|
||||||
|
wget $(URL_BASE)/dt/$@
|
||||||
|
|
||||||
|
rk3588s-orangepi-5.dts:
|
||||||
|
wget $(URL_BASE)/dt/$@
|
||||||
|
|
||||||
|
rk3588s-orangepi-5b.dts:
|
||||||
|
wget $(URL_BASE)/dt/$@
|
||||||
|
|
||||||
|
orangepi-5-rk3588s_defconfig:
|
||||||
|
wget $(URL_BASE)/defconfig/$@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(FILES)
|
|
@ -0,0 +1 @@
|
||||||
|
see https://github.com/armbian/build/tree/main/patch/u-boot/legacy/u-boot-radxa-rk35xx/dt
|
|
@ -0,0 +1,254 @@
|
||||||
|
CONFIG_ARM=y
|
||||||
|
CONFIG_ARM_CPU_SUSPEND=y
|
||||||
|
CONFIG_ARCH_ROCKCHIP=y
|
||||||
|
CONFIG_SPL_GPIO_SUPPORT=y
|
||||||
|
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||||
|
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||||
|
CONFIG_SYS_MALLOC_F_LEN=0x80000
|
||||||
|
CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh"
|
||||||
|
CONFIG_ROCKCHIP_RK3588=y
|
||||||
|
CONFIG_ROCKCHIP_USB_BOOT=y
|
||||||
|
CONFIG_ROCKCHIP_FIT_IMAGE=y
|
||||||
|
CONFIG_ROCKCHIP_HWID_DTB=y
|
||||||
|
CONFIG_USING_KERNEL_DTB_V2=y
|
||||||
|
CONFIG_ROCKCHIP_VENDOR_PARTITION=y
|
||||||
|
CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y
|
||||||
|
CONFIG_ROCKCHIP_NEW_IDB=y
|
||||||
|
CONFIG_LOADER_INI="RK3588MINIALL.ini"
|
||||||
|
CONFIG_TRUST_INI="RK3588TRUST.ini"
|
||||||
|
CONFIG_PSTORE=y
|
||||||
|
CONFIG_SPL_SERIAL_SUPPORT=y
|
||||||
|
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
|
||||||
|
CONFIG_TARGET_EVB_RK3588=y
|
||||||
|
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||||
|
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||||
|
CONFIG_SPL_SPI_SUPPORT=y
|
||||||
|
CONFIG_DEFAULT_DEVICE_TREE="rk3588s-orangepi-5"
|
||||||
|
CONFIG_DEBUG_UART=y
|
||||||
|
CONFIG_FIT=y
|
||||||
|
CONFIG_FIT_IMAGE_POST_PROCESS=y
|
||||||
|
CONFIG_FIT_HW_CRYPTO=y
|
||||||
|
CONFIG_SPL_LOAD_FIT=y
|
||||||
|
CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
|
||||||
|
CONFIG_SPL_FIT_HW_CRYPTO=y
|
||||||
|
# CONFIG_SPL_SYS_DCACHE_OFF is not set
|
||||||
|
CONFIG_BOOTDELAY=0
|
||||||
|
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||||
|
# CONFIG_DISPLAY_CPUINFO is not set
|
||||||
|
CONFIG_ANDROID_BOOTLOADER=y
|
||||||
|
CONFIG_ANDROID_AVB=y
|
||||||
|
CONFIG_ANDROID_BOOT_IMAGE_HASH=y
|
||||||
|
CONFIG_SPL_BOARD_INIT=y
|
||||||
|
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||||
|
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||||
|
CONFIG_SPL_SEPARATE_BSS=y
|
||||||
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
|
||||||
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x1
|
||||||
|
CONFIG_SPL_MMC_WRITE=y
|
||||||
|
CONFIG_SPL_MTD_SUPPORT=y
|
||||||
|
CONFIG_SPL_ATF=y
|
||||||
|
CONFIG_FASTBOOT_BUF_ADDR=0xc00800
|
||||||
|
CONFIG_FASTBOOT_BUF_SIZE=0x07000000
|
||||||
|
CONFIG_FASTBOOT_FLASH=y
|
||||||
|
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||||
|
CONFIG_CMD_BOOTZ=y
|
||||||
|
CONFIG_CMD_DTIMG=y
|
||||||
|
# CONFIG_CMD_ELF is not set
|
||||||
|
# CONFIG_CMD_IMI is not set
|
||||||
|
# CONFIG_CMD_IMLS is not set
|
||||||
|
# CONFIG_CMD_XIMG is not set
|
||||||
|
# CONFIG_CMD_LZMADEC is not set
|
||||||
|
# CONFIG_CMD_UNZIP is not set
|
||||||
|
# CONFIG_CMD_FLASH is not set
|
||||||
|
# CONFIG_CMD_FPGA is not set
|
||||||
|
CONFIG_CMD_GPT=y
|
||||||
|
# CONFIG_CMD_LOADB is not set
|
||||||
|
# CONFIG_CMD_LOADS is not set
|
||||||
|
CONFIG_CMD_BOOT_ANDROID=y
|
||||||
|
CONFIG_CMD_MMC=y
|
||||||
|
CONFIG_CMD_PCI=y
|
||||||
|
CONFIG_CMD_SF=y
|
||||||
|
CONFIG_CMD_SPI=y
|
||||||
|
CONFIG_CMD_USB=y
|
||||||
|
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||||
|
# CONFIG_CMD_ITEST is not set
|
||||||
|
# CONFIG_CMD_SETEXPR is not set
|
||||||
|
CONFIG_CMD_TFTPPUT=y
|
||||||
|
CONFIG_CMD_TFTP_BOOTM=y
|
||||||
|
CONFIG_CMD_TFTP_FLASH=y
|
||||||
|
# CONFIG_CMD_MISC is not set
|
||||||
|
CONFIG_CMD_MTD_BLK=y
|
||||||
|
# CONFIG_SPL_DOS_PARTITION is not set
|
||||||
|
# CONFIG_ISO_PARTITION is not set
|
||||||
|
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
|
||||||
|
CONFIG_SPL_OF_CONTROL=y
|
||||||
|
CONFIG_SPL_DTB_MINIMUM=y
|
||||||
|
CONFIG_OF_LIVE=y
|
||||||
|
CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||||
|
# CONFIG_NET_TFTP_VARS is not set
|
||||||
|
CONFIG_REGMAP=y
|
||||||
|
CONFIG_SPL_REGMAP=y
|
||||||
|
CONFIG_SYSCON=y
|
||||||
|
CONFIG_SPL_SYSCON=y
|
||||||
|
# CONFIG_SARADC_ROCKCHIP is not set
|
||||||
|
CONFIG_SARADC_ROCKCHIP_V2=y
|
||||||
|
CONFIG_CLK=y
|
||||||
|
CONFIG_SPL_CLK=y
|
||||||
|
CONFIG_CLK_SCMI=y
|
||||||
|
CONFIG_SPL_CLK_SCMI=y
|
||||||
|
CONFIG_DM_CRYPTO=y
|
||||||
|
CONFIG_SPL_DM_CRYPTO=y
|
||||||
|
CONFIG_ROCKCHIP_CRYPTO_V2=y
|
||||||
|
CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y
|
||||||
|
CONFIG_DM_RNG=y
|
||||||
|
CONFIG_RNG_ROCKCHIP=y
|
||||||
|
CONFIG_SCMI_FIRMWARE=y
|
||||||
|
CONFIG_SPL_SCMI_FIRMWARE=y
|
||||||
|
CONFIG_GPIO_HOG=y
|
||||||
|
CONFIG_ROCKCHIP_GPIO=y
|
||||||
|
CONFIG_ROCKCHIP_GPIO_V2=y
|
||||||
|
CONFIG_SYS_I2C_ROCKCHIP=y
|
||||||
|
CONFIG_I2C_MUX=y
|
||||||
|
CONFIG_DM_KEY=y
|
||||||
|
CONFIG_RK8XX_PWRKEY=y
|
||||||
|
CONFIG_ADC_KEY=y
|
||||||
|
CONFIG_MISC=y
|
||||||
|
CONFIG_SPL_MISC=y
|
||||||
|
CONFIG_MISC_DECOMPRESS=y
|
||||||
|
CONFIG_SPL_MISC_DECOMPRESS=y
|
||||||
|
CONFIG_ROCKCHIP_OTP=y
|
||||||
|
CONFIG_ROCKCHIP_HW_DECOMPRESS=y
|
||||||
|
CONFIG_SPL_ROCKCHIP_HW_DECOMPRESS=y
|
||||||
|
CONFIG_SPL_ROCKCHIP_SECURE_OTP=y
|
||||||
|
CONFIG_MMC_DW=y
|
||||||
|
CONFIG_MMC_DW_ROCKCHIP=y
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_SDMA=y
|
||||||
|
CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||||
|
CONFIG_MTD=y
|
||||||
|
CONFIG_MTD_BLK=y
|
||||||
|
CONFIG_MTD_DEVICE=y
|
||||||
|
CONFIG_NAND=y
|
||||||
|
CONFIG_MTD_SPI_NAND=y
|
||||||
|
CONFIG_SPI_FLASH=y
|
||||||
|
CONFIG_SF_DEFAULT_SPEED=80000000
|
||||||
|
CONFIG_SPI_FLASH_EON=y
|
||||||
|
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||||
|
CONFIG_SPI_FLASH_MACRONIX=y
|
||||||
|
CONFIG_SPI_FLASH_SST=y
|
||||||
|
CONFIG_SPI_FLASH_WINBOND=y
|
||||||
|
CONFIG_SPI_FLASH_XMC=y
|
||||||
|
CONFIG_SPI_FLASH_XTX=y
|
||||||
|
CONFIG_SPI_FLASH_MTD=y
|
||||||
|
CONFIG_DM_ETH=y
|
||||||
|
CONFIG_DM_ETH_PHY=y
|
||||||
|
CONFIG_DWC_ETH_QOS=y
|
||||||
|
CONFIG_GMAC_ROCKCHIP=y
|
||||||
|
CONFIG_NVME=y
|
||||||
|
CONFIG_PCI=y
|
||||||
|
CONFIG_DM_PCI=y
|
||||||
|
CONFIG_DM_PCI_COMPAT=y
|
||||||
|
CONFIG_PCIE_DW_ROCKCHIP=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_USBDP=y
|
||||||
|
CONFIG_PINCTRL=y
|
||||||
|
CONFIG_SPL_PINCTRL=y
|
||||||
|
CONFIG_DM_FUEL_GAUGE=y
|
||||||
|
CONFIG_POWER_FG_CW201X=y
|
||||||
|
CONFIG_POWER_FG_CW221X=y
|
||||||
|
CONFIG_DM_PMIC=y
|
||||||
|
CONFIG_PMIC_SPI_RK8XX=y
|
||||||
|
CONFIG_DM_POWER_DELIVERY=y
|
||||||
|
CONFIG_TYPEC_TCPM=y
|
||||||
|
CONFIG_TYPEC_TCPCI=y
|
||||||
|
CONFIG_TYPEC_HUSB311=y
|
||||||
|
CONFIG_TYPEC_FUSB302=y
|
||||||
|
CONFIG_REGULATOR_PWM=y
|
||||||
|
CONFIG_DM_REGULATOR_FIXED=y
|
||||||
|
CONFIG_DM_REGULATOR_GPIO=y
|
||||||
|
CONFIG_REGULATOR_RK860X=y
|
||||||
|
CONFIG_REGULATOR_RK806=y
|
||||||
|
CONFIG_CHARGER_BQ25700=y
|
||||||
|
CONFIG_CHARGER_BQ25890=y
|
||||||
|
CONFIG_CHARGER_SC8551=y
|
||||||
|
CONFIG_CHARGER_SGM41542=y
|
||||||
|
CONFIG_DM_CHARGE_DISPLAY=y
|
||||||
|
CONFIG_CHARGE_ANIMATION=y
|
||||||
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
|
CONFIG_RAM=y
|
||||||
|
CONFIG_SPL_RAM=y
|
||||||
|
CONFIG_TPL_RAM=y
|
||||||
|
CONFIG_ROCKCHIP_SDRAM_COMMON=y
|
||||||
|
CONFIG_ROCKCHIP_TPL_INIT_DRAM_TYPE=0
|
||||||
|
CONFIG_DM_RESET=y
|
||||||
|
CONFIG_SPL_DM_RESET=y
|
||||||
|
CONFIG_SPL_RESET_ROCKCHIP=y
|
||||||
|
CONFIG_BAUDRATE=1500000
|
||||||
|
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||||
|
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||||
|
CONFIG_DEBUG_UART_SHIFT=2
|
||||||
|
CONFIG_ROCKCHIP_SPI=y
|
||||||
|
CONFIG_ROCKCHIP_SFC=y
|
||||||
|
CONFIG_SYSRESET=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_XHCI_HCD=y
|
||||||
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
|
CONFIG_USB_XHCI_PCI=y
|
||||||
|
CONFIG_USB_EHCI_HCD=y
|
||||||
|
CONFIG_USB_EHCI_GENERIC=y
|
||||||
|
CONFIG_USB_OHCI_HCD=y
|
||||||
|
CONFIG_USB_OHCI_GENERIC=y
|
||||||
|
CONFIG_USB_DWC3=y
|
||||||
|
CONFIG_USB_DWC3_GADGET=y
|
||||||
|
CONFIG_USB_DWC3_GENERIC=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
|
CONFIG_USB_GADGET=y
|
||||||
|
CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
|
||||||
|
CONFIG_USB_GADGET_VENDOR_NUM=0x2207
|
||||||
|
CONFIG_USB_GADGET_PRODUCT_NUM=0x350a
|
||||||
|
CONFIG_USB_GADGET_DOWNLOAD=y
|
||||||
|
CONFIG_DM_VIDEO=y
|
||||||
|
CONFIG_DISPLAY=y
|
||||||
|
CONFIG_DRM_ROCKCHIP=y
|
||||||
|
CONFIG_DRM_MAXIM_MAX96745=y
|
||||||
|
CONFIG_DRM_MAXIM_MAX96752F=y
|
||||||
|
CONFIG_DRM_MAXIM_MAX96755F=y
|
||||||
|
CONFIG_DRM_PANEL_MAXIM_DESERIALIZER=y
|
||||||
|
CONFIG_DRM_ROHM_BU18XL82=y
|
||||||
|
CONFIG_DRM_ROCKCHIP_DW_HDMI_QP=y
|
||||||
|
CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI2=y
|
||||||
|
CONFIG_DRM_ROCKCHIP_ANALOGIX_DP=y
|
||||||
|
CONFIG_DRM_ROCKCHIP_DW_DP=y
|
||||||
|
CONFIG_DRM_ROCKCHIP_SAMSUNG_MIPI_DCPHY=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX_HDMI=y
|
||||||
|
CONFIG_USE_TINY_PRINTF=y
|
||||||
|
CONFIG_LIB_RAND=y
|
||||||
|
CONFIG_SPL_TINY_MEMSET=y
|
||||||
|
CONFIG_RSA=y
|
||||||
|
CONFIG_SPL_RSA=y
|
||||||
|
CONFIG_RSA_N_SIZE=0x200
|
||||||
|
CONFIG_RSA_E_SIZE=0x10
|
||||||
|
CONFIG_RSA_C_SIZE=0x20
|
||||||
|
CONFIG_XBC=y
|
||||||
|
CONFIG_LZ4=y
|
||||||
|
CONFIG_LZMA=y
|
||||||
|
CONFIG_ERRNO_STR=y
|
||||||
|
# CONFIG_EFI_LOADER is not set
|
||||||
|
CONFIG_AVB_LIBAVB=y
|
||||||
|
CONFIG_AVB_LIBAVB_AB=y
|
||||||
|
CONFIG_AVB_LIBAVB_ATX=y
|
||||||
|
CONFIG_AVB_LIBAVB_USER=y
|
||||||
|
CONFIG_RK_AVB_LIBAVB_USER=y
|
||||||
|
CONFIG_CMD_SETEXPR=y
|
||||||
|
CONFIG_AHCI=y
|
||||||
|
CONFIG_CMD_SCSI=y
|
||||||
|
CONFIG_DM_SCSI=y
|
||||||
|
CONFIG_DWC_AHCI=y
|
||||||
|
CONFIG_LIBATA=y
|
||||||
|
CONFIG_SCSI_AHCI=y
|
||||||
|
CONFIG_SCSI=y
|
||||||
|
CONFIG_MTD_BLK_U_BOOT_OFFS=0x400
|
||||||
|
CONFIG_OPTEE_CLIENT=y
|
||||||
|
CONFIG_OPTEE_V2=y
|
45
device/rockchip/orangepi5/mkosi.images/u-boot/mkosi.build
Executable file
45
device/rockchip/orangepi5/mkosi.images/u-boot/mkosi.build
Executable file
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ "$container" != "mkosi" ]; then
|
||||||
|
exec mkosi-chroot "$CHROOT_SCRIPT" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- mkosi.build: pwd=$PWD"
|
||||||
|
echo "--- mkosi.build: srcdir=$SRCDIR"
|
||||||
|
echo "--- mkosi.build: builddir=$BUILDDIR"
|
||||||
|
|
||||||
|
cd $SRCDIR
|
||||||
|
echo "--- mkosi.build: clone u-boot"
|
||||||
|
|
||||||
|
if [ -f "${SRCDIR}/mkosi/idbloader.img" ]; then
|
||||||
|
echo "--- mkosi.build: idbloader.img already exist, skipping u-boot build..."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnf in -y --release 13 python2
|
||||||
|
dnf in -y --release 13 basesystem-build curl \
|
||||||
|
dnf git gcc-aarch64-linux-gnu \
|
||||||
|
binutils-aarch64-linux-gnu \
|
||||||
|
wget dtc bc
|
||||||
|
|
||||||
|
git clone https://github.com/radxa/u-boot.git --depth 1 -b next-dev-v2024.03
|
||||||
|
cd u-boot
|
||||||
|
make -C ${SRCDIR}/configuration
|
||||||
|
cp -fv ${SRCDIR}/configuration/*.dts arch/arm/dts/
|
||||||
|
cp -fv ${SRCDIR}/configuration/orangepi-5-rk3588s_defconfig configs/orangepi-5-rk3588s_defconfig
|
||||||
|
BL31="rk3588_bl31_v1.44.elf"
|
||||||
|
RKDDR="rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.15.bin"
|
||||||
|
BOOT_SOC="rk3588"
|
||||||
|
ARCH="aarch64"
|
||||||
|
|
||||||
|
wget https://github.com/armbian/rkbin/raw/refs/heads/master/rk35/${BL31}
|
||||||
|
wget https://github.com/armbian/rkbin/raw/refs/heads/master/rk35/${RKDDR}
|
||||||
|
|
||||||
|
make orangepi-5-rk3588s_defconfig
|
||||||
|
make -s -j$(nproc) KCFLAGS="-Wno-error" \
|
||||||
|
BL31=${BL31} \
|
||||||
|
spl/u-boot-spl.bin \
|
||||||
|
u-boot.dtb u-boot.itb CROSS_COMPILE="${ARCH}-linux-gnu-"
|
||||||
|
|
||||||
|
tools/mkimage -n ${BOOT_SOC} -T rksd -d ${RKDDR}:spl/u-boot-spl.bin idbloader.img
|
||||||
|
|
||||||
|
cp -fv idbloader.img u-boot.itb ${SRCDIR}/mkosi/
|
10
device/rockchip/orangepi5/mkosi.images/u-boot/mkosi.conf
Normal file
10
device/rockchip/orangepi5/mkosi.images/u-boot/mkosi.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Output]
|
||||||
|
Format=directory
|
||||||
|
ImageId=uboot
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
Bootable=no
|
||||||
|
|
||||||
|
Packages=dnf
|
||||||
|
rosa-repos-contrib
|
||||||
|
rosa-repos
|
27
device/rockchip/orangepi5/mkosi.postinst.chroot
Executable file
27
device/rockchip/orangepi5/mkosi.postinst.chroot
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||||
|
|
||||||
|
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}
|
||||||
|
|
||||||
|
printf "Remove dracut-generated initrd...\n"
|
||||||
|
rm -fv /boot/initrd-${version}.img
|
||||||
|
rm -fv /boot/uInitrd
|
||||||
|
|
||||||
|
# generate boot.scr
|
||||||
|
# see mkosi.extra/boot/boot.cmd
|
||||||
|
printf "Adjust /boot/bootenv.txt for kernel/initrd ${version}...\n"
|
||||||
|
printf "initrd_image=uInitrd-${version}\n" >> /boot/bootenv.txt
|
||||||
|
printf "kernel_image=vmlinuz-${version}\n" >> /boot/bootenv.txt
|
||||||
|
|
||||||
|
printf "Current /boot/bootenv.txt...\n"
|
||||||
|
printf "#########################\n"
|
||||||
|
cat /boot/bootenv.txt
|
||||||
|
printf "#########################\n"
|
||||||
|
|
||||||
|
printf "Generate /boot/boot.scr...\n"
|
||||||
|
/usr/bin/mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|
28
device/rockchip/orangepi5/mkosi.postoutput.d/10-dd-loader.sh
Executable file
28
device/rockchip/orangepi5/mkosi.postoutput.d/10-dd-loader.sh
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/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
|
5
device/rockchip/orangepi5/mkosi.repart/00-uboot.conf
Normal file
5
device/rockchip/orangepi5/mkosi.repart/00-uboot.conf
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[Partition]
|
||||||
|
Type=21686148-6449-6e6f-744e-656564454649
|
||||||
|
Format=
|
||||||
|
SizeMinBytes=15M
|
||||||
|
SizeMaxBytes=15M
|
6
device/rockchip/orangepi5/mkosi.repart/20-root.conf
Normal file
6
device/rockchip/orangepi5/mkosi.repart/20-root.conf
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[Partition]
|
||||||
|
Type=root
|
||||||
|
Label=rootfs
|
||||||
|
Format=ext4
|
||||||
|
CopyFiles=/
|
||||||
|
Minimize=guess
|
51
device/rockchip/orangepi5/wrapper.sh
Normal file
51
device/rockchip/orangepi5/wrapper.sh
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# Run mkosi with --force option
|
||||||
|
#mkosi --force
|
||||||
|
|
||||||
|
# Check if mkosi ran successfully
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
printf "mkosi failed to execute.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Calculate the size of the image directory
|
||||||
|
IMAGE_SIZE=$(du -sb ./image | cut -f1)
|
||||||
|
IMAGE_SIZE=$((IMAGE_SIZE + 256 * 1024 * 1024)) # Add 16 MB to the calculated size
|
||||||
|
|
||||||
|
# Create the orangepi5.img disk image with the calculated size
|
||||||
|
rm -fv orangepi5.img
|
||||||
|
dd if=/dev/zero of=orangepi5.img bs=1M count=0 seek=$((IMAGE_SIZE / 1024 / 1024))
|
||||||
|
|
||||||
|
# Attach the image to a loop device
|
||||||
|
LOOP_DEV=$(losetup --find --show orangepi5.img)
|
||||||
|
|
||||||
|
# Perform partitioning operations on the loop device
|
||||||
|
sgdisk --zap-all "${LOOP_DEV}"
|
||||||
|
sgdisk --new=1:16M:+0 --typecode=1:8305 "${LOOP_DEV}"
|
||||||
|
|
||||||
|
# Update the partition table
|
||||||
|
partprobe "${LOOP_DEV}"
|
||||||
|
|
||||||
|
# Create ext4 filesystem on the first partition
|
||||||
|
mkfs.ext4 -L rootfs "${LOOP_DEV}p1"
|
||||||
|
|
||||||
|
# Mount the first partition to a temporary directory
|
||||||
|
MOUNT_DIR=$(mktemp -d)
|
||||||
|
mount "${LOOP_DEV}p1" "$MOUNT_DIR"
|
||||||
|
|
||||||
|
# Copy the contents of the image directory to the first partition using rsync
|
||||||
|
rsync -a ./image/ "$MOUNT_DIR/"
|
||||||
|
|
||||||
|
# Unmount the partition
|
||||||
|
umount "$MOUNT_DIR"
|
||||||
|
|
||||||
|
# Remove the temporary mount directory
|
||||||
|
rmdir "$MOUNT_DIR"
|
||||||
|
# Print a success message
|
||||||
|
printf "Disk and partitions successfully created!\n"
|
||||||
|
|
||||||
|
printf "Write bootloader!\n"
|
||||||
|
dd if=idbloader.img of=${LOOP_DEV} seek=64 conv=notrunc
|
||||||
|
dd if=u-boot.itb of=${LOOP_DEV} seek=16384 conv=notrunc
|
Loading…
Add table
Reference in a new issue