On Dec 27, 2012 12:16 PM, "Tom Gundersen" <teg@jklm.no> wrote:
>
> Make the hook a bit more generic by including non-usb keyboard drivers.
> This should mean that any keyboard will now work in the initramfs.
>
> In addition to fixing some uncommon setups requiring additional keyboard
> modules, this would allow us to no longer build in the atkbd module (and
> hence i8042) in our stock kernels, which will remove an ugly error message
> on boot for systems without the i8042 controller.
>
> Signed-off-by: Tom Gundersen <teg@jklm.no>
> ---
>
> v2: rename to 'keyboard' and improve the help message.
>
>  install/keyboard | 31 +++++++++++++++++++++++++++++++
>  install/usbinput | 29 +----------------------------

Thanks. I guess the default config needs updating too, but I'll take care of that.

>  2 files changed, 32 insertions(+), 28 deletions(-)
>  create mode 100644 install/keyboard
>  mode change 100644 => 120000 install/usbinput
>
> diff --git a/install/keyboard b/install/keyboard
> new file mode 100644
> index 0000000..91a00e7
> --- /dev/null
> +++ b/install/keyboard
> @@ -0,0 +1,31 @@
> +#!/bin/bash
> +
> +build() {
> +    local major minor
> +
> +    add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'
> +
> +    # As of 3.5, modaliases seem to be exported for HID
> +    # devices, so we can leverage autodetection.
> +    IFS=.- read major minor _ <<<"$KERNELVERSION"
> +    if (( major > 3 || (major == 3 && minor >= 5) )); then
> +        add_checked_modules '/hid/hid'
> +    else
> +        add_all_modules '/hid/hid'
> +    fi
> +
> +    add_module 'usbhid'
> +
> +    add_checked_modules '/input/keyboard'
> +}
> +
> +help() {
> +    cat <<HELPEOF
> +This hook loads the necessary modules for keyboard devices. As a side-effect
> +modules for some non-keyboard input devices might be added to, but this should
> +not be relied on. Detection will take place at runtime. To minimize the modules
> +in the image, add the autodetect hook too.
> +HELPEOF
> +}
> +
> +# vim: set ft=sh ts=4 sw=4 et:
> diff --git a/install/usbinput b/install/usbinput
> deleted file mode 100644
> index a292345..0000000
> --- a/install/usbinput
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -#!/bin/bash
> -
> -build() {
> -    local major minor
> -
> -    add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'
> -
> -    # As of 3.5, modaliases seem to be exported for HID
> -    # devices, so we can leverage autodetection.
> -    IFS=.- read major minor _ <<<"$KERNELVERSION"
> -    if (( major > 3 || (major == 3 && minor >= 5) )); then
> -        add_checked_modules '/hid/hid'
> -    else
> -        add_all_modules '/hid/hid'
> -    fi
> -
> -    add_module 'usbhid'
> -}
> -
> -help() {
> -    cat <<HELPEOF
> -This hook loads the necessary modules for an usb input device.  Detection
> -will take place at runtime. To minimize the modules in the image, add the
> -autodetect hook too.
> -HELPEOF
> -}
> -
> -# vim: set ft=sh ts=4 sw=4 et:
> diff --git a/install/usbinput b/install/usbinput
> new file mode 120000
> index 0000000..fbfe724
> --- /dev/null
> +++ b/install/usbinput
> @@ -0,0 +1 @@
> +keyboard
> \ No newline at end of file
> --
> 1.8.0.2
>