Difference between revisions of "Template:DebianBusterDesktop-Common"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
===Account & Password===
 
===Account & Password===
Regular Account:
+
Regular Account:<br/>
    User Name: pi
+
&nbsp;&nbsp;&nbsp;&nbsp;User Name: pi<br/>
    Password: pi
+
&nbsp;&nbsp;&nbsp;&nbsp;Password: pi<br/>
 
+
<br/>
Root:
+
Root:<br/>
    the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.
+
&nbsp;&nbsp;&nbsp;&nbsp;the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.
 
+
 
===View IP address===
 
===View IP address===
Since the Debian Buster hostname is FriendlyElec.lan by default, you can use the ping command to get the IP address:
+
Since the Debian Buster hostname is the hardware model by default, you can use the ping command to get the IP address:<code>ping {{{1}}}</code><br/>
<syntaxhighlight lang="bash">
+
ping FriendlyElec.lan
+
</syntaxhighlight>
+
 
+
 
===Connect to Debian via SSH===
 
===Connect to Debian via SSH===
<syntaxhighlight lang="bash">
+
Run the following command<code>ssh pi@{{{1}}}</code><br/>
ssh pi@FriendlyElec.lan
+
</syntaxhighlight>
+
 
The default password is: pi
 
The default password is: pi
  
Line 23: Line 16:
 
$ sudo apt-get update
 
$ sudo apt-get update
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
===Install x11vnc Server on Debian for Remote Access===
 +
====Install x11vnc server====
 +
The following command to install x11vnc server:
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install x11vnc
 +
</syntaxhighlight>
 +
====Set your password====
 +
<syntaxhighlight lang="bash">
 +
sudo x11vnc -storepasswd /etc/x11vnc.pwd
 +
</syntaxhighlight>
 +
====Setup x11vnc server with systemd auto start up====
 +
Create service configuration file:
 +
<syntaxhighlight lang="bash">
 +
sudo vi /lib/systemd/system/x11vnc.service
 +
</syntaxhighlight>
 +
Let’s copy and paste the following configuration into our newly create service file:
 +
<syntaxhighlight lang="bash">
 +
[Unit]
 +
Description=Start x11vnc at startup.
 +
Requires=display-manager.service
 +
After=syslog.target network-online.target
 +
Wants=syslog.target network-online.target
  
 +
[Service]
 +
Type=simple
 +
ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak
 +
ExecStop=/usr/bin/x11vnc -R stop
 +
Restart=on-failure
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
</syntaxhighlight>
 +
The following commands to reload the systmd system and to enable and start the x11vnc service:
 +
<syntaxhighlight lang="bash">
 +
sudo systemctl daemon-reload
 +
sudo systemctl enable x11vnc.service
 +
sudo systemctl start x11vnc
 +
</syntaxhighlight>
 +
====Testing remote access====
 +
Start the VNC client software, input IP:5900 to connect:<br />
 +
[[File:Debian10-x11vnc.png|frameless|480px]]
 
===Install the kernel-header package===
 
===Install the kernel-header package===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo dpkg -i /opt/linux-headers-*.deb
 
sudo dpkg -i /opt/linux-headers-*.deb
 +
</syntaxhighlight>
 +
try to compile a kernel module:
 +
<syntaxhighlight lang="bash">
 +
sudo apt update
 +
sudo apt install git gcc make bc
 +
git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver.git
 +
cd RTL88x2BU-Linux-Driver
 +
make -j$(nproc)
 +
sudo make install
 +
sudo modprobe 88x2bu
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 54: Line 97:
 
  | NanoPi-R2S
 
  | NanoPi-R2S
 
  | NanoPi-R2C-Plus
 
  | NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 
  | NanoPi-R2C =
 
  | NanoPi-R2C =
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/friendlyarm/sd-fuse_rk3328.git -b kernel-4.19
+
git clone https://github.com/friendlyarm/sd-fuse_rk3328.git -b kernel-4.19 --single-branch
 
cd sd-fuse_rk3328
 
cd sd-fuse_rk3328
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
| NanoPi-R5C
 
  | NanoPi-R5S =
 
  | NanoPi-R5S =
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/friendlyarm/sd-fuse_rk3568.git -b master
+
git clone https://github.com/friendlyarm/sd-fuse_rk3568.git -b kernel-6.1.y --single-branch
 
cd sd-fuse_rk3568
 
cd sd-fuse_rk3568
 +
</syntaxhighlight>
 +
| NanoPi-R6C
 +
| NanoPC-T6
 
  | NanoPi-R6S =
 
  | NanoPi-R6S =
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git -b master
+
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git -b kernel-6.1.y --single-branch
 
cd sd-fuse_rk3588
 
cd sd-fuse_rk3588
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  | #default =
 
  | #default =
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19
+
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19 --single-branch
 
cd sd-fuse_rk3399
 
cd sd-fuse_rk3399
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 78: Line 126:
 
convert files/logo.jpg -type truecolor /tmp/logo.bmp
 
convert files/logo.jpg -type truecolor /tmp/logo.bmp
 
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
 
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh eflasher
 
 
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-buster-desktop-arm64
 
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-buster-desktop-arm64
 +
sudo ./mk-sd-image.sh debian-buster-desktop-arm64
 
./mk-emmc-image.sh debian-buster-desktop-arm64
 
./mk-emmc-image.sh debian-buster-desktop-arm64
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
Note: If your system is not debian-buster-desktop-arm64, please specify according to the actual situation
 
====Change Wallpaper====
 
====Change Wallpaper====
 
Modify the following configuration file:
 
Modify the following configuration file:
Line 137: Line 186:
 
After reboot, press Ctrl+Space to switch between Chinese and English input methods, and the input method icon will appear in the upper right corner, right-click the input method icon in the upper right corner to switch input methods in the pop-up menu, as shown below:<br />
 
After reboot, press Ctrl+Space to switch between Chinese and English input methods, and the input method icon will appear in the upper right corner, right-click the input method icon in the upper right corner to switch input methods in the pop-up menu, as shown below:<br />
 
[[File:Debian10-chinese-im.png|frameless|480px]]<br />
 
[[File:Debian10-chinese-im.png|frameless|480px]]<br />
 
+
===Installing Plex Multimedia Server===
===Install x11vnc Server on Debian for Remote Access===
+
Visit the Plex website: https://www.plex.tv/media-server-downloads/<br />
====Install x11vnc server====
+
On the download page, select the category "Plex Media Server", choose "Linux" for the platform and "Ubuntu(16.04+)/Debian(8+) - ARMv8" for the version, <br />
The following command to install x11vnc server:
+
After downloading the deb package, use the dpkg command to install the package: <br />
<syntaxhighlight lang="bash">
+
sudo apt-get install x11vnc
+
</syntaxhighlight>
+
====Set your password====
+
<syntaxhighlight lang="bash">
+
sudo x11vnc -storepasswd /etc/x11vnc.pwd
+
</syntaxhighlight>
+
====Setup x11vnc server with systemd auto start up====
+
Create service configuration file:
+
<syntaxhighlight lang="bash">
+
sudo vi /lib/systemd/system/x11vnc.service
+
</syntaxhighlight>
+
Let’s copy and paste the following configuration into our newly create service file:
+
<syntaxhighlight lang="bash">
+
[Unit]
+
Description=Start x11vnc at startup.
+
Requires=display-manager.service
+
After=syslog.target network-online.target
+
Wants=syslog.target network-online.target
+
 
+
[Service]
+
Type=simple
+
ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak
+
ExecStop=/usr/bin/x11vnc -R stop
+
Restart=on-failure
+
 
+
[Install]
+
WantedBy=multi-user.target
+
</syntaxhighlight>
+
The following commands to reload the systmd system and to enable and start the x11vnc service:
+
<syntaxhighlight lang="bash">
+
sudo systemctl daemon-reload
+
sudo systemctl enable x11vnc.service
+
sudo systemctl start x11vnc
+
</syntaxhighlight>
+
====Testing remote access====
+
Start the VNC client software, input IP:5900 to connect:<br />
+
[[File:Debian10-x11vnc.png|frameless|480px]]<br />
+
 
+
===Install Docker Engine on Debian===
+
The docker installer uses iptables for nat, unfortunately Debian uses nftables, here we just setup Debian to use the legacy iptables:
+
<syntaxhighlight lang="bash">
+
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
+
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
+
</syntaxhighlight>
+
====Install Docker Engine====
+
<syntaxhighlight lang="bash">
+
curl -fsSL https://get.docker.com | bash
+
</syntaxhighlight>
+
Let’s verify:
+
<syntaxhighlight lang="bash">
+
sudo docker info
+
</syntaxhighlight>
+
====Run Docker as a non-root user====
+
<syntaxhighlight lang="bash">
+
sudo groupadd docker
+
sudo gpasswd -a ${USER} docker
+
sudo systemctl restart docker
+
sudo chmod a+rw /var/run/docker.sock
+
</syntaxhighlight>
+
Let’s verify:
+
<syntaxhighlight lang="bash">
+
docker images
+
</syntaxhighlight>
+
====Testing Docker: Installing Nextcloud with docker====
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
mkdir ~/nextcloud -p
+
sudo dpkg -i plexmediaserver_1.31.0.6654-02189b09f_arm64.deb
docker run -d -p 8888:80  --name nextcloud  -v ~/nextcloud/:/var/www/html/ --restart=always --privileged=true  arm64v8/nextcloud
+
 
</syntaxhighlight>
 
</syntaxhighlight>
After installation, visit: http://Device-IP-Address:8888 on your computer browser to view the nextcloud web page.
+
After installation, login to the Plex server by typing the following URL into your computer browser: http://IP地址:32400/web/ <br/>
 +
===Install Docker on Debian===
 +
Please refer to: [[How to Install Docker on Debian]]

Latest revision as of 10:53, 4 December 2023

1 Account & Password

Regular Account:
    User Name: pi
    Password: pi

Root:
    the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.

2 View IP address

Since the Debian Buster hostname is the hardware model by default, you can use the ping command to get the IP address:ping {{{1}}}

3 Connect to Debian via SSH

Run the following commandssh pi@{{{1}}}
The default password is: pi

4 Update Software Packages

$ sudo apt-get update

5 Install x11vnc Server on Debian for Remote Access

5.1 Install x11vnc server

The following command to install x11vnc server:

sudo apt-get install x11vnc

5.2 Set your password

sudo x11vnc -storepasswd /etc/x11vnc.pwd

5.3 Setup x11vnc server with systemd auto start up

Create service configuration file:

sudo vi /lib/systemd/system/x11vnc.service

Let’s copy and paste the following configuration into our newly create service file:

[Unit]
Description=Start x11vnc at startup.
Requires=display-manager.service
After=syslog.target network-online.target
Wants=syslog.target network-online.target
 
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

The following commands to reload the systmd system and to enable and start the x11vnc service:

sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc

5.4 Testing remote access

Start the VNC client software, input IP:5900 to connect:
Debian10-x11vnc.png

6 Install the kernel-header package

sudo dpkg -i /opt/linux-headers-*.deb

try to compile a kernel module:

sudo apt update
sudo apt install git gcc make bc
git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver.git
cd RTL88x2BU-Linux-Driver
make -j$(nproc)
sudo make install
sudo modprobe 88x2bu

7 Change time zone

7.1 Check the current time zone

timedatectl

7.2 List all available time zones

timedatectl list-timezones

7.3 Set the time zone (e.g. Shanghai)

sudo timedatectl set-timezone Asia/Shanghai

8 Change startup LOGO and Wallpaper

Replace the following two files in the kernel source code directory and recompile the kernel:
kernel/logo.bmp
kernel/logo_kernel.bmp
Or use the script to operate, as shown below:

  • Download scripts:
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19 --single-branch
cd sd-fuse_rk3399
  • Compile kernel and repackage firmware
convert files/logo.jpg -type truecolor /tmp/logo.bmp
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-buster-desktop-arm64
sudo ./mk-sd-image.sh debian-buster-desktop-arm64
./mk-emmc-image.sh debian-buster-desktop-arm64

Note: If your system is not debian-buster-desktop-arm64, please specify according to the actual situation

8.2 Change Wallpaper

Modify the following configuration file:

/home/pi/.config/pcmanfm/LXDE/desktop-items-0.conf

9 Soft Factory Reset

Execute the following command in a terminal:

sudo firstboot && sudo reboot

10 Start the program automatically at startup(For example Kodi)

Put the desktop file in the ~/.config/autostart/ directory, for example:

mkdir ~/.config/autostart/
cp /usr/share/applications/kodi.desktop ~/.config/autostart/

11 Disable auto-mounting

sudo systemctl mask udisks2
sudo reboot

12 Setup Chinese language and Input method

12.1 Setup Chinese language

Enter the following command and select 'zh_CN.UTF-8':

sudo dpkg-reconfigure locales

Add environment variables to .bashrc:

echo "export LC_ALL=zh_CN.UTF-8" >> ~/.bashrc
echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=zh_CN.UTF-8" >> ~/.bashrc

Reboot device:

sudo reboot

12.2 Installing Chinese input method

Enter the following command to install fcitx and Pinyin input method:

sudo apt update
sudo apt-get install fcitx fcitx-pinyin
sudo apt-get install im-config
sudo apt-get install fcitx-table*
sudo apt-get install fcitx-ui-classic fcitx-ui-light
sudo apt-get install fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4
sudo apt-get remove --purge scim* ibus*
sudo reboot

After reboot, press Ctrl+Space to switch between Chinese and English input methods, and the input method icon will appear in the upper right corner, right-click the input method icon in the upper right corner to switch input methods in the pop-up menu, as shown below:
Debian10-chinese-im.png

13 Installing Plex Multimedia Server

Visit the Plex website: https://www.plex.tv/media-server-downloads/
On the download page, select the category "Plex Media Server", choose "Linux" for the platform and "Ubuntu(16.04+)/Debian(8+) - ARMv8" for the version,
After downloading the deb package, use the dpkg command to install the package:

sudo dpkg -i plexmediaserver_1.31.0.6654-02189b09f_arm64.deb

After installation, login to the Plex server by typing the following URL into your computer browser: http://IP地址:32400/web/

14 Install Docker on Debian

Please refer to: How to Install Docker on Debian