Browse Source

add ubuntu section, paritally

Signed-off-by: surenyi <surenyi82@163.com>
master
surenyi 7 months ago
parent
commit
65c5632feb
  1. BIN
      pdf/rk3588_guide.pdf
  2. BIN
      rk3588_guide.pdf
  3. 1
      rk3588_guide.tex
  4. 151
      tex/ubuntu.tex

BIN
pdf/rk3588_guide.pdf

Binary file not shown.

BIN
rk3588_guide.pdf

Binary file not shown.

1
rk3588_guide.tex

@ -238,6 +238,7 @@
\import{tex/}{deploy}
\part{其他}
\import{tex/}{wsl2}
\import{tex/}{ubuntu}
\backmatter{}
%\input{tex/appendix}
%\myclearpage

151
tex/ubuntu.tex

@ -0,0 +1,151 @@
\chapter{制作 ubuntu 文件系统}
在 主机的 Ubuntu 系统里面,可以制作 aarch64 的文件系统,这里介绍一下步骤。
\section{ 安装依赖软件}
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
sudo apt install qemu-user-static debootstrap
\end{minted}
\section{下载基础系统}
这里以安装 Ubuntu 22.04 为例:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
mkdir ubuntu
sudo debootstrap --arch=arm64 --foreign jammy ubuntu
sudo cp /usr/bin/qemu-aarch64-static ubuntu/usr/bin
sudo chroot ubuntu /usr/bin/qemu-aarch64-static /bin/sh \
-i /debootstrap/debootstrap --second-stage
\end{minted}
\section{安装必备软件}
\subsection{安装基础软件}
给目标系统安装常用程序:
\begin{enumerate}[(1)]
\item 进入目标系统:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
sudo mount -o bind /sys ubuntu/sys
sudo mount -o bind /proc ubuntu/proc
sudo mount -o bind /dev ubuntu/dev
sudo mount -o bind /dev/pts ubuntu/dev/pts
sudo chroot ubuntu /usr/bin/qemu-aarch64-static /bin/bash -i
\end{minted}
\item 修改 /etc/apt/sources.list 如下:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
deb http://ports.ubuntu.com/ jammy main universe
deb-src http://ports.ubuntu.com/ jammy main universe
deb http://ports.ubuntu.com/ jammy-security main universe
deb-src http://ports.ubuntu.com/ jammy-security main universe
deb http://ports.ubuntu.com/ jammy-updates main universe
deb-src http://ports.ubuntu.com/ jammy-updates main universe
\end{minted}
\item 更新系统:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get update
apt-get dist-upgrade
\end{minted}
\item 安装常用软件:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get install -y vim-nox build-essential gdb u-boot-tools rsync \
socat jq tcpdump ifupdown minicom i2c-tools lrzsz tftp-hpa \
net-tools dosfstools pciutils memtool ethtool unzip python3-pip
\end{minted}
\item 设置 root 密码:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
passwd root
\end{minted}
\item 设置时区:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
\end{minted}
\item 设置 hostname:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
echo sytc > /etc/hostname
echo "127.0.0.1 sytc" >> /etc/hosts
\end{minted}
\item 设置bash为默认shell:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
dpkg-reconfigure dash
\end{minted}
选择“NO”。
\item 配置 locals:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
dpkg-reconfigure locales
\end{minted}
至少选择 en\_US.UTF-8 和 zh\_CN.UTF-8。
\item 配置/etc/fstab,例如:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / auto rw,noauto 0 1
tmpfs /tmp tmpfs mode=1777 0 0
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
#PARTLABEL=oem /oem ext2 defaults 0 2
PARTLABEL=userdata /userdata ext4 defaults 0 0
proc /proc proc defaults 0 0
devtmpfs /dev devtmpfs defaults 0 0
devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0
tmpfs /dev/shm tmpfs nosuid,nodev,noexec 0 0
sysfs /sys sysfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0
pstore /sys/fs/pstore pstore defaults 0 0
\end{minted}
\item 修改 getty 服务,使 root 自动登录。修改文件 /usr/lib/systemd/system/serial-getty@.service 的 ExecStart 对应的值:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{ini}
[Service]
# The '-o' option value tells agetty to replace 'login' arguments with an
# option to preserve environment (-p), followed by '--' for safety, and then
# the entered username.
ExecStart=-/sbin/agetty --autologin root --noclear %I $TER
#ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM
Type=idle
\end{minted}
使能串口服务:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{ini}
systemctl enable serial-getty@ttyFIQ0.service
\end{minted}
\item 设置网络参数/etc/network/interfaces.d/eth1
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{ini}
auto eth1
iface eth1 inet static
address 192.168.1.80
netmask 255.255.255.0
gateway 192.168.1.1
\end{minted}
修改/etc/network/interfaces,执行命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash}
echo "source-directory /etc/network/interfaces.d"> /etc/network/interfaces
\end{minted}
\end{enumerate}
\subsection{安装 ssh server}
\noindent 安装软件:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get install openssh-server
\end{minted}
配置允许root登陆,将/etc/ssh/sshd\_config中的:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
#PermitRootLogin prohibit-password
\end{minted}
改为:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
PermitRootLogin yes
\end{minted}
\subsection{安装 rockchip 硬解码器}
\noindent 添加软件源:
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get install software-properties-common
add-apt-repository ppa:george-coolpi/multimedia
apt update
\end{minted}
\noindent 安装 gstreamer :
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools \
gstreamer1.0-alsa gstreamer1.0-pulseaudio ffmpeg
\end{minted}
\noindent 安装插件gstreamer1.0-rockchip
\begin{minted}[bgcolor=lightgray!30,fontsize=\footnotesize]{bash}
apt-get install gstreamer1.0-rockchip
\end{minted}
Loading…
Cancel
Save