编译openwrt分支immortalwrt小结
编译环境:ubuntu20.04 LTS,确保能连接github
获取必须依赖:
1 2 3 4 5 6 7 8 9 10 11 | 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 cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc -multilib \ g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \ libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 \ libncursesw5-dev libpython3-dev libreadline-dev libssl-dev libtool lld llvm lrzsz mkisofs msmtp \ nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip python3-ply \ python-docutils python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig \ texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev binfmt-support qemu-user-static \ gcc -10-aarch64-linux-gnu kernel-package fakeroot simg2img img2simg mkbootimg bison npm |
拉取源码仓库:
#设置depth=1减小体积
git clone https://github.com/immortalwrt/immortalwrt.git --depth=1
更新feeds.conf
./scripts/feeds update -a
完成更新后,可修改源码根目录下feeds.conf.default文件实现增加软件源,以添加istore为例
#修改feeds.conf.default文件
nano ./feeds.conf.default
#在最底下增加istore源
src-git istore https://github.com/linkease/istore;main
#完成软件源添加后,执行更新命令
./scripts/feeds update -a
#注:常用软件源
#kiddin9
src-git https://github.com/kiddin9/openwrt-packages.git;master
#haiibo
src-git https://github.com/haiibo/openwrt-packages.git;master
完成所有软件源导入后,执行安装命令
#install symlinks for all obtained packages into package/feeds/
./scripts/feeds install -a
个性化修改
进入编译菜单
make menuconfig
注:部分设备仅支持ext4格式(如ufi001c),建议在编译设置中关闭SquashFS文件系统格式,否则可能导致无法启动等问题。
完成配置后,点击save保存,配置文件默认保存在.config文件
#预下载资源
make download -j8 V=s
完成资源下载后,开始编译
#初次编译建议使用单线程编译方便查找错误
make -j1 V=s
#二次编译可选择多线程编译提高效率(j后数字为线程数)
make -j8 V=s
编译完成后,文件会输出到bin/target目录下。
备注:本文一开始使用了--depth参数减少体积,如果需要更新源码,必须全部删除重新拉取,如果需要二次编译更新,请去掉该参数。
#二次编译更新源码
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make clean
附录:UFI001C自动检测拓展坞启动脚本
##根据所连的外部设备切换gadget或者host,默认是gadget
sleep 3
grep 0 /sys/kernel/debug/usb/ci_hdrc.0/device | grep speed
if [ $? -eq 0 ]
then
echo host > /sys/kernel/debug/usb/ci_hdrc.0/role
fi
exit 0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具