所以我是一个 Linux 新手,但我仍在努力让我的 Intel 平板电脑与所有设备兼容,这对我来说是一次学习经历。最终的计划是只拥有一个可以安装的可启动映像。我希望的最终目标是拥有 Ubuntu touch,所以这就是我使用 Ubuntu 的原因。(我不知道 Ubuntu Touch 是否会很棒,但我需要有一个目标,对吧 (-; ) 这是Github 页面我(和另一个人)正在使用它来做文档。现在我正在尝试编译自己的内核以添加触摸屏驱动程序,并尝试将蓝牙控制器添加到 rfkill,因为 wifi/蓝牙驱动程序无法启动和运行蓝牙。我在桌面上的 Virtualbox 中执行此操作,因为我有一个 6 核 4.3Ghz 超频水冷 CPU,而平板电脑有一个原子处理器(四核,1.8Ghz,但并非所有 Ghz 都相同 ;P)。我在 Virtualbox 中使用与平板电脑上相同的 Ubuntu Iso 文件。这些是我编译的步骤,首先获取源代码
sudo apt-get build-dep linux-image-`uname -r`
sudo apt-get install libncurse5
apt-get source linux-image-`uname -r`
好的,现在要添加触摸屏驱动程序。一个编写了另一个(不是这个)触摸屏驱动程序的人建议我尝试这个驱动程序。
cd linux-4.2.0/driver/input/touchscreen/
patch < ~/silead.patch
现在将我的设备添加到 rfkill,拥有相同芯片组的人必须这样做才能使 wifi/蓝牙驱动程序与蓝牙一起工作。
cd ~/linux-4.2.0/net/rfkill/
patch < ~/rfkill-gpio.patch
现在我要清理,我不知道为什么,但运行了 mrproper 并准备。当它询问 silead 驱动程序时,我得到了肯定的回答。
cd ~/linux-4.2.0/
make clean
make mrproper
cp /boot/config-`uname -r` .config
make prepare
然后我选择加载并加载.config文件并再次保存以查看配置是否有任何错误。
fakeroot make-kpkg -j11 --initrd --append-to-version=-vi8-test kernel_image kernel_headers
这是此处失败的输出。
scripts/Makefile.build:258: recipe for target 'ubuntu/vbox/vboxguest/VBoxGuest-linux.o' failed
scripts/Makefile.build:403: recipe for target 'ubuntu/vbox/vboxguest' failed
scripts/Makefile.build:403: recipe for target 'ubuntu/vbox' failed Makefile:959: recipe for target 'ubuntu' failed
我现在很茫然,不知道自己在做什么:(
答案1
解决我的问题的方法是改为从 git 提取内核源代码,这对我来说是一个可接受的解决方案。这个编译得很好,我不知道为什么apt-get source
提取的源代码没有编译成功。