how use ubuntu20.04 on vmvare for os dev

FAQ

下载

官方镜像
https://releases.ubuntu.com/20.04.6/?_ga=2.200994990.1419611817.1682087321-2127286063.1682087321
国内镜像(推荐)
https://mirror.nju.edu.cn/ubuntu-releases/20.04.6/

安装

vmvare
建议 4G 内存,30G虚拟磁盘(因为刚装完系统就要11G,配置完项目环境后16.5G,考虑到后续的其他依赖,编译产物,20G将很勉强),usb兼容性3.1,手动安装,选择中文。

设置时区系统语言

手动安装时可以手动选择地区,如果是vmvare自动安装,则按照完成后参考下面方式修改

设置-区域与语言-加号添加Chinese
点击Manage Installed Languages,进入界面后,点击Install/Remove Languages,选中Chinese,下载完成后,将下载的汉语(中国)拖到最上方。

安装ssh与配置公钥

sudo apt install openssh-server
mkdir ~/.ssh
chmod 755 ~/.ssh
cat /mnt/hgfs/shared/id_rsa.pub > ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

sudo vim /etc/ssh/sshd_config
PermitRootLogin yes
sudo apt install net-tools
ifconfig

项目相关

https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter0/5setup-devel-env.html

找不到sdcard

设备“Prolific USB SD Card Reader”无法连接到理想的主机控制器。将尝试该设备连接到可用的最佳主机控制器。这可能会导致该设备出现未定义的行为。
fdisk -l 查看电脑所有磁盘信息包括未加载磁盘,fdisk还可以设置修改分区
df -h 只能看到已加载的磁盘
lsblk 树型显示磁盘分区挂载情况
按照如下方式也找不到
Linux检查未挂载磁盘和为磁盘分区、挂载
解决
虚拟机设置 —— USB控制器 —— USB兼容性 —— 选择 USB 3.1

虚拟机我已移动与我已复制区别

“我已移动该虚拟机”
表示打开后,虚拟机的网卡的mac地址不变,如果复制的是本地的虚拟机,复制前的虚拟机和复制后的虚拟机同时开机会造成网络冲突。

“我已复制该虚拟机”
表示打开复制后的虚拟机的网卡的物理地址是新生成的,这样怎么开机都不会有网卡问题,所以VMware本身也是建议不知道的就选这个选项。

虚拟机连接不上网络,没有网络图标怎么办?

sudo nmcli network off
sudo nmcli network on

gitmirror失效

https://gitclone.com/docs/howto/howto_github
https://help.kgithub.com//

https://fgit.gq/

刷机

自测必须使用 https://github.com/sipeed/kflash.py kflash_gui也不行
刷sd卡 https://www.balena.io/etcher#download-etcher 或者dd命令

官网自带os内核下载地址

MaixPy 发展历程 https://wiki.sipeed.com/soft/maixpy/zh/maixpy_history.html
K210 会从 0x000000 地址开始运行程序。
http://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master/maixpy_v0.6.2_84_g8fcd84a58
https://github.com/sipeed/MaixPy/releases

K210 上手(避坑)指南https://wiki.sipeed.com/news/MaixPy/K210_usage.html

扩容虚拟机磁盘

先关闭虚拟机,vmvare中扩容磁盘
然后进入虚拟机,使用gparted调整分区表

vm共享文件夹失效

vmware-hgfsclient 查看是否有共享文件夹

  • 无则查看 虚拟机-设置-选项-共享文件夹 是否已启用
  • 已启用则执行
    vmhgfs-fuse .host:/shared /mnt/hgfs

自动挂载
sudo vi /etc/fstab
在尾部加一行
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
不要立即重启,先用mount -a测试下,避免出错导致无法开机,无问题则可重启