查看“Openwrt-be”的源代码
←
Openwrt-be
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 说明 == openwrt与其它大多数Linux发行版不同,其具有独特的系统初始化及配置方式,这导致openwrt上的程序不能在其它Linux环境运行(尤其是用到了openwrt独有的程序,如ubus、uci、luci等)。本docker镜像的目的是利用openwrt的x86_64版搭建一个可直接编译调试openwrt的开发环境。 特点如下: * 主体框架为openwrt,可直接运行调试openwrt程序(x86_64),可测试openwrt脚本。 * 利用Alpine Linux的apk工具进行扩展,支持直接编译openwrt源代码。 * 支持codeblocks编辑源代码 == 使用 == === 拉取镜像 === <syntaxhighlight lang="bash" line="1"> sudo docker pull heyahong/openwrt-be:22.03 </syntaxhighlight> === 启动镜像 === 可使用docker命令直接启动,也可以使用docker-compose,二者选一即可。 ==== docker命令 ==== 注意:以下命令需要在桌面环境的终端中执行,否则不能使用codeblocks<syntaxhighlight lang="bash" line="1"> sudo docker run -itd --device /dev/snd -v /tmp/.X11-unix:/tmp/.X11-unix --restart=always --name openwrt-be heyahong/openwrt-be:22.03 /sbin/init </syntaxhighlight>其中--device /dev/snd -v /tmp/.X11-unix:/tmp/.X11-unix用于启用声音与显示,若不是桌面环境需要去掉该参数。 ==== docker-compose ==== docker-compose.yml 配置文件如下:<syntaxhighlight lang="yaml+jinja" line="1"> version: "3" networks: openwrt-be: external: false services: server: image: heyahong/openwrt-be:22.03 container_name: openwrt-be restart: always networks: - openwrt-be volumes: - /tmp/.X11-unix:/tmp/.X11-unix devices: - /dev/snd:/dev/snd </syntaxhighlight>启动时,可在docker-compose.yml 所在目录执行以下命令:<syntaxhighlight lang="bash" line="1"> sudo docker-compose up -d </syntaxhighlight>需要停止时,可在docker-compose.yml 所在目录执行以下命令:<syntaxhighlight lang="bash" line="1"> sudo docker-compose down </syntaxhighlight> === 进入OpenWrt镜像 === 注意:此步骤的前提是启动镜像(只需要启动一次即可)。 ==== 使用docker exec进入镜像 ==== <syntaxhighlight lang="bash" line="1"> sudo docker exec -it openwrt-be /bin/bash </syntaxhighlight>进入镜像后,可使用ifconfig查看ip地址(eth0),知道ip地址后,可通过浏览器登陆luci界面(由于是docker,某些界面不可用)。 ==== 使用ssh进入镜像 ==== 注意:使用此方法的前提是知道了启动的镜像的ip地址(除非重新启动镜像,ip地址一般不变)。<syntaxhighlight lang="bash" line="1"> ssh root@镜像ip地址 </syntaxhighlight> === 编译源码 === 进入镜像后,即可使用以下命令下载源代码并设置环境变量:<syntaxhighlight lang="bash" line="1"> #进入root目录 cd /root #使用git下载源代码 git clone -b openwrt-22.03 https://git.openwrt.org/openwrt/openwrt.git #由于是使用的root用户,故需要设置以下变量 export FORCE_UNSAFE_CONFIGURE=1 </syntaxhighlight>编译过程中,可灵活使用sudo docker cp命令向容器中复制文件或者从容器中复制文件。 ==== 使用codeblocks ==== codeblocks需要在桌面环境执行。非桌面环境不可使用codeblocks。 使用codeblocks前需要把root用户添加至xhost。在宿主机中执行以下命令:<syntaxhighlight lang="bash" line="1"> xhost +SI:localuser:root </syntaxhighlight>权限添加完成后,可在进入OpenWrt镜像后执行以下命令打开codeblocks:<syntaxhighlight lang="bash" line="1"> codeblocks </syntaxhighlight> == 镜像docker仓库主页 == https://hub.docker.com/r/heyahong/openwrt-be
返回
Openwrt-be
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息