编译环境:ubuntu20.04 LTS,确保能连接github
获取必须依赖:
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
完成所有软件源导入后,执行安装命令
#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
标签:immortalwrt,make,dev,编译,git,scripts,feeds,小结,openwrt From: https://www.cnblogs.com/umi02/p/17968724