找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 670|回复: 5

使用docker版ubuntu编译openwrt

[复制链接]
发表于 2025-2-12 21:40 | 显示全部楼层 |阅读模式
Docker版Ubuntu 部署openwrt编译服务器教程
前言:PVE系统盘有限,又不想装个额外的虚拟机或者物理机的ubuntu,于是乎就想了用docker版ubuntu来编译
具体教程步骤如下:
具体环境,PVE下虚拟化的飞牛OS,其他其实类似
一、          拉取镜像 docker pull ubuntu
二、          建立镜像
不建议用webui来部署,因为一启动如果ubuntu没有在运行的进程就会自己停止,所以我用了命令行。
docker run --name 容器名字 -ti -v /宿主文件夹:/镜像文件夹 -d -p 8022(自己设端口号):22 ubuntu
映射端口看自己喜欢,文件弄个映射是万一没有合适的工具(类似winscp这种)还可以命令行黏贴后拷贝出来
三、          进入ubuntu系统,并更新系统
进系统有这么几种方法:
1)       通过飞牛的终端进入/bin/bash,如果用portainer等webui也可以进入
2)       通过命令行进入
   docker exec -t -i 新建容器的名字 /bin/bash
第一步,因为是精简系统,大小才60M左右,所以基本上工具都没有的,需要先更新系统,输入 apt-get update。由于连ssh还有vim都没有所以一开始的更新只能从歪果服务器更新,速度很慢。。。。。要有心理准备。
第二步,同样原因,所以我建议先安装vim 命令 apt-get install vim
第三步,先换源,换国内源就行,个人觉得阿里的比较快。
1.备份源配置文件,本身在root下所以不需要sudo了
cp/etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
2. 编辑源配置文件
vim/etc/apt/sources.list.d/ubuntu.sources
用#禁用相关源地址
然后黏贴入以下内容:
Types: deb
Suites: noble noble-updatesnoble-security
Components: main restricted universemultiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
第四步、安装ssh服务
apt-get install openssh-client
apt-get install openssh-server
修改root的密码及ssh链接权限
1.      改root密码,输入passwd root,再输两次密码(屏幕不显示)就好了
2.      改链接权限 输入vi /etc/ssh/sshd_config 找到 #PermitRootLogin prohibit-password 改为PermitRootLogin yes
3.      启动 ssh服务 输入/etc/init.d/ssh start 如果在安装完ssh的时候就运行过了,那么需要重启ssh服务service ssh restart
4.      安装net-tools的安装包 apt-get installnet-tools 可以查看ip
第五步,增加普通账户命令: adduser
四、          安装编译环境并拉取项目
以LEDE项目为例子,此处感谢lean大佬的奉献项目地址:https://github.com/coolsnowwolf/lede
1.      安装依赖,root账户下并不需要sudo命令
apt update -y
apt full-upgrade -y
apt install -y ack antlr3asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmakecpio curl device-tree-compiler flex gawk gcc-multilib g++-multilib gettext \
genisoimage git gperfhaveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev\
libgmp3-dev libltdl-devlibmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev \
libreadline-devlibssl-dev libtool llvm lrzsz msmtp ninja-build p7zip p7zip-full patch pkgconf\
python3python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-toolssubversion \
swig texinfo uglifyjsupx-ucl unzip vim wget xmlto xxd zlib1g-dev
2.      下载源代码,更新 feeds 并选择配置,需要在普通账户下
cd lede
./scripts/feeds update -a
./scripts/feeds install-a
make menuconfig
3.      下载源代码,更新 feeds 并选择配置
cd lede
./scripts/feeds update -a
./scripts/feeds install-a
make menuconfig
4.      二次编译
cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install-a
make defconfig
make download -j8
make V=s -j$(nproc)
如果需要重新配置:
rm -rf .config
make menuconfig
make V=s -j$(nproc)
编译完成后输出路径:bin/targets
五、          可以保存修改的镜像
dockercommit [容器ID/容器名] [REPOSITORY:TAG]

做出来的包速度也还好,G3930做了一夜

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2025-2-12 21:42 | 显示全部楼层
那个 那个 GitHub云编译更省事吧,速度也快

点评

因为闲的蛋疼,github云端需要设置账号,我对注册比较反感  详情 回复 发表于 2025-2-12 21:44
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-2-12 21:44 | 显示全部楼层
0x90 发表于 2025-2-12 21:42
那个 那个 GitHub云编译更省事吧,速度也快

因为闲的蛋疼,github云端需要设置账号,我对注册比较反感
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-2-12 21:48 | 显示全部楼层
arkclover 发表于 2025-2-12 21:44
因为闲的蛋疼,github云端需要设置账号,我对注册比较反感

那倒也是,折腾的乐趣
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-2-13 00:57 | 显示全部楼层
哪用这么复杂。


建一个Dockerfile文件
  1. FROM debian:bullseye

  2. RUN set -x \
  3.     && sed -i 's#deb.debian.org#mirrors.ustc.edu.cn#g' /etc/apt/sources.list \
  4.     && apt update \
  5.     && apt install -y \
  6.         git \
  7.         wget \
  8.         build-essential \
  9.         libncurses5-dev \
  10.         zlib1g-dev \
  11.         gawk \
  12.         git \
  13.         ccache \
  14.         gettext \
  15.         unzip \
  16.         python3 \
  17.         python3-distutils \
  18.         python3-pip \
  19.         sudo \
  20.         libssl-dev \
  21.         rsync \
  22.         time \
  23.         uuid-dev\
  24.         tzdata \
  25.     && rm -r /var/lib/apt/lists/*
  26. ENV TZ='Asia/Shanghai'
  27. # 设置工作目录
  28. WORKDIR /openwrt
复制代码
编译镜像
  1. docker build -t openwrt-build .
复制代码


运行容器
  1. #-v路径改成你自己的
  2. docker run --rm -it -v $(pwd):/openwrt openwrt-build /bin/bash
复制代码


下载源码
  1. git clone https://github.com/openwrt/openwrt.git
  2. git tag
  3. git checkout v24.10.0
复制代码


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-3-31 18:47 | 显示全部楼层
本帖最后由 409700699 于 2025-4-2 21:47 编辑

一大堆的包安装不上,感觉用不上.缺少的在make时会提示,然后apt安装一下.
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-12 03:05

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表