Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

🧑‍🚒ubuntu上编译openwrt的若干问题记录

在ubuntu 24.04上编译openwrt时,出现一些问题,记录一下。

1.OpenWrt根目录镜像小

编译完的img镜像只有160M,不方便后期安装更多软件,解决如下:

  1. 在编译的时候设置根目录空间大小
  2. 首先选择Target Images选项
    da48017961c1e756b12302941530c3cb
  • 先勾选上ext4选项
  • 然后在Root filesystem partition size (in MB)选项,调整根目录空间大小(MB)

a9340335271eb70e31c5c5215e62d68a

  1. 关于ext4与squashfs两种固件镜像文件系统格式:
    3.1 squashfs格式的固件,支持在面板内恢复初始状态;ext4格式的固件则不可以;
    3.2 ext4格式的固件可以灵活调整分区大小;squashfs格式的固件则不可以;

2.libncurses缺失 解决如下

在新的ubuntu 24.04仓库中目前已经没有libncurses这个软件包了,所以需要手动下载安装包

1
2
3
4
5
 wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb && sudo dpkg -i libtinfo5_6.4-2_amd64.deb && rm -f libtinfo5_6.4-2_amd64.deb

wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.4-2_amd64.deb && sudo dpkg -i libncurses5_6.4-2_amd64.deb && rm -f libncurses5_6.4-2_amd64.deb

sudo apt install lib32ncurses5-dev libncurses5 libncurses5-dev -y

3.make defconfig 有什么作用?

make defconfig 用于只提供 .config 部分代码片段的默认值补全,也就是用.config代码片段 defconfig 出完整的.config用于编译。简单理解就是不存在的配置项自动补全默认,存在则不更新。常常如下组合使用:

1
2
3
4
5
6
7
8
9
10
11
12
rm -f ./.config
touch ./.config
cat >> .config <<EOF
#设备型号
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
........
EOF

make defconfig
make download -j$(nproc)
make -j$(nproc) V=s

4.docker 编译

进入“Utilities” 选择你需要的容器工具,比如“docker”。

https://dachunlv.com/2022/03/12/linux/operation/OpenWrt%E7%BC%96%E8%AF%91%E8%BF%87%E7%A8%8B%E8%AE%B0%E5%BD%95/

5.安装dockerman

  1. 安装luci-app-ttyd 依赖
1
2
opkg  update
opkg install luci-app-ttyd
  1. 安装对应ipk

https://github.com/lisaac/luci-app-dockerman/releases