手里有 iPhone 和 ipad ,但是还没有使用过 macos ,趁着国补买了一台 mac mini m4 24+512 ,放在家里当台式机用,用于上网和开发。
开发方面,只是用于个人项目和代码学习。我的方向是 Linux c++ 开发,平常玩 Linux 很多,会写一些 Linux 项目,不考虑跨平台,也打算摸一摸 kernel 的代码学习。
我的问题是,在 m 系列芯片的 macos 上,如何做 Linux 开发?不考虑远程 Linux 服务器和架构集的情况下,使用 clion 和 vscode remote ssh ,在 macos 本地可以有哪些方式? docker 和虚拟机吗?能不能正常的完成编译和调试?
1
csfreshman 6 天前
关注一波,面临同样的问题,mac mini m4 24+512 多少买的
|
2
Kaleidopink 6 天前 1
安装一个 OrbStack, 可以直接在后台运行一个 Linux 虚拟机, 然后 ssh 开发就行了.
|
3
zwpaper 6 天前 1
macOS 在 Linux 开发工具链的成熟度高得离谱,涉及 Kernel 的起一个虚拟机也很方便,我 32G macbook 用 Lima 日常虚拟机都是开着的,甚至都不用担心额外的负载影响电池续航和 macOS 下的性能
|
4
kera0a 6 天前 via iPhone 1
应该没问题吧,毕竟 Linus 都用过 M2 开发 Linux
|
5
Noicdi OP @csfreshman #1 上海没参与国补,使用广东国补最终价格 5999 ,订单写的 12.7 发货,希望可以早点发
|
6
Noicdi OP @Kaleidopink #2
@zwpaper #3 起虚拟机然后 vscode remote ssh 我预计一点问题也没有,那 clion 配合开发怎么样呢,我现在都是 clion 配合 wsl2 ,类似于本地开发,体验挺不错的 |
7
tool2dx 6 天前 1
M2 本地只能跑 arm 版本的 elf 格式吧。
要不你全部用 arm 来写和调试代码,反正 API 都是大同小异。最后测试才上 x86 的 elf 到 linux 虚拟机,体验应该要比 ssh 到虚拟机好。 |
8
Noicdi OP @tool2dx #7 我现在接触到的内容都和架构没有关系,所以啥架构都无所谓,如果在本地能直接编译 arm 的 Linux kernel 那我也可以直接在本地看代码。
posix api 都无所谓,主要是现在写的一个服务器项目用到了 Linux 支持的接口,所以考虑在 macos 上起 Linux 的开发环境。 |
9
dalaoshu25 6 天前 2
最简单的就是虚拟机,可以用 VMWare Fusion , 也可以用 UTM ,直接利用苹果自己的虚拟化框架运行 Fedora 和 Ubuntu 的 aarch64 版本毫无压力。
|
10
Noicdi OP @dalaoshu25 #9 ok ,那等到货了研究一下 UTM 看看
|
11
EliStone 5 天前
我也想买 Macmini ,我看 JD 上 10+10 的 32g 版本的,广州 7199 ,但是我又有一个 Windows 台式机,一个装了 linux 的笔记本(平时自己学东西都在这个上面)还有一台小主机算是 homelab ,但是 linux 的桌面很难受,一堆小 bug 很影响心情,在考虑要不要整一台 Macmini 了,主要是非必须想尝试尝试,有感觉太浪费钱了
|
12
dalaoshu25 5 天前
@EliStone 如果你只是为了尝试,倒不如现在去咸鱼收个 M2 乃至 M2 Pro 的旧款 mini ,不用虚拟机直接就能跑 Fedora 41 Asahi remix ,除了雷电口和 USB-C 显示器还不支持,其他都没问题。速度也足够了。
|
13
xvast 5 天前
可以尝试 eypc 2 代,单/双路 7532 作为服务器,这样就有 64/128 线程,编译速度非常快。客户端可以选择 mac 或者 windows 。搞 Kernel 还是 linux 吧。
|
14
lvlongxiang199 5 天前
一个小问题, 既然是 Linux 开发, 为啥选择 mac. 买了 mac 你也大概率得开 vm. 为啥不买 hp, dell 的 mini 主机装 Linux 系统, 还便宜, 1k 就能搞定 32Gx2 的内存, 500 多就能搞定 1T nvme ssd
|
15
EliStone 5 天前
@dalaoshu25 #12 我看了咸鱼上的老款 Mac mini 也不便宜,不如直接买新款了
|
16
Noicdi OP @EliStone #11 我是只有一台 6 年前买的笔记本,装 Windows ,用来上网和 WSL2 搞 Linux 开发。没有外带需求,想组台小主机放家里用,这次趁机会决定买 mac mini 。
你这种情况,我觉得设备挺多了,不如闲鱼收一台试试 macos ,玩一玩就出掉。不过最好收 m4 版本?现在收 m2 版本再想出掉我估计很难。 |
17
shylockhg 5 天前
@lvlongxiang199 1k 搞定 32G*2 的机器,求推荐
|
19
Noicdi OP @lvlongxiang199 #14 我现在手上有一台 6 年的笔记本了,本来有想组小主机的想法,这次看价格可以,干脆买 mac mini 了。
我虽然是 Linux 开发,但是我从来不考虑用 Linux 做桌面系统,Linux 对我来说就是命令行、编译和运行程序的服务器。这次想试试 macos ,所以倾向于买 mac mini ,作为上网的主力桌面系统。实在不行,把笔记本的 Windows 格了装个 Linux 当测试环境。 |
20
lvlongxiang199 5 天前 1
|
22
shylockhg 5 天前
@lvlongxiang199 好吧,我还以为 1k 整机 。。
|
23
Noicdi OP @xvast #13 mac 对我来说确实算客户端,但是我也用不到性能这么好的服务器跑编译。个人项目完全没这么大的编译性能需求,kernel 也只需要跑一次编译弄出 Compilation database 就行,能在 mac 本地或者虚拟机上就够用了。
|
25
HangoX 5 天前 1
linux C++ 直接虚拟机不行吗? Parallels Desktop 挺好用,不用图形化的话,OrbStack 也够用了
clion 直接用 gatewate 版本就能开发了,其实有也没差 |
27
edwardzcn98 5 天前
MacBook Air + 开发版,没动过内核,只改过驱动。开发方式拓展坞一根网线 ssh ,vim 或者 vscode remote
|