esxi安装openwrt,并用gparted扩容

1、下载openwrt镜像

Index of /releases/22.03.5/targets/x86/64/

2、转换img为vmdk

利用linux的qemu-img来转化,windows也有类似的工具,命令如下,-O要大写

qemu-img convert -f raw openwrt.img -O vmdk openwrt.vmdk

2.1 转换vmdk为精简置备的硬盘【可选】

[转]OpenWRT镜像:将img转换为vmdk,并在ESXi6.7上安装(需二次转换) – 武汉周杰

如果不转换的话是无法直接用scsi来挂载,只能用ide来挂载,同时,对快照不友好,删除快照后会有碎片文件。

这一步需要将2生成的vmdk上传到esxi的系统里,通过esxi图形界面可以上传文件。

vmkfstools -i openwrt.vmdk -d thin openwrt_lan.vmdk

  • 转换命令vmkfstools参数
    • -i 参数为源文件
    • -d参数为vmdk磁盘存储方式(精简置备thin,厚置备延迟清零zeroedthick,厚置备立即清零eagerzeroedthick,参考官方详解
    • 此处以源文件 openwrt.vmdk,输出文件 openwrt_lan.vmdk(精简置备)为例
    • *个人更建议直接厚置备立即置零,openwrt镜像也不大,理论上来说厚置备立即置零性能会好一丢丢
    • vmkfstools -i openwrt.vmdk -d thin openwrt_lan.vmdk

3、openwrt硬盘扩容

3.1 新建一个空白的vmdk新硬盘,或者利用2.1生成的硬盘

在esxi新建一个空白的虚拟机。

新建空白盘可以默认配置,大小选择自己想要的大小;如果是2.1生成的硬盘,直接改图示的硬盘大小到自己想要的大小

OpenWrt on VMware HowTo

SystemRescue – Download

3.2 启动SystemRescue

虽然官方论坛建议了systemrescue,其实用任意支持Gparted的linux系统都可以完成。

如果是新的空白盘,请用dd将2生成的vmdk拷贝到新生成的硬盘。

dd if=/dev/sda of=/dev/sdb

3.3 Gparted调整分区大小

输入startx启动图形界面

启用gparted,在system文件夹里

一开始进入,选择fix

选中新生成的硬盘。

将rootfs拉伸至最大。

点击执行,将操作写到硬盘

4、将硬盘拷贝并挂载到openwrt的虚拟机里

注意,如果是esxi图形界面移动vmdk,需要移动两次,还有一个-flat.vmdk的文件需要移动,这个是真正的存储文件。

开机执行吧,注意,如果是局域网,请输入fw3/fw4 stop来允许网页配置,配置好之后再打开防火墙,否则默认无法访问

树莓派64位安装系统(无显示屏)和Anaconda/miniconda/miniforge

中文网站很多介绍都是错误的,比如

  1. 无显示器的情况下,需要配置用户才能访问ssh,这里貌似都没有提到,在官方文档里有介绍
  2. miniconda(Miniconda3-latest-Linux-aarch64.sh)并不支持64位的树莓派系统,只能下载armv7l的版本

1、下载系统

通过以下链接可以找到树莓派的64位,用rufus可以刻录到u盘

Operating system images – Raspberry Pi

2、无显示屏配置

刻录完了之后,如果没有显示器/mini-hdmi线则不能直接配置系统;可以直接编辑boot分区/文件夹来实现联网、开启ssh、配置用户的。在windows下面,刻录完成后会有一个bootfs的磁盘,直接在根目录创建三个文件:

  • 一个空白的ssh标题的文件,此文件用来开启ssh功能
  • wpa_supplicant.conf文件,内容如下,注意,如果在windows下面,注意切换换行符为LF,而不是windows的CRLF。用vscode等编辑器可以切换换行符。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
        ssid="wifi名字,注意保留引号"
        psk="wifi密码,注意保留引号"
}
  • userconf.txt文件
pi:加密后的密码
可以在linux的bash下面执行openssl passwd -6来获取加密后的密码
这里给出一个123456的加密后的密码,可以直接使用,进入系统后,输入passwd可以更改用户密码
pi:$6$g/pSo.2tPTPCa2tw$6B623QaPFvzQZHNDXZx6x1DZUdc1rZgkSFXROtJMUq66kLE3ZPpTpNWln6Slao3HL9Zb4UPwoDZ4L5a7ksdK1/

https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-a-user

3、安装miniforge

miniforge是社区版的conda系统,体验下来比miniconda更好。另外miniconda明确说不支持64位树莓派,只能下载32位版本,本着强迫症,还是下载了社区版的miniforge。

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
bash Miniforge3-Linux-aarch64.sh
source ~/.bashrc


conda官方issue不支持树莓派64位

https://github.com/conda-forge/