使用的SDK:HiSTBLinuxV100R005C00SPC050
编译完成后,会在/out/.../kmod/目录下生成一堆.ko文件,这些文件就是待会我们要用的驱动。
1.插入内核模块
在插入之前,确保你的机顶盒已经刷入了baseparam和pq_param
#一定要按照这个顺序插入!!!
#如果没有,检查你的SDK配置是否勾选
insmod hi_media.ko
insmod hi_mmz.ko
insmod hi_common.ko
insmod hi_hdmi.ko
insmod hi_pdm.ko
insmod hi_pq.ko
insmod hi_vou.ko
insmod hi_tde.ko
insmod hi_cipher.ko
insmod mali.ko
insmod hi_fb.ko
2.安装X桌面
sudo apt install xorg #其实也可以分开安装,因为其中的man-db及其依赖我们用不到
3.配置xorg.conf
运行xorg,不出意外你会得到一个报错:Segmentation Fault at 0x... 先不用管,往上找到Using ... as conf... cd到出现的地址,新建一个文件xxx.conf(文件名可以自己定一个喜欢的)然后输入以下内容:
`Section "Device"
Identifier "FB1_Device"
Driver "fbdev" # 不能使用armsoc
Option "fbdev" "/dev/fb1" # 强制XOrg使用/dev/fb1 (HDMI输出)
EndSection
Section "Screen"
Identifier "FB1_Screen"
Device "FB1_Device" # 关联上述 Device
Monitor "Configured_Monitor" # 取一个好听的
DefaultDepth 24 # 可以改
SubSection "Display"
Depth 24
Modes "1024x768" # 可根据实际需求修改
EndSubSection
EndSection
`
保存,安装一个你喜欢的X桌面管理器(我用的icewm),再启动startx,你就可以看到HDMI显示器上有桌面了。
附:每一次关机时之前insmod的ko都会被卸载,可以自己写个sh脚本然后配置systemd来实现开机自动挂载。