编译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

附:LEDE固件编译菜单选项详解

注:部分设备仅支持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

 

posted @   umifly  阅读(5399)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示