Commit 35f9a798 authored by carbon's avatar carbon

The officially supported compilation environment is Ubuntu Jammy 22.04.x amd64 only

parent 8c678401
...@@ -34,46 +34,9 @@ Milk-V DuoはCV1800Bをベースにした超小型の組み込みプラットフ ...@@ -34,46 +34,9 @@ Milk-V DuoはCV1800Bをベースにした超小型の組み込みプラットフ
## コンパイル環境の準備 ## コンパイル環境の準備
- ローカルのUbuntuを使う場合`Ubuntu 20.04 LTS`をお勧めします。 - 公式にサポートされているコンパイル環境は、`Ubuntu Jammy 22.04.x amd64` のみです。
<br>
(仮想マシンにインストールされたUbuntuやWSLやUbuntuのDockerも使えます。)
- `mobaXterm`とか`Xshell`のようなシリアルポートツールをインストールしてください - `mobaXterm`とか`Xshell`のようなシリアルポートツールをインストールしてください
### Ubuntu 20.04 LTSに必要なツール
依存関係をコンパイルするためにインストールするもの
```bash
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tclsh ssh-client android-sdk-ext4-utils
```
注意: `cmake`は最低でも`3.16.5`以降が必要です。
システムにインストールされている`cmake`のバージョンを確認してください
```bash
cmake --version
```
`Ubuntu 20.04`のaptでデフォルトでインストールされている`cmake`のバージョンは
```text
cmake version 3.16.3
```
です。条件を満たしていないので手動で最新の`cmake`をインストールしてください
```bash
wget https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-x86_64.sh
chmod +x cmake-3.27.6-linux-x86_64.sh
sudo sh cmake-3.27.6-linux-x86_64.sh --skip-license --prefix=/usr/local/
```
手動でインストールした`cmake``/usr/local/bin`に配置されます。`cmake --version`すると以下のように出力されるはずです。
```
cmake version 3.27.6
```
### Ubuntu 22.04 LTSに必要なツール ### Ubuntu 22.04 LTSに必要なツール
依存関係をコンパイルするためにインストールするもの 依存関係をコンパイルするためにインストールするもの
...@@ -82,25 +45,6 @@ cmake version 3.27.6 ...@@ -82,25 +45,6 @@ cmake version 3.27.6
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake
``` ```
SDKのmkimageコマンドは`libssl1.1`に依存しています。`dpkg -s libssl1.1`でインストールされているか確認してください
インストールされていない場合、2通りの方法でインストールできます。
1. 追加のリポジトリからインストール
```bash
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt update
sudo apt install libssl1.1
```
2. debパッケージを手動でダウンロードしてインストール
```bash
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
```
## イメージのコンパイル ## イメージのコンパイル
### SDKのソースコードをダウンロード ### SDKのソースコードをダウンロード
......
...@@ -34,71 +34,17 @@ Milk-V Duo是一个基于CV1800B芯片的超紧凑嵌入式开发平台。它可 ...@@ -34,71 +34,17 @@ Milk-V Duo是一个基于CV1800B芯片的超紧凑嵌入式开发平台。它可
## 准备编译环境 ## 准备编译环境
- 使用本地的Ubuntu系统,推荐 `Ubuntu 20.04 LTS` - 使用本地的Ubuntu系统,官方支持的编译环境是 `Ubuntu Jammy 22.04.x amd64`
<br>
(也可以使用虚拟机中的Ubuntu系统、Windows中WSL安装的Ubuntu、基于Docker的Ubuntu系统)
- 安装串口工具: `mobarXterm` 或者 `Xshell` 或者其他。 - 安装串口工具: `mobarXterm` 或者 `Xshell` 或者其他。
### Ubuntu 20.04 LTS 下需要安装的工具 ### Ubuntu 22.04 LTS 下需要安装的工具包
安装编译依赖的工具: 安装编译依赖的工具包:
```
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tclsh ssh-client android-sdk-ext4-utils
```
注意:`cmake` 版本最低要求 `3.16.5`
查看系统中 `cmake` 的版本号
```bash
cmake --version
```
当前`Ubuntu 20.04`中用 apt 安装的 cmake 版本号为
```text
cmake version 3.16.3
```
不满足此SDK最低要求,需要手动安装目前最新的`3.27.6`版本
```
wget https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-x86_64.sh
chmod +x cmake-3.27.6-linux-x86_64.sh
sudo sh cmake-3.27.6-linux-x86_64.sh --skip-license --prefix=/usr/local/
```
手动安装的`cmake``/usr/local/bin`中,此时用`cmake --version`命令查看其版本号, 应为
```
cmake version 3.27.6
```
### Ubuntu 22.04 LTS 下需要安装的工具
安装编译依赖的工具:
```bash ```bash
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake
``` ```
另外,SDK中的mkimage命令依赖的`libssl1.1`,在 Ubuntu22.04 中已弃用,需要手动安装,以下两种方法都可以
1. 补源安装
```bash
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt update
sudo apt install libssl1.1
```
2. 手动下载deb包安装
```bash
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
```
## 编译 ## 编译
### 获取SDK ### 获取SDK
......
...@@ -34,72 +34,17 @@ Milk-V Duo is an ultra-compact embedded development platform based on the CV1800 ...@@ -34,72 +34,17 @@ Milk-V Duo is an ultra-compact embedded development platform based on the CV1800
## Prepare the Compilation Environment ## Prepare the Compilation Environment
- Using a local Ubuntu system, `Ubuntu 20.04 LTS` is recommended. - Using a local Ubuntu system, the officially supported compilation environment is `Ubuntu Jammy 22.04.x amd64` only!
<br>
(You can also use Ubuntu installed in a virtual machine, Ubuntu installed through WSL on Windows, or Ubuntu-based systems using Docker)
- Install a serial port tool: `mobaXterm` or `Xshell` or others. - Install a serial port tool: `mobaXterm` or `Xshell` or others.
### Tools to be installed on Ubuntu 20.04 LTS ### Packages to be installed on Ubuntu 22.04 LTS
Install the tools that compile dependencies: Install the packages that compile dependencies:
```bash
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tclsh ssh-client android-sdk-ext4-utils
```
Note:`cmake` minimum version requirement is `3.16.5`
Check the version of `cmake` in the system
```bash
cmake --version
```
The version of `cmake` installed using apt in the current `Ubuntu 20.04` is
```text
cmake version 3.16.3
```
The minimum requirement of this SDK is not met. Manual installation of the latest version `3.27.6` is needed.
```bash
wget https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-x86_64.sh
chmod +x cmake-3.27.6-linux-x86_64.sh
sudo sh cmake-3.27.6-linux-x86_64.sh --skip-license --prefix=/usr/local/
```
When manually installed, `cmake` is located in `/usr/local/bin`. To check its version, use the command `cmake --version`, which should display
```
cmake version 3.27.6
```
### Tools to be installed on Ubuntu 22.04 LTS
Install the tools that compile dependencies:
```bash ```bash
sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake
``` ```
Additionally, the mkimage command in the SDK relies on `libssl1.1`. Sometimes the system won't contain that because it has been deprecated, use `dpkg -s libssl1.1` to check if you have installed it.
If not, the following two methods are both applicable:
1. Installation with additional repositories
```bash
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt update
sudo apt install libssl1.1
```
2. Manual download and installation of the deb package
```bash
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
```
### Compiling with Windows Linux Subsystem (WSL) ### Compiling with Windows Linux Subsystem (WSL)
If you wish to perform the compilation with WSL, there's an small issue building the image. If you wish to perform the compilation with WSL, there's an small issue building the image.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment