[ Adding CC to debian-arm for interest ] On Sat, Jan 19, 2019 at 03:39:44AM +0000, Wookey wrote: >I've done some work on getting the graphical installer going on arm64.
\o/ >It's not quite finished, but Steve suggested I publish where I'm at so >I can get some help with the right set of module packages, and we can >start fixing up missing bits. > >The first patch (enable-arm64-netboot-gtk.patch) enables the >support. This allows X to start on the display (if the correct console >is found/specified - see next mail). This looks lovely, but there is >no input working, because there are no no x input drivers installed, >nor modules for USB devices (keyboard and mouse are USB). > >The second patch (add-missing-arm64-netboot-modules.patch) endeavours >to fix that, by putting arm64 on the same basis as amd64 in terms of >modules loaded. However not all module packages are built for arm64 >so I had to remove some to get a working build. > >Missing modules (not built on arm64) are: >mouse-modules >speakup-modules >acpi-modules >sound-modules > >we should fix that too. > >I was not able to demonstrate that the resulting build works fully, >because when it tries to boot the kernel I get "Error: Invalid Magic >number..., you need to load the kernel first". No idea why that's >changed due to adding more module packages? Clues welcome. > >This all sounds more broken than it is: the difficult bit of the >graphics works fine, we just need to make sure the right modules for X >input are available too. Nod. I'm thinking that arm64 is likely to look very similar to amd64 in terms of the desired module sets, module obviously-missing things like pcmcia. :-) Also: you've added these to a netboot gtk image. We'll want to add the equivalent graphically-minded changes for the cdrom target too so we can make working physical media. >From b8d5ea7d37670c6c5f9cc251e1cfc5f007388eb6 Mon Sep 17 00:00:00 2001 >From: Wookey <woo...@wookware.org> >Date: Tue, 8 Jan 2019 18:14:22 +0000 >Subject: Add support for graphical installer to arm64 > > >diff --git a/build/config/arm64.cfg b/build/config/arm64.cfg >index d9e782d..f320324 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 0000000..0f1d246 >--- /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 >From b0bc63a3baeb1e46c469d75ff7d68929be267949 Mon Sep 17 00:00:00 2001 >From: Wookey <woo...@wookware.org> >Date: Sat, 19 Jan 2019 03:13:40 +0000 >Subject: Add missing modules (usb, fat, virtio) to arm64 netboot build and > xorg modules to netbook-gtk > > >diff --git a/build/pkg-lists/netboot/arm64.cfg >b/build/pkg-lists/netboot/arm64.cfg >index e07dff0..18ca630 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 0000000..2d8530a >--- /dev/null >+++ b/build/pkg-lists/netboot/gtk/arm64.cfg >@@ -0,0 +1,10 @@ >+#include "gtk-linux" >+ >+#mouse-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 -- Steve McIntyre, Cambridge, UK. st...@einval.com < Aardvark> I dislike C++ to start with. C++11 just seems to be handing rope-creating factories for users to hang multiple instances of themselves.