Re: arm64 graphical installer

2019-01-21 Thread Wookey
On 2019-01-19 11:12 +, Steve McIntyre wrote:
> [ Adding CC to debian-arm for interest ]
> 
> On Sat, Jan 19, 2019 at 03:39:44AM +, Wookey wrote:
> >I've done some work on getting the graphical installer going on arm64.
> 
> \o/
>
> >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.

OK, this turned out to be 'pulled USB stick out before it was fully
written' (forgot the fsync option). 

So in fact it does boot fine with lots of extra modules, but still no
working keyboard/mouse input.

For this fairly basic X server what is it expecting as input device?
Is it using udev?, /dev/events?, libinput?, evdev? something else?
(I'm a bit vague about how this fits together). It all works fine when
I boot into X with standard debian. Comparing module lists and Xorg
logs...

on real debian its using 'driver libinput':
[  1411.187] (II) Using input driver 'libinput' for 'LITE-ON Technology USB 
NetVista Full Width Keyboard.'
[  1411.187] (**) LITE-ON Technology USB NetVista Full Width Keyboard.: always 
reports core events
[  1411.187] (**) Option "Device" "/dev/input/event2"
[  1411.187] (**) Option "_source" "server/udev"

on D-I (netboot-gtk) we have: 
xserver-xorg-input-evdev-udeb
udev-udeb
libevdev2-udeb
kbd-udeb
x11-xkb-utils-udeb
xkb-data-udeb
input-modules
uinput-modules
usb-modules

but not:
xserver-xorg-input-libinput-udeb
or libinput (which does not have udebs for any arch, so presumably not relevant)

Is that expected?

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: arm64 graphical installer

2019-01-19 Thread Steve McIntyre
[ Adding CC to debian-arm for interest ]

On Sat, Jan 19, 2019 at 03:39:44AM +, 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 
>Date: Tue, 8 Jan 2019 18:14:22 +
>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 000..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 
>Date: Sat, 19 Jan 2019 03:13:40 +
>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 000..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