自编译openwrt之三:再次编译
本文最后更新于 503 天前,其中的信息可能已经有所发展或是发生改变。

进入源码目录(如果不在此目录)

cd openwrt

更新(短期内再次编译可以忽略这个步骤)

更新系统

sudo sh -c "apt update && apt upgrade -y"

拉取openwrt源码更新

git pull

清理feeds源码(可选)

./scripts/feeds clean

拉取feeds源码更新

./scripts/feeds update -a

安装feeds

./scripts/feeds install -a

文件清理

清除旧的编译产物(可选)

make clean

在源码有大规模更新或者内核更新后执行,以保证编译质量。此操作会删除 /bin和 /build_dir目录中的文件。

清除旧的编译产物、交叉编译工具及工具链等目录(可选)

make dirclean

更换架构编译前必须执行。此操作会删除 /bin 和 /build_dir 目录的中的文件(make clean)以及 /staging_dir、/toolchain、/tmp和/logs中的文件。

清除 Open­Wrt 源码以外的文件(可选)

make distclean

除非是做开发,并打算 push 到 GitHub 这样的远程仓库,否则几乎用不到。此操作相当于

make dirclean

外加删除 /dl、/feeds目录和 .config文件。

还原 Open­Wrt 源码到初始状态(可选)

git clean -xdf

如果把源码改坏了,或者长时间没有进行编译时使用。

清除编译缓存

rm -rf tmp

此操作据说可防止

make menuconfig

加载错误

删除配置文件(可选)

rm -f .config

可以理解为恢复默认配置,建议切换架构编译前执行。

编译

调整 Open­Wrt 系统组件

make menuconfig

如果不打算调整组件则输入

make defconfig

它会检测编译环境并根据更新自动调整编译配置文件。

预下载编译所需的软件包

make download -j8 V=s

检查文件完整性

find dl -size -1024c -exec ls -l {} \;

此命令可以列出下载不完整的文件(根据我多次编译的经验得出小于1k的文件属于下载不完整),如果存在这样的文件可以使用

find dl -size -1024c -exec rm -f {} \;

命令将它们删除,然后重新执行

make download

下载并反复检查,确认所有文件完整可大大提高编译成功率,避免浪费时间。

开始编译

make -j$(nproc) V=s

-j$(nproc):自动获取CPU线程数,采用多线程编译。成功编译后的再次编译且没有进行

make clean

操作时使用。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇