前言:
如果只想简单使用kodi,不用这么复杂,直接安装LibreELEC就可以了。我这是为了复用这台HTPC(J1800+8G内存)而弄,最终目标NAS+Kodi是All in one。
如果HTPC硬件比较先进(支持VT-D),也不用这么复杂,安装虚拟机平台(VMware ESXi、PVE)把对应硬件直通,再安装LibreELEC、DSM6就行了。
最小化安装Ubuntu Server 20.04 LTS
由于内存有限,只安装必需的包。官网下载Ubuntu Server 20.04 LTS的ISO,然后使用balenaEtcher写入U盘Boot机安装。
安装过程全部默认,使用整个磁盘不使用LVM,软件包仅安装openssh。手动配置IP,用户名d2o。
删除cloud-init
Remove all cloud-init datasources
1 echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfgUninstall all it’s packages
1 sudo apt-get purge cloud-initDelete all it’s configuration files
1 sudo rm -rf /etc/cloud/; sudo rm -rf /var/lib/cloud/Remove open-iscsi
The iSCSI daemon will wait indefinitely and hang the boot process if it’s not removed when cloud-init is removed
1 sudo apt remove open-iscsi
删除snap
1 | sudo apt purge snapd |
更新所有软件,安装驱动、x框架等kodi的依赖
1 | sudo apt-get update |
配置允许”everyone” 启动Xserver
1 | sudo dpkg-reconfigure xserver-xorg-legacy |
新建kodi用户,并添加响应权限
1 | sudo adduser kodi |
我这里是服务器不需要关机,所以这个不做
编辑/etc/polkit-1/localauthority/50-local.d/custom-actions.pkla
,添加以下内容使kodi可以重启和关机。
1 | [Actions for kodi user] |
添加kodi为服务,实现开机启动,这里直接是用kodi-standalone模式,这样只需要有X11就行了,可以省掉gnome、xface或者openbox之类的桌面环境。编辑/etc/systemd/system/kodi.service
1 | [Unit] |
开机自动启动kodi
1 | sudo systemctl daemon-reload |
安装kodi
准备了这么多,终于开始安装kodi了。安装kodi是很简单的,几条命令搞定。
1 | sudo apt-add-repository ppa:team-xbmc/ppa |
关于遥控
遥控是在同辈兄弟小熊家买的蓝宝石SAPPHIRE Theatrix电视卡附送的遥控器,比一般的HP之类的mce遥控便宜不少,当然代价是不能即插即用。直接插入电脑只能使用一部分按键。
当然这对于一名合格的垃圾佬,这不是什么难题。因为这个早已经有大神解决了,只需要站在巨人的肩膀上就能看得更远。下载Mark Lord大神的驱动,编译上去即可。
1 | sudo apt install build-essential |
这个驱动是为MythTV制作的,要适配kodi的话还需要做一点点keymap的工作。
附上我自己用的2个keymap文件,第一个是遥控器映射为键盘按键的配置,根据自己需求修改后用sapphire_keymap.sh
来加载,第二个是修改kodi默认的键盘快捷键。
/home/kodi/.kodi/userdata/keymaps/gen.xml
最后用这个sapphire的驱动覆盖系统自带的topseed驱动,开机自动加载keymap配置。
编辑文件/etc/systemd/system/sapphire.service
1 | [Unit] |
1 | sudo systemctl daemon-reload |
这样系统启动之后遥控器就直接可用了。
参考:
https://github.com/xbmc/xbmc/blob/master/system/keymaps/remote.xml
https://kodi.wiki/view/Keyboard_controls#Customizing_buttons_through_the_GUI
https://web.archive.org/web/20170714192652/http://kodi.wiki/view/Sapphire_Remote
https://forum.libreelec.tv/thread/634-compile-sapphire-remote-driver/?pageNo=3