From da58793ccf477abe67dd37c9b815d384e4aab7e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=8D=93=E7=8F=A9?= Date: Mon, 3 Jul 2023 09:12:17 +0000 Subject: [PATCH] =?UTF-8?q?update=20=E7=A4=BE=E5=8C=BA=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=8C=87=E5=8D=97/riscv=E4=B8=8A=E5=AE=89=E8=A3=85openKylin.md?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李卓珩 --- ...0\212\345\256\211\350\243\205openKylin.md" | 199 +++++++++++------- 1 file changed, 120 insertions(+), 79 deletions(-) diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" index a57e0374..d71c30f6 100644 --- "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" @@ -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= of=/dev/mmcblk0 bs=1M status=progress 注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 @@ -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 解释了如何从各种不同的操作系统连接到 注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 +## 烧录后分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= of=/dev/mmcblk0 bs=1M status=progress 注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 -此命令假设您已将 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/sdd:59.48 GiB,63864569856 字节,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首次登陆,后期可以根据自己需求进行用户或密码的更改。 默认用户名/密码是 > username:openkylin > password:openkylin -# 三、在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= of=/dev/mmcblk0 bs=1M status=progress +首先使用磁盘工具将SD卡格式化。之后通过命令行将镜像刷入sd卡,请运行: +> sudo dd if= 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首次登陆,后期可以根据自己需求进行用户或密码的更改。 默认用户名/密码是: >username:openkylin >password:openkylin @@ -174,71 +247,39 @@ 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= of=/dev/mmcblk0 bs=1M status=progress 注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 -注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。 -## 第一次启动 -将烧录好的sd卡插入VisionFive 2卡槽并连接好电源线。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行VisionFive 2首次登陆,后期可以根据自己需求进行用户或密码的更改。 -默认用户名/密码是 -> username:openkylin -> password:openkylin +## 通过NVMe启动 +首先使用磁盘工具将NVMe硬盘格式化。 +之后通过命令行将镜像刷入NVMe硬盘,请运行: +> sudo dd if= of=/dev/nvme0n1 bs=1M status=progress +注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 -# 五、使用Qemu启动openKylin -## 下载镜像 -openkylin Qemu版本镜像可以通过以下链接下载 -> https://openKylin.top/downloads/download-smp.php?id=16 +此命令假设您已将NVMe硬盘插入开发板的中。如果您使用的是 USB 硬盘盒,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/nvme0n1 -## 通过以下命令解压 -> unxz openKylin-0.9.5-qemu-riscv64.img.xz +注意:要非常小心上述命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入SD卡或NVMe硬盘。 -以上路径请根据自己的实际路径去解压 +## 烧录后分NVMe硬盘剩余空间 +执行以下命令将NVMe硬盘剩余空间分配到根分区。 +注:此命令假设您sd卡的设备号为/dev/sdb,分盘时请根据实际的设备号进行分盘。 +> sudo apt install cloud-utils +> sudo growpart /dev/sdb 4 +> sudo resize2fs /dev/sdb4 -## 安装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 - -## 首次启动 -启动后您可以通过默认用户进行首次登陆,后期可以根据自己需求进行用户或密码的更改。 +## 第一次启动 +将烧录好的sd卡插入VisionFive 2卡槽并连接好电源线。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行VisionFive 2首次登陆,后期可以根据自己需求进行用户或密码的更改。 默认用户名/密码是 > username:openkylin > password:openkylin -- Gitee