分类 折腾 下的文章


构建 UEFI 启动的 OpenWrt 磁盘映像


请注意,本文中的方法已经不再被建议使用。因为在 2021 年 9 月 5 日,随着 OpenWrt 21.02 的释出,官方已经正式开始提供支持 EFI 的镜像,只需要下载带 -efi 后缀的即可,如 generic-ext4-combined-efi.img.gz

可惜这篇文章只活了半年就结束了它的使命(主要还是我咕,不然早就可以出现了)


在 Hyper-V 上第一代和第二代虚拟机有着一些差别,最显著的就是旧式 BIOS 启动和 UEFI 启动的区别,但还有其他的例如热插拔硬盘和网卡的区别。我一直以为是 OpenWrt 对 UEFI 启动支持不良,官方才一直没有推出 EFI 的磁盘映像的。因此,之前我的做法都是创建好一个 OpenWrt 虚拟机后都一次性加一堆网卡,以解决临时要加一个口的问题。昨天准备给家里的 OpenWrt 升级版本,就又想到了这个事情,就想试一试如果用 UEFI 启动能不能正常使用。

OpenWrt x86 的启动本身就是 GRUB 了,按理说如果内核支持,那么只要整一个 ESP 分区,然后整个 EFI 版本的 GRUB 进去,grub.cfg 复制过来以后按照老样子启动就可以了。试了之后,确实就这么简单就能启动并正常使用了,暂时也没发现什么问题,就让它冒烟测试吧。因为在调研的时候似乎没看到介绍这么做的教程,我就来水一篇博客了。

// 点开我,里面还有许多内容!


牛气冲天的新年红包


马上就是新的一年了,牛年的有趣的红包来了!快快点击参与吧→ https://hb.lohu.info

下面是一些你应该知道的事情:

  1. 这是一个类似 CTF 的闯关游戏,利用你的知识(现学也是可以的啦)解决所有题目,获得红包口令,进入支付宝领取红包。
  2. 你需要电脑上的工具才能愉快玩耍。
  3. 你拿到的所有答案都是八位数字,为了方便控制开始和结束时间,在支付宝领取时,前面需要加上一个“牛”字。如解题得到 66741003,那么最后的红包口令是“牛66741003”。
  4. 如果你是和别人一起完成的,希望你们能只领取一次,然后大家分。
  5. 本次活动时间从 2021 年 2 月 11 日 20 时开始,持续 24 个小时,如果红包都被提前领完,则游戏提前结束。
  6. 共有 2 个红包,第 1 个红包总额 58 人民币元,分 18 个;第 2 个红包总额 58 人民币元,分 18 个。红包领取规则均为“拼手气红包”。
  7. 游戏结束后也将在当前页面上放出题解。如有疑问也请通过博客的“关于我”页面上所述的联系方式联系。
  8. 最后祝大家,新年快乐!

活动结束后将在下面更新题解。题解已发布。

往期回顾


// 点开我,里面还有许多内容!


第一次接收SSTV


写日记的时候想到这件事情值得一提,于是就来水一篇博客。

昨天因为发现了小学玩的 Orbitron,然后想到最近 ISS 有在做 SSTV 接受活动,就看了一下预测,发现 ISS 刚好在早上十点多会有一次 88°大仰角飞过我这里,刚好没课,而且出现的方向和消失的方向都没有高楼遮挡,于是临时起意决定来试着接收。使用的器材是宝峰 DM-5R+钻石 775 拉杆天线,QTH 温州大学城 PL07iw。接受过程基本顺利,在仰角 20°(1041+0800)左右的时候开始有信号,但不够清晰,随着仰角的升高,大概在 40°往上收到了清晰可辨的信号。飞过头顶后不久,应该是 1043+0800,也结束了信号的接收。

因为收到讯号之前 ISS 就已经开始了这次 SSTV 的传输,所以收到的图片不够完整。加上是临时起意,没有各种线和设备,是通过手台的扬声器放出来后使用耳机上的麦克风收音,所以这个有损的过程也导致了收到的图片质量不佳。不过总体还是顺利的,作为第一次 SSTV 的接收,结果也让人满意。

202012290241.jpg


金华火腿报到


CQ CQ CQ, this is BG5DTR calling CQ and standing by.

今天下午三时四十分许,有关部门核发了我的呼号 BG5DTR。于是从今天开始我正式成为了一根金华火腿一名 HAM!

这是我初中的时候就想要完成的一件事,那时候也看了不少资料。囿于当时的客观条件,所以一直未能如愿。今年突如其来的疫情让闲在家里的我得以重拾当年的想法。于是我在今年重新了解了无线电,并于 10 月 24 日在杭州参加了考试。当然也是轻松通过了 A 类证的考试。26 日我的证件就正式核发了(相比我的朋友等了一两个月才拿到证确实是很快了),并在 30 号寄到了家里,我也是当晚就提交了呼号申请。主要因为工信部数据未同步,所以呼号一直到今天才正式核发。

目前我听 Jimmy Tian 的建议购置了宝峰 DM-5R(主要是有开源固件可以折腾←典型 geek)作为我的第一个设备。希望和你在电波上相遇,73。


气人的 Intel 网卡


好久没水博客了,想起 4 月 15 日这一次三个人折腾了一整天的事情,于是把 15 号的这篇日记放了上来。权当吐槽。


前两天,咕了好久的服务器上架终于办完了。昨天联系 HKIX 做调试,发生了 HKIX 那边一通电,机器里的路由器就 kernel panic 的问题,看了下 log 是 PCI-e 直通导致的,但是没关系,本身就准备过不直通用虚拟化方案的 solution。但是 ESXi 里面竟然网卡都没了,只有没有通电的端口还在,于是今天开始了漫长的 debug。

首先是 cyy 重装了 ESXi 为 PVE,因为我们觉得可能是 ESXi 有点问题。装好之后就是尝试直通,失败。经检查可能是我们的服务器对于 VT-d 的支持的问题,由于 HPE 的一些策略,所以不能顺利直通。使用 HPE 官方提供的方法同样没有解决。但是无论如何至少宿主机里能找见网卡,比 ESXi 里面网卡都没了要好,于是我们配好了虚拟交换机,然后在上面配好了路由器。正准备通知 HKIX 进行第二次测试,我们就发现了很要命的事情,麻田哥哥买的这个服务器型号只有 RHEL 等 Linux 发行版的驱动。没有驱动,尤其是 RAID 阵列卡的驱动是一件很要命的事情,因为这个阵列卡是个软 RAID,没有驱动的话 RAID 会形同虚设。所以我们还是得回 ESXi,至少 HPE 给 ESXi 6.7 还是有做 Gen 8 的设备适配的。

回到 ESXi,还是老问题,我精读了一下系统 log,终于看到一条重要信息。

2020-04-15T12:18:16.586Z cpu3:66008)WARNING: vmklinux: pci_announce_device:1486: PCI: driver ixgbe probe failed for device 0000:04:00.1

看样子是驱动的问题,同一张卡上 .0 的端口的驱动就正常加载了。然后我去找了一个比较大的 log,然后搜索关键字,发现了这个:

2020-04-15T12:18:16.586Z cpu3:66008)<3>ixgbe 0000:04:00.1: failed to load because an unsupported SFP+ module type was detected.
2020-04-15T12:18:16.586Z cpu3:66008)<3>ixgbe 0000:04:00.1: Reload the driver after installing a supported module.
2020-04-15T12:18:16.586Z cpu3:66008)WARNING: vmklinux: pci_announce_device:1486: PCI: driver ixgbe probe failed for device 0000:04:00.1
2020-04-15T12:18:16.586Z cpu3:66008)LinPCI: LinuxPCI_DeviceUnclaimed:257: Device 0000:04:00.1 unclaimed.
2020-04-15T12:18:16.586Z cpu3:66008)PCI: driver ixgbe claimed 1 device

居然是不支持的光模块!但是很奇怪,在 PVE 下面也是 ixgbe,为什么 PVE 就没有报这个错了,能够顺利加载。东找找西找找,发现了 ESXi 自带的 ixgbe 驱动比较旧,抱着试试看的心情更新了一下,漫长的重启之后,新的驱动果然就没有报错了!我们高兴死了,不然就只能刷 EEPROM 强行解决了。我们猜测是因为 ixgbe 进 Linux 的时候,因为这个原因被拒绝了,于是不得不去掉这个 SFP 模块的限制,于是就有了这个原因。但是 ixgben 是 Intel 给 ESXi 定制的闭源驱动,应该就没有这种好事了,所以我们也就没有去找 ixgben 的新版驱动测试,当然 ixgben 无法加载也是这个问题。

2020-04-15T13:10:04.379Z cpu3:65925)ixgben: ixgben_InitSharedCode:185: Unsupported SFP+ or QSFP detected. Try to replace a supported module then reload the driver.
2020-04-15T13:10:04.379Z cpu3:65925)ixgben: ixgben_InitSharedCode:187: HW init failed: -19
2020-04-15T13:10:04.379Z cpu3:65925)WARNING: ixgben: indrv_Attach:2399: Failed to init shared code
2020-04-15T13:10:04.379Z cpu3:65925)DMA: 691: DMA Engine 'ixgben' destroyed.
2020-04-15T13:10:04.383Z cpu3:65925)Device: 2482: Module 25 did not claim device 0x645f43035dc8be9d.

现在我们终于可以用虚拟化把这个光口接进虚拟机了。