Signed-off-by: Wang Chenglong 18509160991@163.com --- doc/tutorial.md | 71 ++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/doc/tutorial.md b/doc/tutorial.md index bf72630..bab40bc 100644 --- a/doc/tutorial.md +++ b/doc/tutorial.md @@ -150,61 +150,24 @@ job yaml ���������������������������������������������[YAML](http://yaml.org/YAM
#### ������������
- 1. ������������ os ��������� rootfs������ openEuler ��������� - - ������ docker ������ rootfs - - 1) ������ openEuler ��������������� docker ��������������� - - ```bash - wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-... - ``` - 2) ������ docker ������ - ```bash - docker load -i openEuler-docker.aarch64 - ``` - - 3) ������ openEuler ������ - ```bash - docker run -id openeuler-20.03-lts - ``` - 4) ������ docker ��� rootfs - ```bash - docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs - ``` - - ������ qemu.img(qcow2������)������ rootfs (openEuler������) - - - 1) ������ openEule r��������������������� qcow2 ������������ - ```bash - wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/o... - ``` - 2) ������{compass-ci}/container/qcow2rootfs ������rootfs - ```bash - cd {compass-ci}/container/qcow2rootfs - ./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs - ``` - 2. ������rootfs - 1. ������chroot��������������� rootfs (��������������� root ������) - ```bash - chroot openEuler-rootfs - ``` - 2. ��������������������������������������� - - a. ������ root ������ - b. ������ ssh ������ - c. ������������������ - d. ������������ docker ������ osimage ������������������������ - > 1. ������������������������ - > 2. ��� centos ������������������������rpm��� - > 3. ������ yum ������������ - > 4. ������ docker ������������������ - - 3. ������ rootfs������������ - ```bash - cd $rootfs - find . | coip -o -Hnewc |gzip -9 > $os_name.cgz - ``` + 1. ������������������ openEuler ��������� + ```bash + cd {compass-ci}/rootfs/initramfs/openeuler/aarch64/20.03-LTS/ + ./run + ``` + + 2. ������������������/������������ + ������������������ {compass-ci} ������������������������������������������������������rootfs��������� rootfs ������������������������������������������������������/��������������������������� + ```bash + mkdir rootfs + cd rootfs + zcat ../$os_name.cgz | cpio -idmv + find ./lib/modules/* | cpio -o -Hnewc | gzip -9 > $HOME/modules-$os_name.cgz + find ./usr/src/kernels/* | cpio -o -Hnewc | gzip -9 > $HOME/headers-$os_name.cgz + ``` + #### FAQ + 1. ������������ ���Unable to mount root fs on unknown-block��� - ������������ ```bash
On Wed, Jan 06, 2021 at 02:13:03PM +0800, Wang Chenglong wrote:
Signed-off-by: Wang Chenglong 18509160991@163.com
doc/tutorial.md | 71 ++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/doc/tutorial.md b/doc/tutorial.md index bf72630..bab40bc 100644 --- a/doc/tutorial.md +++ b/doc/tutorial.md @@ -150,61 +150,24 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM
#### 操作步骤
- 获取对应 os 版本的 rootfs(以 openEuler 为例)
- 通过 docker 获取 rootfs
1) 下载 openEuler 官方提供的 docker 镜像压缩包
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
```
2) 加载 docker 镜像
```bash
docker load -i openEuler-docker.aarch64
```
3) 启动 openEuler 容器
```bash
docker run -id openeuler-20.03-lts
```
4) 拷贝 docker 的 rootfs
```bash
docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs
```
- 通过 qemu.img(qcow2格式)获取 rootfs (openEuler为例)
1) 下载 openEule r官方网站提供的 qcow2 格式镜像
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz
```
2) 使用{compass-ci}/container/qcow2rootfs 制作rootfs
```bash
cd {compass-ci}/container/qcow2rootfs
./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs
```
- 定制rootfs
1. 使用chroot命令切换到 rootfs (此步骤需要 root 权限)
```bash
chroot openEuler-rootfs
```
2. 根据个人需要安装并配置服务
a. 修改 root 密码
b. 配置 ssh 服务
c. 检查系统时间
d. 如果使用 docker 制作 osimage 还需要以下操作:
> 1. 安装所需版本内核
> 2. 从 centos 官方网站下载内核rpm包
> 3. 使用 yum 进行安装
> 4. 删除 docker 环境变量文件
- 退出 rootfs,并打包
```bash
cd $rootfs
find . | coip -o -Hnewc |gzip -9 > $os_name.cgz
```
- 制作镜像(以 openEuler 为例)
```bash
cd {compass-ci}/rootfs/initramfs/openeuler/aarch64/20.03-LTS/
./run
```
- 打包驱动软件/内核源码
如果想要使用 {compass-ci} 未提供的内核版本,可以解压镜像,获取rootfs后,在 rootfs 中手动安装对应版本内核,并将驱动软件/内核源码进行打包。
```bash
mkdir rootfs
cd rootfs
zcat ../$os_name.cgz | cpio -idmv
find ./lib/modules/* | cpio -o -Hnewc | gzip -9 > $HOME/modules-$os_name.cgz
find ./usr/src/kernels/* | cpio -o -Hnewc | gzip -9 > $HOME/headers-$os_name.cgz
```
#### FAQ
- 日志报错 “Unable to mount root fs on unknown-block”
- 问题现象
-- 2.23.0
On Wed, Jan 06, 2021 at 02:13:03PM +0800, Wang Chenglong wrote:
Signed-off-by: Wang Chenglong 18509160991@163.com
doc/tutorial.md | 71 ++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/doc/tutorial.md b/doc/tutorial.md index bf72630..bab40bc 100644 --- a/doc/tutorial.md +++ b/doc/tutorial.md @@ -150,61 +150,24 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM
#### 操作步骤
- 获取对应 os 版本的 rootfs(以 openEuler 为例)
- 通过 docker 获取 rootfs
1) 下载 openEuler 官方提供的 docker 镜像压缩包
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
```
2) 加载 docker 镜像
```bash
docker load -i openEuler-docker.aarch64
```
3) 启动 openEuler 容器
```bash
docker run -id openeuler-20.03-lts
```
4) 拷贝 docker 的 rootfs
```bash
docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs
```
- 通过 qemu.img(qcow2格式)获取 rootfs (openEuler为例)
1) 下载 openEule r官方网站提供的 qcow2 格式镜像
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz
```
2) 使用{compass-ci}/container/qcow2rootfs 制作rootfs
```bash
cd {compass-ci}/container/qcow2rootfs
./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs
```
- 定制rootfs
1. 使用chroot命令切换到 rootfs (此步骤需要 root 权限)
```bash
chroot openEuler-rootfs
```
2. 根据个人需要安装并配置服务
a. 修改 root 密码
b. 配置 ssh 服务
c. 检查系统时间
d. 如果使用 docker 制作 osimage 还需要以下操作:
> 1. 安装所需版本内核
> 2. 从 centos 官方网站下载内核rpm包
> 3. 使用 yum 进行安装
> 4. 删除 docker 环境变量文件
- 退出 rootfs,并打包
```bash
cd $rootfs
find . | coip -o -Hnewc |gzip -9 > $os_name.cgz
```
- 制作镜像(以 openEuler 为例)
```bash
cd {compass-ci}/rootfs/initramfs/openeuler/aarch64/20.03-LTS/
^ how about $CCI_SRC ?
./run
```
- 打包驱动软件/内核源码
如果想要使用 {compass-ci} 未提供的内核版本,可以解压镜像,获取rootfs后,在 rootfs 中手动安装对应版本内核,并将驱动软件/内核源码进行打包。
^ ditto
Thanks, Shenwei
```bash
mkdir rootfs
cd rootfs
zcat ../$os_name.cgz | cpio -idmv
find ./lib/modules/* | cpio -o -Hnewc | gzip -9 > $HOME/modules-$os_name.cgz
find ./usr/src/kernels/* | cpio -o -Hnewc | gzip -9 > $HOME/headers-$os_name.cgz
```
#### FAQ
- 日志报错 “Unable to mount root fs on unknown-block”
- 问题现象
-- 2.23.0
On Wed, Jan 06, 2021 at 02:23:31PM +0800, Xiao Shenwei wrote:
On Wed, Jan 06, 2021 at 02:13:03PM +0800, Wang Chenglong wrote:
Signed-off-by: Wang Chenglong 18509160991@163.com
doc/tutorial.md | 71 ++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/doc/tutorial.md b/doc/tutorial.md index bf72630..bab40bc 100644 --- a/doc/tutorial.md +++ b/doc/tutorial.md @@ -150,61 +150,24 @@ job yaml 是测试描述和执行的基本单元,以[YAML](http://yaml.org/YAM
#### 操作步骤
- 获取对应 os 版本的 rootfs(以 openEuler 为例)
- 通过 docker 获取 rootfs
1) 下载 openEuler 官方提供的 docker 镜像压缩包
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
```
2) 加载 docker 镜像
```bash
docker load -i openEuler-docker.aarch64
```
3) 启动 openEuler 容器
```bash
docker run -id openeuler-20.03-lts
```
4) 拷贝 docker 的 rootfs
```bash
docker cp -a docker run -d openeuler-20.03-lts:/ openEuler-rootfs
```
- 通过 qemu.img(qcow2格式)获取 rootfs (openEuler为例)
1) 下载 openEule r官方网站提供的 qcow2 格式镜像
```bash
wget https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/openEuler-20.03-LTS.aarch64.qcow2.xz
```
2) 使用{compass-ci}/container/qcow2rootfs 制作rootfs
```bash
cd {compass-ci}/container/qcow2rootfs
./run openEuler-20.03-LTS.aarch64.qcow2.xz /tmp/openEuler-rootfs
```
- 定制rootfs
1. 使用chroot命令切换到 rootfs (此步骤需要 root 权限)
```bash
chroot openEuler-rootfs
```
2. 根据个人需要安装并配置服务
a. 修改 root 密码
b. 配置 ssh 服务
c. 检查系统时间
d. 如果使用 docker 制作 osimage 还需要以下操作:
> 1. 安装所需版本内核
> 2. 从 centos 官方网站下载内核rpm包
> 3. 使用 yum 进行安装
> 4. 删除 docker 环境变量文件
- 退出 rootfs,并打包
```bash
cd $rootfs
find . | coip -o -Hnewc |gzip -9 > $os_name.cgz
```
- 制作镜像(以 openEuler 为例)
```bash
cd {compass-ci}/rootfs/initramfs/openeuler/aarch64/20.03-LTS/
^ how about $CCI_SRC ?
good idea.
./run
```
- 打包驱动软件/内核源码
如果想要使用 {compass-ci} 未提供的内核版本,可以解压镜像,获取rootfs后,在 rootfs 中手动安装对应版本内核,并将驱动软件/内核源码进行打包。
^ ditto
ok
Thanks, Chenglong
Thanks, Shenwei
```bash
mkdir rootfs
cd rootfs
zcat ../$os_name.cgz | cpio -idmv
find ./lib/modules/* | cpio -o -Hnewc | gzip -9 > $HOME/modules-$os_name.cgz
find ./usr/src/kernels/* | cpio -o -Hnewc | gzip -9 > $HOME/headers-$os_name.cgz
```
#### FAQ
- 日志报错 “Unable to mount root fs on unknown-block”
- 问题现象
-- 2.23.0