ファームウェアを含むカーネルを再コンパイルします。

ファームウェアを含むカーネルを再コンパイルします。

カーネルを再コンパイルする方法は?このガイドを試してみてください。https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

私はタブレットでlubuntu 18.04を使用しており、タッチスクリーンを有効にするカスタムカーネルが欲しいです。

以下は から抜粋したものです。https://github.com/onitake/gsl-firmware#silead_tsisilead_dmi.c(でdrivers/platform/x86/silead_dmi.c)カスタマイズされた製品を作成し、silead_ts.fwここで見つけたファームウェアを参照しました。https://github.com/onitake/gsl-firmware/tree/master/firmware/trekstor/surftab7new(FYI Mediacom W700はSurfTab wintron 7.0 ST70416-6と同じです。)

私は800MBフォルダを使用しapt-get source linux-headers-$(uname -r)て取得しました。そこに私がファイルを作成したパスがlinux-4.15あります。drivers/platform/x86/silead_dmi.cdrivers/platform/x86/silead_dmi.c

私が使用したガイドに従って118kBフォルダをapt-get source linux-image-$(uname -r)得ました。これでこれを使用するとエラーが発生します。linux-signed-4.15.0
fakeroot debian/rules editconfigs

dh editconfigs
dh: Unknown sequence editconfigs (choose from: binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep)
debian/rules:35: recipe for target 'editconfigs' failed
make: *** [editconfigs] Error 2

このエラーを修正してカーネルを再コンパイルするにはどうすればよいですか?
そこから取得したフォルダへのapt-get source linux-headers-$(uname -r)パスはありますかdrivers/platform/x86/silead_dmi.c
そしてファームウェア?

https://askubuntu.com/questions/1067640/enable-the-touchscreen-of-a-mediacom-winpad-w700
より多くの情報を求める人がいる場合は、そこで確認できます。

答え1

silead_ts.fwこの廃止予定のプロジェクトについてhttps://github.com/onitake/gslx680-acpi
少なくとも使用する必要がありますhttps://github.com/onitake/gsl-firmware/blob/master/firmware/trekstor/surftab7new/firmware.fw、ファームウェアは以前のプロジェクトに対して抽出され、変更されていません。

しかし、これは必ず使うべきです。https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl1686-surftab-wintron70-st70416-6.fw、ファイルを/lib/firmware/silead(フォルダ作成silead)に入れます。mssl1680.fw(バックアップファームウェア)というコピーも作成されます。

このガイドに従ってカーネルを再コンパイルしてください。https://debian-handbook.info/browse/squeeze/sect.kernel-compilation.html。ガイドの説明に従ってカーネルのソースコードを見つける
ために使用されます。apt-cache search ^linux-source

silead_dmi.cファイルに追加:

static const struct property_entry mediacom_w700_props[] = {
    PROPERTY_ENTRY_U32("touchscreen-size-x", 884),
    PROPERTY_ENTRY_U32("touchscreen-size-y", 632),
    PROPERTY_ENTRY_STRING("firmware-name",
                  "gsl1686-surftab-wintron70-st70416-6.fw"),
    PROPERTY_ENTRY_U32("silead,max-fingers", 10),
    PROPERTY_ENTRY_BOOL("silead,home-button"),
    { }
};

最も重要なのはDMI_MATCHに追加することです:

 {
        /* Mediacom WinPad 7.0 W700 */
        .driver_data = (void *)&surftab_wintron70_st70416_6_data,
        .matches = {
            DMI_MATCH(DMI_SYS_VENDOR, "MEDIACOM"),
                DMI_MATCH(DMI_PRODUCT_NAME, "WinPad 7 W10 - WPW700"),
        },
    },

関連情報