Seiry

Seiry

m1max上编译openwrt

我编译 openwrt 的过程总是充满血与泪的。

openwrt 的版本碎片化,我的编译环境更碎片化。x86 的软路由我在 vmware 的虚拟机里;mt798x 的硬路由有虚拟机,有 ubuntu2202-wsl2。

因为我的 mac 都是 none-case sensitive 的,所以我从来没在 mac 上跑过编译。今天突发奇想,来体验一下快不快。

我非常喜欢 OrbStack,不仅是 docker,虚拟机也配置也是深得我心。可以一键的生成 arm64/amd64 的完整 Linux 环境,而且 amd64 下是自动挂在 rosette 的(一波硬广。

新建 ubuntu 2002 arm 的机器。安装以来。

sudo apt update -y

sudo apt full-upgrade -y

sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
  bzip2 ccache clang clangd cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext \
  git gperf haveged help2man intltool libelf-dev libglib2.0-dev \
  libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 libncursesw5-dev libreadline-dev \
  libssl-dev libtool lld lldb lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 \
  python3 python3-pip python3-ply python-docutils qemu-utils re2c rsync scons squashfs-tools subversion swig \
  texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
  
sudo apt install gcc-multilib-i686-linux-gnu gcc-multilib-s390x-linux-gnu gcc-multilib-x86-64-linux-gnu gcc-multilib-x86-64-linux-gnux32

sudo apt install g++-multilib-i686-linux-gnu g++-multilib-s390x-linux-gnu g++-multilib-x86-64-linux-gnu g++-multilib-x86-64-linux-gnux32

sudo apt install libc6-dev-i386-amd64-cross libc6-dev-i386-cross libc6-dev-i386-x32-cross

参考下文,arm 下的交叉编译 gcc/g++ 组件有特殊的后缀。这里不得不感慨下 go 的好,少年不知 golang 好,不把交叉编译当成宝。

mac 没有使用 magsafe 电源,typec 连接显示器,10 线程编译,基本跑慢 60w 的输出功率。

image

image

mt798x 2102 的默认配置,增加了一个 ttyd 的情况下,全量编译仅用时~14 分钟。

作为一个没有吃过细糠的山猪的我,还是蛮快的。这里不得不又再羡慕下,那些家里客厅有十几路志强服务器的大佬们,飞机起飞的功夫,就能编译完。

相关连接#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。