forked from Proxmox-Port/Proxmox-Port
38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
diff --git a/Proxmox/Install.pm b/Proxmox/Install.pm
|
|
index fa2702c..636e684 100644
|
|
--- a/Proxmox/Install.pm
|
|
+++ b/Proxmox/Install.pm
|
|
@@ -608,6 +617,24 @@ my sub chroot_chmod {
|
|
die "chroot: unable to change permission mode for '$path'\n";
|
|
}
|
|
|
|
+sub rockchip_dtb_setup {
|
|
+ my ($espdev, $targetdir, $zfs) = @_;
|
|
+ # For rockchpi efi env need Device Tree mode, https://github.com/edk2-porting/edk2-rk3588
|
|
+ # We create \dtb\base\ in esp root
|
|
+ my $kernel_version = `uname -r`;
|
|
+ if ($kernel_version =~ /rockchip/){
|
|
+ print "kernel is rockchip\n";
|
|
+ if ($zfs == '1') {
|
|
+ syscmd("mount $espdev $targetdir/boot/efi/");
|
|
+ syscmd("cp -r /cdrom/dtb $targetdir/boot/efi/");
|
|
+ syscmd("umount -l $targetdir/boot/efi/") ;
|
|
+ }else{
|
|
+ syscmd("cp -r /cdrom/dtb $targetdir/boot/efi/");
|
|
+ }
|
|
+ }
|
|
+}
|
|
+
|
|
+
|
|
sub prepare_proxmox_boot_esp {
|
|
my ($espdev, $targetdir, $secureboot) = @_;
|
|
|
|
@@ -618,6 +645,7 @@ sub prepare_proxmox_boot_esp {
|
|
|
|
syscmd("chroot $targetdir proxmox-boot-tool init $espdev $mode") == 0 ||
|
|
die "unable to init ESP and install proxmox-boot loader on '$espdev'\n";
|
|
+ rockchip_dtb_setup($espdev, $targetdir,1);
|
|
}
|
|
|
|
sub prepare_grub_efi_boot_esp {
|