mirror of
https://github.com/rosalinux/image-builder.git
synced 2025-02-23 02:12:52 +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