[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Graphical installer on arm64 (netboot and cdrom)



I posted a while ago about graphical installer on arm64, here's an update. The first two patches I've attached are Wookey's patches with two module changes (noted in the patch message). The third one is to enable graphical cdrom builds, which I tested with the d-i bullseye alpha2 arm64 xfce CD-1 image on both a QEMU virtual machine (via virt-manager) and my chromebook (rk3399-gru-kevin).

On the VM: I've set the firmware to UEFI, mounted the iso file as a CD, and used my patched vmlinuz/initrd files with "Direct kernel boot". The installation went fine except I needed to pass "console=tty0" in the command line arguments, but that's not a problem in these patches (an ACPI SPCR table results in Linux not registering tty0 as a console).

On the chromebook: I've written the iso to a partition (/dev/sda1) and used my patched (also with chromebook stuff) vmlinuz/initrd/dtb to boot. There, I had to manually specify '/dev/sda1' as the cdrom device in the cdrom-detect step. It worked for the base-installer step, but not for the apt-setup step, but the installation continued anyway with a network mirror and finished with success. I don't know if that apt-setup problem is considered a bug, I probably wasn't supposed to use a partition as a cdrom.

I think these patches will work fine on other hardware as well (but I don't have anything else to test on). Thanks in advance if anyone can have a look.
>From 171186b5b88903814ab6b0d4ea94b043d5ba1c73 Mon Sep 17 00:00:00 2001
From: Wookey <wookey@wookware.org>
Date: Tue, 8 Jan 2019 18:14:22 +0000
Subject: [PATCH 1/3] Add support for graphical installer to arm64

---
 build/config/arm64.cfg             |  2 +-
 build/config/arm64/netboot-gtk.cfg | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 build/config/arm64/netboot-gtk.cfg

diff --git a/build/config/arm64.cfg b/build/config/arm64.cfg
index 29f1db8b0..8ada8ba29 100644
--- a/build/config/arm64.cfg
+++ b/build/config/arm64.cfg
@@ -1,4 +1,4 @@
-MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot
+MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot
 
 KERNELMAJOR = 2.6
 # The version of the kernel to use.
diff --git a/build/config/arm64/netboot-gtk.cfg b/build/config/arm64/netboot-gtk.cfg
new file mode 100644
index 000000000..0f1d246d1
--- /dev/null
+++ b/build/config/arm64/netboot-gtk.cfg
@@ -0,0 +1,24 @@
+MEDIA_TYPE = netboot image
+
+NETBOOT_DIR_TARGETS = $(TEMP_INITRD) $(TEMP_KERNEL)
+
+TYPE = netboot/gtk
+
+TARGET = $(NETBOOT_DIR) $(NETBOOT_TAR) $(MINIISO)
+EXTRANAME = netboot/gtk/
+
+BOOT_SCREEN_DIR = $(NETBOOT_PATH)/boot-screens/
+
+MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server (graphical installer)"
+MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory (graphical installer)"
+MANIFEST-MINIISO = "not so tiny CD image that boots the graphical netboot installer"
+
+IS_PURE_GTK = 1
+
+KEEP_GI_LANGS = 1
+
+VIDEO_MODE=$(VIDEO_MODE_GTK)
+
+# All images that include cdebconf should include symbols needed by these
+# plugins.
+EXTRAUDEBS += cdebconf-gtk-entropy
-- 
2.26.0

>From 1bbfb902cb984d83b2bb1ac40524a526ee13cdcd Mon Sep 17 00:00:00 2001
From: Wookey <wookey@wookware.org>
Date: Sat, 19 Jan 2019 03:13:40 +0000
Subject: [PATCH 2/3] Add missing modules (usb, fat, virtio) to arm64 netboot
 build and xorg modules to netbook-gtk

Alper Nebi Yasak:
- added event-modules to arm64 netboot-gtk
- commented-out serial-modules from arm64 netboot
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
---
 build/pkg-lists/netboot/arm64.cfg     | 15 ++++++++++++++-
 build/pkg-lists/netboot/gtk/arm64.cfg | 11 +++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 build/pkg-lists/netboot/gtk/arm64.cfg

diff --git a/build/pkg-lists/netboot/arm64.cfg b/build/pkg-lists/netboot/arm64.cfg
index d5635daa9..01fe2b0a5 100644
--- a/build/pkg-lists/netboot/arm64.cfg
+++ b/build/pkg-lists/netboot/arm64.cfg
@@ -11,9 +11,22 @@ nic-modules-${kernel:Version}
 nic-usb-modules-${kernel:Version}
 nic-wireless-modules-${kernel:Version}
 virtio-modules-${kernel:Version} ?
+usb-modules-${kernel:Version}
 
 fb-modules-${kernel:Version} ?
 input-modules-${kernel:Version} ?
 
-#for all targets
+# In case they need to load a driver image.
+mountmedia
+media-retriever
+fat-modules-${kernel:Version}
+usb-storage-modules-${kernel:Version}
+mmc-modules-${kernel:Version} ?
+
+# brltty
+brltty-udeb
+# serial-modules-${kernel:Version} ?
+usb-serial-modules-${kernel:Version} ?
+uinput-modules-${kernel:Version} ?
 
+#for all targets
diff --git a/build/pkg-lists/netboot/gtk/arm64.cfg b/build/pkg-lists/netboot/gtk/arm64.cfg
new file mode 100644
index 000000000..bda77cdab
--- /dev/null
+++ b/build/pkg-lists/netboot/gtk/arm64.cfg
@@ -0,0 +1,11 @@
+#include "gtk-linux"
+
+#mouse-modules-${kernel:Version}
+event-modules-${kernel:Version}
+xserver-xorg-input-evdev-udeb
+xserver-xorg-video-fbdev-udeb
+
+#speakup-modules-${kernel:Version}
+#sound-modules-${kernel:Version}
+#console-setup-linux-fonts-udeb
+#espeakup-udeb
-- 
2.26.0

>From 249ba4ace62d872f6617c5745c854d7f44f30090 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Mon, 16 Mar 2020 14:01:37 +0300
Subject: [PATCH 3/3] Add modules and build files for arm64 graphical installer
 cdrom

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
---
 build/config/arm64/cdrom.cfg             |  2 +-
 build/config/arm64/cdrom/gtk.cfg         | 19 +++++++++++++++++++
 build/pkg-lists/cdrom/grub/gtk/arm64.cfg | 11 +++++++++++
 3 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 build/config/arm64/cdrom/gtk.cfg
 create mode 100644 build/pkg-lists/cdrom/grub/gtk/arm64.cfg

diff --git a/build/config/arm64/cdrom.cfg b/build/config/arm64/cdrom.cfg
index 321d3e324..74938ae13 100644
--- a/build/config/arm64/cdrom.cfg
+++ b/build/config/arm64/cdrom.cfg
@@ -1,3 +1,3 @@
-FLAVOUR_SUPPORTED = grub
+FLAVOUR_SUPPORTED = grub gtk
 
 MEDIA_TYPE = CD-ROM
diff --git a/build/config/arm64/cdrom/gtk.cfg b/build/config/arm64/cdrom/gtk.cfg
new file mode 100644
index 000000000..76024e2f1
--- /dev/null
+++ b/build/config/arm64/cdrom/gtk.cfg
@@ -0,0 +1,19 @@
+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO)
+
+MANIFEST-KERNEL = "kernel for use with EFI to build a CD (graphical)"
+MANIFEST-INITRD = "initrd for use with EFI to build a CD (graphical)"
+MANIFEST-DEBIAN_CD_INFO = "EFI config files for CD (graphical)"
+
+TYPE = cdrom/grub/gtk
+
+EXTRANAME = gtk/
+
+IS_PURE_GTK = 1
+
+KEEP_GI_LANGS = 1
+
+VIDEO_MODE=$(VIDEO_MODE_GTK)
+
+# All images that include cdebconf should include symbols needed by these
+# plugins.
+EXTRAUDEBS += cdebconf-gtk-entropy
diff --git a/build/pkg-lists/cdrom/grub/gtk/arm64.cfg b/build/pkg-lists/cdrom/grub/gtk/arm64.cfg
new file mode 100644
index 000000000..bda77cdab
--- /dev/null
+++ b/build/pkg-lists/cdrom/grub/gtk/arm64.cfg
@@ -0,0 +1,11 @@
+#include "gtk-linux"
+
+#mouse-modules-${kernel:Version}
+event-modules-${kernel:Version}
+xserver-xorg-input-evdev-udeb
+xserver-xorg-video-fbdev-udeb
+
+#speakup-modules-${kernel:Version}
+#sound-modules-${kernel:Version}
+#console-setup-linux-fonts-udeb
+#espeakup-udeb
-- 
2.26.0


Reply to: