最近嫌小房间里太阳太强烈,琢磨着抱着小本子去客厅里码代码,可惜里隔壁老麻家的WiFi信号如风灯,一丝两气(对面麻将馆,蹭的wifi),想着用个路由中继一下,解燃眉之急。

去年入路由器坑的时候,买了俩,都是TP的,一个Mr12u,一个Wr720n,先是觉着mr12u有电池能移动,也有 USB接口,挺好的,后来刷Openwrt的时候折腾好几天,最后发神经把带Uboot的TP固件刷进去覆盖掉了不死Uboot,就此成砖。查了下资料+前辈们的经验,这玩意只能拆机接TTL线用编程器刷写flash,嗯。。Mr12u的内部结构极其紧凑,变态外壳卡扣式设计,接缝处貌似是超声波热熔的。思索了下拆了肯定没法复原。所以放弃之后又买了个wr720n,这货体积略大,无电池,两个RJ45接口一个USB,和mr12u一样都能转接3G网卡。

前几天拿出来的时候发现Openwrt又更新到了15.05.1,看到恩山论坛有人发最新的带单线多播和ShadowSocks的固件,就刷了一下。后面发现剩余/root空间极其少完全不够用呐

发现剩余/root空间极其少完全不够用

虽然可以拆机换内存,不过我没电焊挺麻烦的orz,想起来有USB口可以挂载U盘,得找个U盘,倒腾了下发现我手上全是内存卡,不过找到了前年某同学让我帮他修的一个写保护状态的U盘,当时没弄好。回忆了下具体状况是无论怎么格式化都不允许操作。貌似只能用传说中的“量产”,不过当时芯片无忧那个工具好像识别不出是什么主控芯片,也就放弃了。决定再插上试试看能不能修好。

用芯片无忧一看是安国主控芯片,妈蛋假货金士顿。(不得不说现在卖扩容盘,假货盘的真多)

芯片无忧

根据资料我开始找各版本安国主控6987/sc708的量产工具,试了好多不是提示不支持的flash芯片就是插盘立即未响应。目前修盘找工具耗时3小时
功夫不负有心人,终于找到了个13年的版本能够正确识别flash芯片, 尝试了两次跑完进度条之后,可用空间都为0,此前是写保护状态,是没法读写的,看论坛有说是没量产成功,多尝试几次。终于在第二天早晨量产成功。U盘修好了23333,不得不说此生再也不买非官方卖的存储设备。各种坑爹

现在盘有了,接下来是如何挂载到路由上,瞅了下需要安装如下软件包

kmod-usb2  #识别usb2.0
kmod-usb-storage    #识别大容量存储设备
kmod-usb-core   #核心驱动
kmod-fs-ext3  #识别ext3/4文件系统

悲剧的是,就装这四个包都空间都不够。想着删几个不需要的包吧,腾点空间出来。没想到的是当我remove一些包时,上方的容量不增反减,我咧个乖乖,心中一万个草泥马,这什么鬼..........

又到了搜索时间,看了下论坛也有人有这样的疑问

容量不增反减

最后确认这破空间还腾不出来,只能自己编译固件的时候把不需要的包排除。说到这我瞅了下编译固件需要 Linux系统环境
两种方式:

  • 直接dump源码从头编译
  • 用image Builder 快速生成固件

对我这种捡便宜的孩纸自然是选择第二种啦。至此折腾了一天半

说归说,还是得下Linux系统,好像印象中就Ubuntu,debain,国产deepin。不得不说庞大的发行版数量简直恐怖
然后选了Ubuntu 16.04 ,直接用硬盘引导iso镜像,嗯....安装过程还算顺利。

erreor:no such partition
enter resure
grub resure>_

妈蛋各种不能正确引导,看样子引导问题,就用easybcd创建了一个引导,未果,提示内容一毛一样。然后尝试用grub的命令行来手动指定根分区和内核文件
boot以后成功载入文件,但是几秒等待后,还是无法进入,主要出错提示内容为


can't find /root in /etc/fstab

后多次尝试无果,基本最后都会跳到busybox命令行。

然后想换Deepin试试看,就去重建了MBR记录,删掉了linux分区用U盘来安装,安装过程也是一切正常,就是重启后打!不!开!提示内容跟最初Ubuntu一样,我的内心是崩溃的。

一天半又过去了........


回想了一下之前的步骤都没错。主板为纯BIOS引导启动,应该跟UEFI没多大关系,但是为什么找不到挂载点呢
各种Google Baidu后没有相关症状,试探性的去深度社区发了个 帖子 问问看有没有遇到过相关情况的朋友,实在苦恼又不想放弃,初入Linux坑就这么多麻烦,以后还怎么愉快的玩耍

今早上把DiskGenius分割出来的空闲分区又合并了回去,换win7自带的磁盘管理-压缩卷来得到空闲分区,重新安装特喵就成功了,简直哔了狗。

总结了下原因:
Diskgenius把空闲分区弄出来,然后linux安装的时候写入是对的,按/dev/sdax的路径来挂载所以没错,但到了grub引导启动的时候,用的是(hd0,X)的方式定位/boot路径的,貌似就导致了跟mbr里的分区信息错位了。不管怎么都不能引导正常。而磁盘管理是win7自己处理的,他会把这些东西写进去吧

至此总算是装上了Linux,开始编译固件,几番尝试之后摸清命令如下

make image PROFILE=WL500GP PACKAGES="ipk1 ipk2 ipk3 -ipk4 -ipk5"
/*
*profile为型号参数,使用make info可查看相关设备名
*package为导入包参数,不加-为导入包,加-为排除包
*
*/

加入usb依赖包,排除不用的ipv6包之后,体积还是超过了4M,只好把luci界面给去掉了,成功编译出固件,大小3.81M

经过一下午折腾,终于特喵挂载好了U盘,想装啥软件包都不是问题2333,(我:教练,我要学前端js。教练:你特喵啥都想学:


换了Github上某大佬写的质感主题,界面简直美哭,来几张图


历时几天,虽烧脑,也还算是有收获吧,算是对Linux入门了QAQ


“专注、热爱、 全心贯注于你所期望的事物上,必有收获。” - 爱默生

Last modification:August 16th, 2019 at 10:24 pm
如果觉得我的文章对你有用,请随意赞赏