!271 update 社区开发指南/riscv上安装openKylin.md.

Merge pull request !271 from 李卓珩/N/A
This commit is contained in:
zhangtianxiong 2023-07-04 06:26:52 +00:00 committed by Gitee
commit c5847dd6a5
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 123 additions and 82 deletions

View File

@ -16,14 +16,13 @@ dateCreated: 2022-07-22T06:40:16.074Z
通过以下命令解压
> unxz openkylin-0.9-hifive-unmatched-riscv64.img.xz
> unxz openkylin-1.0-hifive-unmatched-riscv64.img.xz
以上路径请根据自己的实际路径去解压
## 制作SD卡启动盘
首先使用磁盘工具将sd卡格式化。
之后通过命令行将镜像刷入sd卡请运行
首先使用磁盘工具将SD卡格式化。
之后通过命令行将镜像刷入SD卡请运行
> sudo dd if=</path/to/image.img> of=/dev/mmcblk0 bs=1M status=progress
注:</path/to/image.img>的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格
@ -32,7 +31,14 @@ dateCreated: 2022-07-22T06:40:16.074Z
注意要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘您可能会丢失数据。也可通过磁盘工具的恢复磁盘映像功能来将镜像刷入sd卡。
## 修改u-boot配置文件
## 烧录后分配SD卡剩余空间
执行以下命令将SD卡剩余空间分配到根分区。
此命令假设您SD卡的设备号为/dev/sdb分盘时请根据实际的设备号进行分盘。
sudo apt install cloud-utils
sudo growpart /dev/sdb 4
sudo resize2fs /dev/sdb4
## 修改U-BOOT配置文件
> sudo mount /dev/mmcblk0p4 /mnt
> sudo mount /dev/mmcblk0p3 /mnt/boot
> sudo chroot /mnt
@ -51,9 +57,10 @@ dateCreated: 2022-07-22T06:40:16.074Z
>fdt /hifive-unmatched-a00.dtb
然后退出:
>exit
>sudo umount /mnt/boot
>sudo umount /mnt
> exit
> sudo umount /mnt/boot
> sudo umount /mnt
## 第一次启动
首次启动之后系统中会存在一个默认用户当桌面环境启动之后您可以通过默认用户进行Unmatched首次登陆后期可以根据自己需求进行用户或密码的更改。
默认用户名/密码是
@ -62,9 +69,9 @@ dateCreated: 2022-07-22T06:40:16.074Z
同时也支持以下两种登录方式
## 连接到串行控制台
HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到串行控制台。 如果使用 openkylin RISC-V 计算机来监控串行输出,将该计算机连接到 Unmatched 上 SD 卡插槽旁边的Micro USB 端口并运行
HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到串行控制台。 如果使用 openkylin 计算机来监控串行输出,将该计算机连接到 Unmatched 上 SD 卡插槽旁边的Micro USB 端口并运行
>sudo screen /dev/ttyUSB1 115200
> sudo screen /dev/ttyUSB1 115200
按下电源按钮后,启动输出将开始出现在会话中。
## 将 openkylin RISC-V 安装到 NVMe 驱动器
@ -74,7 +81,7 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到
> https://www.openkylin.top/downloads
通过以下命令解压
> unxz openkylin-0.9-hifive-unmatched-riscv64.img.xz
> unxz openkylin-1.0-hifive-unmatched-riscv64.img.xz
以上路径请根据自己的实际路径去解压
@ -86,6 +93,13 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到
注:</path/to/image.img>的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格
## 烧录后分NVMe硬盘剩余空间
执行以下命令将NVMe硬盘剩余空间分配到根分区。
此命令假设您SD卡的设备号为/dev/sdb分盘时请根据实际的设备号进行分盘。
sudo apt install cloud-utils
sudo growpart /dev/sdb 4
sudo resize2fs /dev/sdb4
恭喜! 您现在在 HiFive Unmatched 的 NVMe 驱动器上安装了 openkylin RISC-V。 然而,仍然有一个问题。 Unmatched 仍然需要存在 SD 卡才能启动,并且存在可能导致它在 SD 卡而不是 NVMe 驱动器上安装根文件系统的竞争条件。 为防止出现这种情况,请通过运行将新刷入的 NVMe 驱动器和 chroot 挂载到其中
> sudo mount /dev/nvme0n1p4 /mnt
> sudo moubt /dev/nvme0n1p3 /mnt/boot
@ -109,60 +123,119 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到
然后重新启动系统, 它现在将从您的 NVMe 驱动器启动,您将获得显着的性能提升!
# 二、在 VisionFive 上安装openKylin
# 二、在 Sophgo sg2042 上安装openKylin
## 准备SD卡
openkylin适配VisionFive的镜像可以通过以下链接下载
openkylin适配Sophgo sg2042的镜像可以通过以下链接下载
> https://www.openkylin.top/downloads
通过以下命令解压
> unxz openkylin-0.9-visionfive-riscv64.img.xz
> unxz openkylin-1.0-sophgo-sg2042-riscv64.img.xz
以上路径请根据自己的实际路径去解压
## 制作SD卡启动盘
首先使用磁盘工具将sd卡格式化。
之后通过命令行将镜像刷入sd卡,请运行:
首先使用磁盘工具将SD卡格式化。
之后通过命令行将镜像刷入SD卡,请运行:
> sudo dd if=</path/to/image.img> of=/dev/mmcblk0 bs=1M status=progress
注:</path/to/image.img>的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格
此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0
此命令假设您已将SD卡插入开发板的SD卡插槽中。 如果您使用的是USB读卡器它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0
注意要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。
## 烧录后分配SD卡剩余空间
按照以下步骤将SD卡剩余空间分配到根分区。
此命令假设您SD卡的设备号为/dev/sdd分盘时请根据实际的设备号进行分盘。
$ sudo fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.37.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助) p
Disk /dev/sdd59.48 GiB63864569856 字节124735488 个扇区
Disk model: MassStorageClass
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型dos
磁盘标识符0x0812bf5f
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdd1 2048 262143 260096 127M c W95 FAT32 (LBA)
/dev/sdd2 262144 20971519 20709376 9.9G 83 Linux
命令(输入 m 获取帮助) d
分区号 (1,2, 默认 2): 2
分区 2 已删除。
命令(输入 m 获取帮助) n
分区类型
p 主分区 (1 primary, 0 extended, 3 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p) p
分区号 (2-4, 默认 2):
第一个扇区 (262144-124735487, 默认 262144):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (262144-124735487, 默认 124735487):
创建了一个新分区 2类型为“Linux”大小为 59.4 GiB。
分区 #2 包含一个 ext4 签名。
您想移除该签名吗? 是[Y]/否[N] N
命令(输入 m 获取帮助) w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
## 连接到串行控制台
可以使用 openkylin 计算机来监视Sophgo sg2042启动过程的串口输出将计算机连接到Sophgo sg2042上第三个Micro USB端口通过运行以下命令来打开串口
sudo minicom -s
在串口设置中修改A - 串行设备为:/dev/ttyUSB0之后保存并打开串口。
## 第一次启动
将烧录好的sd卡插入VisionFive卡槽并连接好电源线。首次启动之后系统中会存在一个默认用户当桌面环境启动之后您可以通过默认用户进行VisionFive首次登陆后期可以根据自己需求进行用户或密码的更改。
将烧录并分盘后的SD卡插入Sophgo sg2042卡槽并按下电源按钮。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行Sophgo sg2042首次登陆,后期可以根据自己需求进行用户或密码的更改。
默认用户名/密码是
> usernameopenkylin
> passwordopenkylin
# 三、在Thead1520上安装openKylin
# 三、在LicheePi4A上安装openKylin
## 准备SD卡
openkylin适配Thead1520的镜像可以通过以下链接下载
openkylin适配LicheePi4A的镜像可以通过以下链接下载:
https://www.openkylin.top/downloads
通过以下命令解压:
unxz openKylin-0.9.5-thead1520-riscv64.img.xz
> unxz openKylin-1.0-licheepi4a-riscv64.img.xz
## 制作SD卡启动盘
首先使用磁盘工具将sd卡格式化。之后通过命令行将镜像刷入sd卡请运行
sudo dd if=</path/to/image.img> of=/dev/mmcblk0 bs=1M status=progress
首先使用磁盘工具将SD卡格式化。之后通过命令行将镜像刷入sd卡请运行
> sudo dd if=</path/to/image.ext4> of=/dev/mmcblk0 bs=1M status=progress
此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 适配器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0
注意要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。
## 烧录后分配SD卡剩余空间
执行以下命令将SD卡剩余空间分配到根分区。
此命令假设您SD卡的设备号为/dev/sdb分盘时请根据实际的设备号进行分盘。
> sudo resize2fs /dev/sdb
## 连接到串行控制台
可以使用 openkylin 计算机来监视Thead1520启动过程的串口输出将该计算机连接到 Thead1520 上 SD 卡插槽旁边的微型 USB 端口并运行以下命令来打开串口:
sudo minicom -s
在串口设置中修改A - 串行设备为:/dev/serial/by-path/pci-0000:00:14.0-usb-0:7:1.2-port0之后保存并打开串口。
可以使用 openkylin 计算机来监视LicheePi4A启动过程的串口输出通过USB转串口线对应连接开发板U0-TX,U0-RX,GND管脚并连接到计算机上通过运行以下命令来打开串口:
> sudo minicom -s
在串口设置中修改A - 串行设备为:/dev/ttyUSB0之后保存并打开串口。
## 第一次启动和修改开发板u-boot设置
在计算机中启动Thead1520的minicom串口。将烧录好的sd卡插入Thead1520卡槽并连接好电源线。开发板启动到u-boot时快速按下回车使开发板停在u-boot。在u-boot中输入以下命令设置开发板从sd卡启动
在计算机中启动LicheePi4A的minicom串口。将烧录好的sd卡插入LicheePi4A卡槽并连接好电源线。开发板启动到u-boot时快速按下回车使开发板停在u-boot。在u-boot中输入以下命令设置开发板从SD卡启动:
>env set -f set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/mmcblk1 rootfstype=ext4 rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrwoptions=rw,noatime rootrwreset=${factory_reset} init=/lib/systemd/systemd'
>env save
>run gpt_partition
注:第一条是一条命令,很长,在您的显示设备可能会换行
之后在u-boot中输入reset来重启开发板这样开发板就可以从sd卡启动openKylin系统。
首次启动之后系统中会存在一个默认用户当桌面环境启动之后您可以通过默认用户进行Thead1520首次登陆后期可以根据自己需求进行用户或密码的更改。
首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行LicheePi4A首次登陆,后期可以根据自己需求进行用户或密码的更改。
默认用户名/密码是:
>usernameopenkylin
>passwordopenkylin
@ -174,75 +247,43 @@ openkylin适配VisionFive 2的镜像可以通过以下链接下载
> https://openKylin.top/downloads/download-smp.php?id=15
通过以下命令解压
> unxz openkylin-0.9.5-visionfive2-riscv64.img.xz
> unxz openkylin-1.0-visionfive2-riscv64.img.xz
以上路径请根据自己的实际路径去解压
## 制作SD卡启动盘
首先使用磁盘工具将sd卡格式化。
之后通过命令行将镜像刷入sd卡,请运行:
首先使用磁盘工具将SD卡格式化。
之后通过命令行将镜像刷入SD卡,请运行:
> sudo dd if=</path/to/image.img> of=/dev/mmcblk0 bs=1M status=progress
注:</path/to/image.img>的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格
此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0
注意要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。
## 通过NVMe启动
首先使用磁盘工具将NVMe硬盘格式化。
之后通过命令行将镜像刷入NVMe硬盘请运行
> sudo dd if=</path/to/image.img> of=/dev/nvme0n1 bs=1M status=progress
注:</path/to/image.img>的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格
此命令假设您已将NVMe硬盘插入开发板的中。如果您使用的是 USB 硬盘盒,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/nvme0n1
注意要非常小心上述命令中的“of”参数。 如果使用了错误的磁盘您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入SD卡或NVMe硬盘。
## 烧录后分NVMe硬盘剩余空间
执行以下命令将NVMe硬盘剩余空间分配到根分区。
此命令假设您sd卡的设备号为/dev/sdb分盘时请根据实际的设备号进行分盘。
> sudo apt install cloud-utils
> sudo growpart /dev/sdb 4
> sudo resize2fs /dev/sdb4
## 第一次启动
将烧录好的sd卡插入VisionFive 2卡槽并连接好电源线。首次启动之后系统中会存在一个默认用户当桌面环境启动之后您可以通过默认用户进行VisionFive 2首次登陆后期可以根据自己需求进行用户或密码的更改。
默认用户名/密码是
> usernameopenkylin
> passwordopenkylin
# 五、使用Qemu启动openKylin
## 下载镜像
openkylin Qemu版本镜像可以通过以下链接下载
> https://openKylin.top/downloads/download-smp.php?id=16
## 通过以下命令解压
> unxz openKylin-0.9.5-qemu-riscv64.img.xz
以上路径请根据自己的实际路径去解压
## 安装Qemu所需的软件包
sudo apt install qemu-system-misc opensbi u-boot-qemu qemu-utils
## 命令行模式启动
执行以下命令通过qemu命令行模式启动镜像
sudo qemu-system-riscv64 -machine virt -nographic -m 2048 -smp 4 -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf -device virtio-net-device,netdev=eth0 -netdev user,id=eth0 -drive file=openKylin-0.9.5-qemu-riscv64.img,format=raw,if=virtio
## 桌面模式启动
想要启动qemu桌面模式需要本地对qemu进行配置和编译。
qemu依赖sdl需要先编译sdl
> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.3
通过此链接下载SDL2-2.26.3.tar.gz
解压并进入该目录
./configure
make
sudo make install
接下来本地编译qemu打开终端
mkdir qemu
cd qemu
wget https://download.qemu.org/qemu-7.0.0.tar.xz
tar xvJf qemu-7.0.0.tar.xz
cd qemu-7.0.0
要在qemu中添加显示桌面需要配置使能sdl参数可以根据以下链接解决qemu常见编译错的问题
> https://blog.csdn.net/ado11111/article/details/115705374
./configure --enable-sdl
make
make install
执行以下命令通过qemu桌面模式启动镜像
qemu-system-riscv64 -machine virt -m 4096 -smp 4 -vga std -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf -device VGA,id=video0,vgamem_mb=1024 -device virtio-mouse-pci -device virtio-keyboard-pci -drive file=openKylin-0.9.5-qemu-riscv64.img,format=raw,if=virtio
## 首次启动
启动后您可以通过默认用户进行首次登陆,后期可以根据自己需求进行用户或密码的更改。
默认用户名/密码是
> usernameopenkylin
> passwordopenkylin
# 六、在 Lotus2 上安装 openKylin
## 下载镜像