静看光阴荏苒
不管不顾不问不说也不念

VPS安装OpenWrt的一点补充

这是关于之前那篇VPS安装OpenWrt文章的一点补充。

之前我是利用了别人编译好的initramfs,后来想了想既然我要装的固件都是自己编译的,那何必不自己也连同initramfs也编译了呢,然后还可以做一些定制。

目的:做一个和x-wrt具有相同能力的initramfs固件,既可以把固件安装在VPS上。

关于编译的依赖啥的,这些就不重复叙述了,有需要的可以参考:

VPS安装Lean OpenWrt

首先在编译的时候选上ramdisk,这样就可以编译initramfs固件:

然后要实现这个功能其实很简单,在原来的基础上,自定义一个shell脚本,让它开机的时候查找我们的安装脚本然后运行即可:

nano files/etc/rc.local

一个实现的例子:

install=$(find / -name imlala.sh)
mv $install /tmp
sh /tmp/imlala.sh
exit 0

initramfs是一个跑在内存里面的固件,启动后它会自动把机器的硬盘挂载到/mnt,所以这里可以直接用find去找我们保存在硬盘上的安装脚本,然后移动到/tmp目录(实际上这个tmp目录在内存里面)。最后执行脚本。

在要安装openwrt的vps上,在任意目录下新建一个名为imlala.sh的shell脚本,文件名必须是这个,或者你要改的话要和固件rc.local内查找的名字对应:

nano /imlala.sh

写入如下内容即可:

#!/bin/sh
disk=vda
cp /mnt/${disk}1/imlala.img.gz /tmp/imlala.img.gz
umount /mnt/${disk}1
gunzip -c /tmp/imlala.img.gz | dd of=/dev/${disk} && reboot

注:

1.disk=vda,后面的vda换成你的硬盘名字。

2.imlala.img.gz是你要装的OpenWrt固件,固件需要你自己下载保存在/目录下。

给脚本执行权限:

chmod +x /imlala.sh

之前直接把openwrt的initramfs替换掉原系统的内核感觉有点暴力,所以我们也可以新建一个grub菜单:

nano /etc/grub.d/40_custom

写入如下配置:

menuentry 'openwrt' {
set root='hd0,msdos1'
linux /boot/openwrt-x86-64-generic-initramfs-kernel.bin
initrd /boot/initrd.img-4.19.0-5-amd64
}

注:

1.openwrt-x86-64-generic-initramfs-kernel.bin是你自己编译好的initramfs。

2.initrd.img-4.19.0-5-amd64是你原系统内使用的initrd。

之后更改grub的默认启动项:

nano /etc/default/grub

改为你的菜单名字:

GRUB_DEFAULT="openwrt"

更新grub使其生效,重启开始安装:

update-grub
reboot
赞(3)
未经允许不得转载:荒岛 » VPS安装OpenWrt的一点补充
分享到: 更多 (0)

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    真的是服了,博主的站三网全墙。托euserv的福,用个免费扶墙来看一看,都是干货啊 :cool:

    ty3个月前 (08-04) Google Chrome 84.0.4147.105 Google Chrome 84.0.4147.105 Windows 10 Windows 10回复
    • 好像并没有被墙啊?

      Daniel3个月前 (08-04) Google Chrome 84.0.4147.105 Google Chrome 84.0.4147.105 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    lala大佬 可以出个litespeed企业授权版(2G内存以下是免费的) 搭建wordpress的教程吗?折腾了好久还是没有出来😣😣😣 主要是注意到litespeed性能很好

    永远爱lala3个月前 (08-05) Google Chrome 84.0.4147.89 Google Chrome 84.0.4147.89 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 感觉和openlitespeed是差不多的吧,我有水过openlitespeed,你可以参考一下?

      LALA3个月前 (08-06) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition回复
  3. #3

    网站没有被墙,只是域名被污染了

    死性不改3个月前 (08-14) Google Chrome 84.0.4147.105 Google Chrome 84.0.4147.105 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿