恩山无线论坛

标题: 【2017-3-29】【船长福利】编译石像鬼+Luci面板固件不求人,送你一份改进版编译脚本 [打印本页]

作者: jc天马行空    时间: 2017-3-19 16:31
标题: 【2017-3-29】【船长福利】编译石像鬼+Luci面板固件不求人,送你一份改进版编译脚本
本帖最后由 jc天马行空 于 2017-3-30 09:24 编辑

前言:
  十几天前想给自己的wdr7500 v3用上石像鬼双面板固件,于是穷尽洪荒之力在网上找,发现:
  1)有些儿所谓大神,完全把这个当做卖点,让你进群,然后就是各种开车、各种踢人
  2)自己编译吧,网上几乎没有直接相关教程,要么就是没讲明,让我等小白望而却步
  3)脚本目的,让石像鬼固件添加Luci一键化,你也可以去看看我对build.sh进行了哪些修改,然后就能明白一些东西了
  4)本脚本适用于目前的石像鬼固件1.9.2,后续如果石像鬼有变动再更新,或者你也可以直接仿造我的修改对新脚本进行修改
  5)鉴于有些朋友有啥新技术就藏着掖着,因此【石像鬼】终于实现双界面无缝来回切换,不用改端口方法就不公开了,自用~~

功能说明:
  1)自动添加Luci支持
  2)自动修改uhttpd端口,如需自定义,见使用方法3)
  3)默认开启wifi(openwrt源代码是关闭的)
  4)其他更多自动功能,有时间再添加吧
  5)自动设置无线-国家为CN,从而支持13信道
  6自动进行一些修改和设置以防几个可能的编译错误
       错误一:石像鬼固件编译 qos-gargoyle出错的解决方法
       错误二:编译libsodium提示缺少libpthread依赖
  7)自动修改luci的依赖为+PACKAGE_luci-theme-bootstrap:luci-theme-material,解决默认bootstrap必选的问题

更新记录:
----------------------------2017-3-29------------------------------------
   1)修正一些情况下nodejs命令不存在的问题,跟官方反馈了尚无回应,先自己修正着   2017-3-30 update:官方已经采纳了我的建议,自己重新clone的话无需再修改此项了
   2)修改uhttpd端口的修改代码,防止配置文件非默认值情况下脚本修改无效问题
   3)自动勾选httpd-gargoyle,防止遗忘
   4)彻底解决官方脚本遗漏package下一些包如pcre、libsodium、diffutils等的问题

使用前提:
  1)你的Linux至少要能成功编译过openwrt固件。如果你编译openwrt都不会或没成功过,那么你还是先绕道学习下编译openwrt,本帖不提供编译openwrt辅导!
  2)研究和修改这个还是花了些时间精力的,转载请注明,欢迎也期望加分~
  3)一切编译openwrt的前提,你的网得能成功更新feeds等

使用方法:
  1)下载gargoyle源码后,将本帖提供的build.sh替换根目录(附图gargoyle目录)下的相应脚本,注意检查替换后build.sh是否具有0755可执行权限,没有的话修改之
  2)支持添加自己的luci包或者package包。luci包请放在gargoyle根目录my_luci文件夹下;package包请放在根目录my_package文件夹下。对应文件夹自己新建
      luci包将复制到feeds/luci/applications下,所以如果你的luci makefile是类似下面这样的,请注意luci包内一些文件特别是脚本文件是否具有可执行权限
  1. #
  2. # Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
  3. #
  4. # This is free software, licensed under the Apache License, Version 2.0 .
  5. #

  6. include $(TOPDIR)/rules.mk

  7. LUCI_TITLE:=Material Theme
  8. LUCI_DEPENDS:=

  9. include ../../luci.mk

  10. # call BuildPackage - OpenWrt buildroot signature
复制代码

[attach]155638[/attach]
[attach]155636[/attach]
[attach]155637[/attach]
  3)默认luci http端口为8080,https端口为433,如需修改,请修改build.sh开头变量
  1. #设置luci的http端口,不能为80
  2. uhttpd_http_port="8080"
  3. #设置luci的https端口,不能为443
  4. uhttpd_https_port="433"
复制代码
  4)脚本中设置了几个暂停(主要是为了能在编译前进行一些个性化设置),暂停后要继续直接按enter键:
  1. #暂停提示一
  2. "Press any key to patch source"
  3. #暂停提示二
  4. "Press any key to patch kernel"
  5. #暂停提示三
  6. Patch done! Press any key to start building.
复制代码
      其中提示一在make menucofig之前,提示二、三在make menuconfig之后,make V=99之前。能在这些暂停之后做什么自己想哈
  5*)注意,要想双面板,进入menuconfig之后将httpd_gargoyle和uhttpd同时选上(2017-3-29脚本加入自动勾选httpd-gargoyle,uhttpd的话只要你选了luci就会勾选上)        

        小技巧:如何搜索你想要的包:在menuconfig界面,按反斜杠/键,然后输入报名如httpd_gargoyle就能搜索了
[attach]155634[/attach]
[attach]155635[/attach]

  6)如何编译:在石像鬼根目录(图中gargoyle目录),make custom,然后静候menuconfig出现,接下来就是你熟悉的openwrt编译过程了
  7)脚本中已经加入默认开启wifi,对于目前的openwrt,无需自己再去手动修改

注意事项:
  1)石像鬼固件编译 qos-gargoyle出错的解决方法
  2)后续自己修改脚本的话,记得:
  1. 修改:
  2. git clone git://git.openwrt.org/packages.git
  3. 为:
  4. git clone -b for-15.05 https://github.com/openwrt/packages.git
复制代码
      不然会缺失一些libs

小技巧:
  1)依赖问题很头疼,不知道选哪些,怎么办?
       一个投机取巧的方法就是,先刷一份别人编译好的功能正常的固件,putty登录192.168.1.1,导出别人的列表,看看人家选了啥
  1. opkg list-installed|awk '{print $1}' >/tmp/list.txt
复制代码
       然后到/tmp/目录把list.txt下载下来看,menuconfig时依样画葫芦勾选

  2)一样的源码,人家编译出来的固件功能正常,而我的却有功能不正常?
       这个很可能是你漏选了一些依赖或者模块了,想知道跟别人比,自己漏选了哪些怎么办?请看:
  1. #登录刷好自己固件的路由,导出自己的列表,假设叫my_list.txt
  2. 1、opkg list-installed |awk '{print $1}' >/tmp/my_list.txt
  3. # 上传别人的list到/tmp/,然后比较跟别人的相比,自己少了啥
  4. 2、cd /tmp
  5. 3、grep -vwf my_list.txt list.txt >lack.txt
  6. #把lack.txt下载下来就能查看了
复制代码

脚本下载:
  老规矩,伸手党不可见~~


附加资源:
   [attach]156322[/attach]
   [attach]156321[/attach]





















作者: aaronsparty    时间: 2017-3-19 16:52
你问我资磁不资磁,我当然资磁了。
作者: gaomin1990    时间: 2017-3-19 17:14
前排支持,太感谢了
作者: ?☕    时间: 2017-3-19 17:22
感谢分享。。。。。。。。。。。。。。。。。。。。
作者: jiqianghu    时间: 2017-3-19 17:22
gargoyle源码和openwrt同级目录,还是放到openwrt目录里?
作者: kochiya    时间: 2017-3-19 17:42
xiexie 太好了~  刚找你的S-S R插件看到这个
作者: jc天马行空    时间: 2017-3-19 17:46
jiqianghu 发表于 2017-3-19 17:22
gargoyle源码和openwrt同级目录,还是放到openwrt目录里?

这么猴急......等我帖子写完
作者: jiqianghu    时间: 2017-3-19 18:00
jc天马行空 发表于 2017-3-19 17:46
这么猴急......等我帖子写完

哈哈 最好能step by step操作啊
作者: jc天马行空    时间: 2017-3-19 18:00
jiqianghu 发表于 2017-3-19 18:00
哈哈 最好能step by step操作啊

这个................................
作者: adbyby    时间: 2017-3-19 18:07
不为啥,就为你前面那几句话,说得好,给你点一百个赞,外加支付宝已给你转帐50W请笑纳.
作者: jiqianghu    时间: 2017-3-19 18:10
jc天马行空 发表于 2017-3-19 18:00
这个................................

石像鬼支持mt7628/88吗?我看官网只有mt7620的支持。
作者: zjycb    时间: 2017-3-19 18:18
感谢分享,谢谢,留档
作者: asw333    时间: 2017-3-19 19:32
哇偶   在线等
作者: jc天马行空    时间: 2017-3-19 19:43
asw333 发表于 2017-3-19 19:32
哇偶   在线等

已上传。。。。。。。。。。。。。。。。
作者: QQ66    时间: 2017-3-19 20:00
看看,我以前参考百草郎君的,好像有点问题。
作者: 血洗刀锋    时间: 2017-3-19 20:10
大哥麻烦把目录给全,还有一种更简单的办法
作者: jc天马行空    时间: 2017-3-19 20:25
血洗刀锋 发表于 2017-3-19 20:10
大哥麻烦把目录给全,还有一种更简单的办法

那请有空赐教下~我这个是自己读懂脚本后摸索的
作者: 血洗刀锋    时间: 2017-3-19 20:27
jc天马行空 发表于 2017-3-19 20:25
那请有空赐教下~我这个是自己读懂脚本后摸索的

你可以在石像鬼的左侧栏做个按钮,点击跳转到luci界面,luci界面也做个跳转链接就行了,完美解决了,不需要额外的改什么端口,麻烦的一笔
作者: jc天马行空    时间: 2017-3-19 20:28
血洗刀锋 发表于 2017-3-19 20:27
你可以在石像鬼的左侧栏做个按钮,点击跳转到luci界面,luci界面也做个跳转链接就行了,完美解决了,不需 ...

这个没研究,有机会教我下~~
作者: 血洗刀锋    时间: 2017-3-19 20:33
jc天马行空 发表于 2017-3-19 20:28
这个没研究,有机会教我下~~

我记得以前有人做过的,就是在石像鬼界面开个跳转链接比较麻烦(石像鬼的资料比openwrt的还少,没办法,自己慢慢摸索吧)
作者: jc天马行空    时间: 2017-3-19 20:37
血洗刀锋 发表于 2017-3-19 20:33
我记得以前有人做过的,就是在石像鬼界面开个跳转链接比较麻烦(石像鬼的资料比openwrt的还少,没办法, ...

额,我还以为你已经实现了
作者: 血洗刀锋    时间: 2017-3-19 20:44
jc天马行空 发表于 2017-3-19 20:37
额,我还以为你已经实现了

我看了代码。。。。。。。
作者: jc天马行空    时间: 2017-3-19 20:54
血洗刀锋 发表于 2017-3-19 20:44
我看了代码。。。。。。。

那就给代码相关帖子或者链接吧~
作者: haxc    时间: 2017-3-19 20:55
jc天马行空 发表于 2017-3-19 20:54
那就给代码相关帖子或者链接吧~

照猫画虎弄个按钮或者链接就可以了
作者: jc天马行空    时间: 2017-3-19 20:58
haxc 发表于 2017-3-19 20:55
照猫画虎弄个按钮或者链接就可以了

关键没看到过这样的固件
作者: haxc    时间: 2017-3-19 21:04
本帖最后由 haxc 于 2017-3-19 21:06 编辑
jc天马行空 发表于 2017-3-19 20:58
关键没看到过这样的固件

我的意思是,添加个按钮,直接打开
比如
  1. s:taboption("basic", DummyValue,"opennewwindow" ,translate("<br /><p align="justify"><script type="text/javascript"></script><input type="button" class="cbi-button cbi-button-apply" value="打开Luci界面" onclick="window.open('http://'+window.location.host+':8080')" /></p>"), detailInfo)
复制代码


  1. local_web="&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value=" " .. "Local Web" .. " " onclick="window.open('http://'+window.location.host+':8080')"/>"
复制代码


作者: jc天马行空    时间: 2017-3-19 21:56
jiqianghu 发表于 2017-3-19 18:10
石像鬼支持mt7628/88吗?我看官网只有mt7620的支持。

这玩意儿关键看openwrt cc的支持,cc支持了就能编译
作者: 百草郎君    时间: 2017-3-19 22:05
老铁,稳!!
作者: t895    时间: 2017-3-20 02:02
看看帖子里藏了啥好东西~~~
作者: jianying2009    时间: 2017-3-20 03:41
感谢分享,支持一下,辛苦你了!
作者: isirius    时间: 2017-3-20 09:22
谢谢分享!!太实用了。
作者: 血洗刀锋    时间: 2017-3-20 11:02
haxc 发表于 2017-3-19 21:04
我的意思是,添加个按钮,直接打开
比如

不需要把端口错开,地址都不一样的
作者: 5087805    时间: 2017-3-20 11:07
十分感谢楼主的分享
作者: mjn    时间: 2017-3-20 11:16
谢谢分享,正需要中……
作者: laoyangjp    时间: 2017-3-20 11:21

作者: yuestar    时间: 2017-3-20 12:54
感谢分享,持续跟进
作者: 懒浮云    时间: 2017-3-20 13:02
楼主linux实力可以的,支持
作者: owen5    时间: 2017-3-20 13:33
非常感谢分享。。
作者: jc天马行空    时间: 2017-3-20 13:50
血洗刀锋 发表于 2017-3-20 11:02
不需要把端口错开,地址都不一样的

你光在这边说,也没见你给出什么实质的东西
作者: fengkys    时间: 2017-3-20 14:59
一个投机取巧的方法就是,先刷一份别人编译好的功能正常的固件
作者: hangaj    时间: 2017-3-20 15:57
这才是真大神。。。顶你
作者: 血洗刀锋    时间: 2017-3-20 20:15
jc天马行空 发表于 2017-3-20 13:50
你光在这边说,也没见你给出什么实质的东西

我只提供思路啊。。。。。。具体的自己写
作者: wgy2000    时间: 2017-3-20 20:58
支持一下,表示用不到LUCI了,常用软件己有石像鬼界面
作者: 非常快了哦    时间: 2017-3-20 21:01
学习学习,感谢分享
作者: jc天马行空    时间: 2017-3-20 21:02
wgy2000 发表于 2017-3-20 20:58
支持一下,表示用不到LUCI了,常用软件己有石像鬼界面

问一下,石像鬼界面添加自定义按钮如何实现?想加一个跳转Luci的按钮,跳转方法知道了,就是添加按钮还找不到方法
作者: fw867    时间: 2017-3-20 21:22
很赞的教程非常不错的说……
作者: wgy2000    时间: 2017-3-20 21:44
jc天马行空 发表于 2017-3-20 21:02
问一下,石像鬼界面添加自定义按钮如何实现?想加一个跳转Luci的按钮,跳转方法知道了,就是添加按钮还找 ...

找个地方添加<input id="status_button" type='button' class="btn btn-primary" value="<%~ LUCI %>" onclick='luci()' />

对应的JS文件加一句

function luci()
{
        window.open("http://192.168.1.1");
}


其中这个192.168.1.1可以是变量

举个例我截的图对应是
window.open("http://" + currentLanIp + ":" + "2060/wifidog/status");


作者: jc天马行空    时间: 2017-3-20 22:06
wgy2000 发表于 2017-3-20 21:44
找个地方添加

对应的JS文件加一句

还是你热心,不过我刚刚自己摸索出来个更简单的方法,现在双界面之间都能自由切换了
[attach]155774[/attach]
[attach]155775[/attach]


作者: jc天马行空    时间: 2017-3-20 22:09
血洗刀锋 发表于 2017-3-20 20:15
我只提供思路啊。。。。。。具体的自己写

其实,你大概就是不愿意分享吧~,不过没关系,结合几位热心网友和自己的摸索,我也实现了
[attach]155776[/attach]

[attach]155777[/attach]


作者: RGYiii    时间: 2017-3-20 22:22
有时间一定要研究研究
作者: Drxbu    时间: 2017-3-20 22:23
支持,太感谢了
作者: zshwq5    时间: 2017-3-20 23:18
感谢分享好文。收藏先。
作者: Dead    时间: 2017-3-21 00:28
又见大神
作者: Windows10    时间: 2017-3-21 15:55
终于等到了
作者: a230    时间: 2017-3-21 16:03
感谢楼主无私分享
作者: 血洗刀锋    时间: 2017-3-21 16:08
jc天马行空 发表于 2017-3-20 22:09
其实,你大概就是不愿意分享吧~,不过没关系,结合几位热心网友和自己的摸索,我也实现了

其实我是不会写。。。哈哈哈哈我只会说
作者: jc天马行空    时间: 2017-3-21 17:01
本帖最后由 jc天马行空 于 2017-3-21 17:06 编辑
血洗刀锋 发表于 2017-3-21 16:08
其实我是不会写。。。哈哈哈哈我只会说

大神,你每次都给我个概念,然后都是各种笑的表情让我瘆得慌
作者: kkkboy    时间: 2017-3-21 18:09
授人予渔是最高境界啊。这个要点赞
作者: 百草郎君    时间: 2017-3-21 18:36
果断学习,再不用手动修改了
作者: Ruckus    时间: 2017-3-21 21:23
自用切换确实比较方便,还不用改端口
作者: dfswbnh    时间: 2017-3-23 12:23
厉害了,我的哥!
作者: liulzqlzq    时间: 2017-3-23 12:25
谢谢楼主这样的好人
作者: lonnieo    时间: 2017-3-23 13:00
就为最后两个小技巧也怒赞了,多谢分享
作者: iamchw    时间: 2017-3-23 13:06
谢谢分享,哈哈
作者: 729119722    时间: 2017-3-26 01:30
收藏了。谢谢楼主分享
作者: HugoYuan    时间: 2017-3-26 02:25
谢谢楼主分享
作者: oldcat    时间: 2017-3-26 09:11
老规矩,伸手党不可见~~
作者: 卯予予    时间: 2017-3-26 12:16
真的假的,不过还是先谢了

作者: woshilaohu88888    时间: 2017-3-26 14:49
标记一下,有空再看。
作者: hangaj    时间: 2017-3-26 22:30
有些儿所谓大神,完全把这个当做卖点,让你进群,然后就是各种开车、各种踢人  这句说的好。。。被各种大神坑过,还是靠自己靠谱
作者: weizai_    时间: 2017-3-27 10:11
很厉害的样子~给力
作者: jc天马行空    时间: 2017-3-29 19:05
目前修改过的这一份脚本能满足一些基本需求了~
作者: 纯属BUG    时间: 2017-3-30 06:55
这个要研究一下了
作者: zshwq5    时间: 2017-3-30 08:56
感谢大神无私分享。果断收藏。
作者: 496175433    时间: 2017-4-1 02:03
非常支持楼主无私的贡献,之前一直想弄双界面可是没人愿意分享,再次感谢!
作者: gfw    时间: 2017-4-1 06:04
好好好      
作者: 荒野无灯    时间: 2017-4-1 18:32
这个可以有啊。
作者: canny837    时间: 2017-4-5 15:10
小白不懂,求大大编译一个默认开启wifi的TP-wr703n的固件。
作者: shengyibao    时间: 2017-4-5 15:33
支付宝转500w
作者: doutoudou    时间: 2017-4-5 17:16
谢谢分享, 学习
作者: roczhang    时间: 2017-4-7 22:09
这么强的帖子,楼主应该自建群,让我等小白也好近身学习一下啊!敢问,楼主可否有群了?告知一下,谢谢!
作者: roczhang    时间: 2017-4-7 22:14
这么强的帖子,楼主应该自建群,让我等小白也好近身学习一下啊!敢问,楼主可否有群了?告知一下,谢谢!
作者: kingjoe    时间: 2017-4-19 05:24
楼主辛苦了!谢谢
作者: waitopen    时间: 2017-4-20 11:42
这个文章确实很好,灰常感谢分享
作者: 123223015    时间: 2017-6-4 21:00
谢谢楼主分享!真好拿来学习下!
作者: atlantiss    时间: 2017-6-27 13:45
楼主才是大神啊!!!!!
作者: jgh123    时间: 2017-11-16 16:11
感谢教程,支持!!!!!
作者: wayswang    时间: 2018-1-14 21:18
学习来了
作者: santafeng    时间: 2018-2-24 17:11
好,一定要回复
作者: 痴人说梦    时间: 2018-9-13 20:24
竟然现在才发现有这种好东西。

作者: dg12366    时间: 2019-10-24 15:15

谢谢分享, 学习!
作者: lyncean    时间: 2019-10-24 15:42
新手过来学习
作者: kkkboy    时间: 2023-6-14 15:45
石像鬼又出新版本了,大神还能更新一下吗?




欢迎光临 恩山无线论坛 (https://www.right.com.cn/forum/) Powered by Discuz! X3.5