找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1079|回复: 1

求助,关于vps上安装openwrt(x-wrt) [解决了,是ubuntu分区问题,换centos】

[复制链接]
发表于 2023-2-9 09:46 | 显示全部楼层 |阅读模式
本帖最后由 hood2000 于 2023-2-9 11:13 编辑

我按照x-wrt网站上关于在vps安装openwrt的方法试了几次,总是不能成功。提示如下:
  1. 系统在恢复 (initramfs) 模式下运行。
  2. 不会存储对设置的任何更改,更改会在重新启动后丢失。 此模式应仅用于安装固件
复制代码



问题:
1. 关于磁盘第一分区。教程中说磁盘挂载的每一个分区,我看了ubuntu18 下,sda1是bios ,sda2是/boot , sda3是swap,sda4是/ 。
按照教程来说,应该是指定一个临时存放的位置,只要空间够就行。是不是这样?
  1. 2.4 确定磁盘的路径和分区类型
  2. 用 df 和 mount 命令查看磁盘,确定磁盘第一个分区挂载的路径,比如磁盘第一个分区,通常是/dev/sda1 /dev/vda1 /dev/xvda1等等,类似这些。要注意的是这个分区的挂载路径和剩余空间大小,通常这个分区挂载在 / 或者 /boot 我们在刷机过程需要把固件等文件放到这个路径下面保存好。
复制代码
2.VPS的内存是1G,/tmp挂载的只有一半空间,是不是x-wrt固件解压后超过了这个空间,导致不能刷写/sda ?



VPS配置:

1 vCPU 1 GiB     30 GiB RAID-10 SSD

教程:
https://blog.x-wrt.com/docs/install-on-vps2/

  1. X-Wrt安装部署到VPS上(新)
  2. 1. 介绍:
  3. 把OpenWrt系统部署到云服务器(VPS),因为OpenWrt是网络系统,对转发做了不少优化,而且有良好的配置界面,很多服务比如OpenVPN等可以一键部署。注意本教程只适用于x-wrt固件,其它OpenWrt固件不适用。

  4. 本教程对于绝大多数VPS适用,比如vultr digitalocean Amazon的AWS Linode 阿里云 腾讯云 等等。但是不同的云,实际情况不太相同,要随机应变,根据实际情况做正确的处理。

  5. 这是新版本的教程,可以保证几乎100%成功部署到所有的VPS上面。

  6. 2. 教程:
  7. 2.1 固件下载
  8. 我们选择选择x86 64bits(MBR dos)或者x86 64bits(UEFI gpt)的固件,下载地址: https://downloads.x-wrt.com/rom/ 刷机需要到的文件

  9. x-wrt-x86-64-generic-initramfs-kernel.bin
  10. x-wrt-x86-64-generic-ext4-combined.img.gz
  11. 如果是EFI系统,需要EFI固件

  12. x-wrt-x86-64-generic-ext4-combined-efi.img.gz
  13. 2.2 VPS系统部署
  14. VPS系统的要求,可以是Ubuntu,可以是CentOS,可以是Debian,或者其他

  15. 2.3 VPS系统的网络配置识别
  16. 在部署之前,我们要清楚VPS的IP地址是如何分配的,有些VPS是自动获取(DHCP)分配的IP,有些是静态配置的,有些是双网卡和多网卡的。

  17. 登录VPS后,查看VPS的网卡IP地址,ifconfig 或者 ip list 命令查看,然后执行 grep /etc -nre <IP> 命令,如果抓到了包含这个<IP>的文件,打开看看是否是静态配置的脚本,找到这样的脚本,我们就鉴定这个VPS是静态配置,否则是动态配置。

  18. 另外,观察是否有多个网口,如果有多个网口,安装的时候需要注意,下面有说明。

  19. 2.4 确定磁盘的路径和分区类型
  20. 用 df 和 mount 命令查看磁盘,确定磁盘第一个分区挂载的路径,比如磁盘第一个分区,通常是/dev/sda1 /dev/vda1 /dev/xvda1等等,类似这些。要注意的是这个分区的挂载路径和剩余空间大小,通常这个分区挂载在 / 或者 /boot 我们在刷机过程需要把固件等文件放到这个路径下面保存好。

  21. 用fdisk -l查看分区类型,看是不是gpt,如果是gpt就需要刷EFI固件,通常不是。

  22. 2.5 开始刷机
  23. 刷机需要的文件,用wget下载下来

  24. x-wrt-x86-64-generic-initramfs-kernel.bin
  25. x-wrt-x86-64-generic-ext4-combined.img.gz 或者 x-wrt-x86-64-generic-ext4-combined-efi.img.gz
  26. 确定当前系统运行的内核路径,通常是 /boot/vmlinuz* 用 uname -r 查看内核版本。比如,路径是/boot/vmlinuz-4.15.0-111-generic 我们需要把 x-wrt-x86-64-generic-initramfs-kernel.bin 替换这个内核

  27. cp x-wrt-x86-64-generic-initramfs-kernel.bin /boot/vmlinuz-4.15.0-111-generic
  28. 然后我们需要确定第一个分区的路径,假如第一个分区是 / 我们把固件拷贝到 / 保存好 主意保存的名字是 x-wrt.img.gz

  29. cp x-wrt-x86-64-generic-ext4-combined.img.gz /x-wrt.img.gz
  30. 同时我们还需要一个安装脚本,脚本路径和固件保存的目录相同,这个例子是/ 脚本名字是 x-wrt-install-vps.sh 脚本的代码参考如下: (根据情况修改)

  31. #!/bin/sh

  32. # install to sda
  33. BDEV=sda

  34. # x-wrt.img.gz in disk part sda2
  35. DDEV=sda2

  36. # static ip
  37. #network=172.21.170.245,255.255.240.0,172.21.175.253,8.8.8.8

  38. # static ip swap eth0 eth1
  39. #network="117.18.13.159,255.255.255.0,117.18.13.1,8.8.8.8,initscript=dWNpIHNldCBuZXR3b3JrLmxhbi5pZm5hbWU9ZXRoMQp1Y2kgc2V0IG5ldHdvcmsud2FuLmlmbmFtZT1ldGgwCnVjaSBjb21taXQgbmV0d29yawo="

  40. # dhcp ip
  41. network=dhcp

  42. vmroot=/tmp/block
  43. mkdir -p $vmroot
  44. mount /dev/${DDEV} $vmroot || exit 0
  45. cp $vmroot/x-wrt.img.gz /tmp/x-wrt.img.gz && {
  46.         cd /
  47.         umount $vmroot
  48.         sync
  49.         (zcat /tmp/x-wrt.img.gz;
  50.          echo open=443,network=$network;
  51.         ) >/dev/$BDEV && reboot
  52. }
  53. 这个脚本准备刷机的磁盘是sda,第一个分区是sda1,它是DHCP动态获取IP的。你需要根据情况修改刷机脚本,脚本会在重启后启动initramfs内核并且执行。 如果磁盘是vda,就修改BDEV的值,注意,如果是静态IP,就注释掉network=dhcp,启用静态IP那一行的network=<ip>,<mask>,<gateway>,<dns>,如果VPS有多个网卡,比如有2个eth0 eth1,我们需要附加一个initscript=<script base64 codes>来做交换网口,这个<script base64 codes>其实是如下脚本的base64编码,你要根据情况修改

  54. uci set network.lan.ifname=eth1
  55. uci set network.wan.ifname=eth0
  56. uci commit network
  57. 好了,如果上述处理妥当,就reboot重启,由于咱们用initramfs-kernel替换了内核,重启后将会进入initramfs-kernel的系统,然后这个系统会寻找 x-wrt-install-vps.sh 这个脚本执行刷机,这个脚本干的事情很简单,挂载第一个分区,拷贝固件到/tmp目录,然后执行刷机重启。

  58. 这个过程大概需要5分钟,看情况了。

  59. 系统重启后,我们将可以访问到OpenWrt管理界面,比如本文的例子,管理界面地址 https://[VPS_IP]/ 进入管理界面后,要立刻修改默认的管理密码,默认的账号密码是 root/admin,其次,如果有需要,进入系统管理权页面,开启ssh账号密码登录,并且要设置防火墙开放wan区22端口的访问。

  60. 最后,自由的进行各种配置吧!一个漂亮又熟悉的OpenWrt Luci界面就在你面前了。
复制代码



发表于 2023-2-9 11:10 | 显示全部楼层
部分虚拟机供应商的产品可以安装openwrt,在网上有一键安装脚本
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-30 13:59

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表