原材料:
硬件: 2k1000LA 开发板
软件: 使用网盘上的 pmon 源码+ linux源码
逻辑: 设备树的修改需要在 pmon 源码里面修改+ 驱动的修改需要在 linux 的源码里面修改。
下载 loongnix 的 pmon 源码+ linux 源码 ,并放入虚拟机目录。
首先来看内核。
首先是编译一遍内核,看看会不会报错。
可以看到 defconfig 与 .config 完全一样。
自己写一个 编译脚本 ,mymake
root@ubuntu:/home/topeet/loongarch_loonnix_for_7Touch/linux-4.19-ls2k1000la# cat mymake
#!/bin/sh
export LC_ALL=C LANG=C
export PATH=/opt/loongarch64-linux-gnu-2021-12-10-vector/bin:$PATH
make vmlinuz ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j4 "$@"
开始编译一下,是可以正常编译的。
疑问: 我发现 这个内核源码是有编译 触摸的 , 但是为什么生产那边 的镜像没有触摸呢?
先不管他, 直接拷贝 新的 ft5x 的 触摸文件,编译好内核之后,先烧写测试一下。
编译好镜像之后, 直接替换 loongnix 的 vmlinxz 发现不能启动。
那么也就是说, 网盘上的内核源码,不是 loongnix 发货的linux ,源码,这份源码必要到拿到。这部又成了 ,HMI了吗。
我换一种思路,我直接,编译成 模块 ,在原来的系统启动之后,insmod .
果然 ,出现了这个错误。我编译驱动的源码肯定不是这个。
但是后来我又发现是可以了,我只是,改动的内核的驱动,文件系统层面并没有动,文件系统需要了解的是 x window/ wayland + libinput + xinput .这三个软件。
我的改动。
loongnix 文件系统是 什么都不用动的。
-----------------------------------------------------------------------------------------------------------------------------
后来的问题的反馈,
1 发现没有wifi ,
2 发现 rgb+ HDMI 不能同时启动。
对于wifi 的问题,我到源码中看了一下,是没有8723bu 的驱动的。这个是需要移植的。
对于 RGB+HDMI的问题,目前还不知道。
目前先来看wifi 驱动的移植,
我使用的是 网盘上的内核的源码,这份源码上是没有 内置wifi 的驱动的源码的。
目前 1 没有wifi + 2 HDMI无显示的问题都已经解决。
解决的过程是这样的。
我本想 在网盘上的源码的基础上 重新移植一个8723bu的驱动,但是,无意中发现之前同事发我的 Kennel 源码,发现这份源码就是 同事离职前的发我的 内核源码,所以很有可能这就是 发货的源码。
所以我的任务 变成了 使能这份源码的 wifi的驱动+HDMI的驱动,而不是去在网盘上的源码上再去做移植。
我在移植过程中发现的问题,
1 我重新编译这份内核源码,替换loongnix 的内核的镜像,是可以启动的,但是在加载 loongnix 文件系统内置的 8723bu.ko 的时候,出现了不兼容的现象,也就是说,这份源码并不是发货的源码。
2 于是我重新编译这份源码+ 使用这份源码编译出8723bu.ko, 这份内核源码已经自带了8723bu的驱动。 但是在insmod 的时候依然出现了,不兼容。这是不应该的。
3 那么我就 不编译成ko 文件了,直接内置到内核里,发现,内核启动过程中,并没有将8723bu驱动内置,这是不应该的。并且系统启动之后,自动会加载文件系统的8723bu.ko , 这应该是在文件系统中做了自启动脚本。
4 于是我将文件系统的 8723bu.ko删掉,然后替换成我自己编译的8723bu.ko ,发现可以了。
我的疑问:
1 menuconfig 无法内置8723bu驱动到内核里。
2 我先insmod一个别的源码编译的8723bu.ko驱动,会有不兼容报错,这正常,但是我紧接着再insmod 这份内核源码编译的8723bu.ko 也出现不兼容报错,就不理解了。