cxf5102 发表于 2020-10-17 01:33

瞎折腾指南之 软路由裸机安openwrt

本文主要目的:总结官方文档(OpenWrt Project: OpenWrt on x86 hardware aka PC or Servers)的坑点。
因为是软路由,存储一般都有数十个G,你如果想和我一样给默认分区扩容的话,可以参考一下。(如果你用额外分区扩容,有些软件会出问题,所以我不这么做。)

请配合官方文档一起阅读。
1. 因为要扩容,必须选择 combined-ext4.img.gz
2. 如果你和我一样是windows用户的话,请使用rufus导入镜像,文档里推荐的Win32 Disk Imager很屎,你大概率会遇到错误。
3. 你的openwrt有可能需要手动按enter才能进系统,我待会说怎么解决。总之,如果你发现每个网口都没反应,试试接个显示器重启,看看是不是这种情况。
4. 现在 /dev/sda2 应该有 250MB左右大小。我们按照文档Resizing partitions这一节来处理。为此,要么你在PC上运行Linux系统,然后插上你的软路由硬盘;要么利用USB接口在软路由上运行Linux;总之你需要一个Linux系统来操作分区。我选择用rufus在我的移动硬盘里创建一个ubuntu系统。基本上,按照文档中实例的fdisk指令来处理就是了。关键在于你删掉sda2分区以后,新创建一个分区,新的分区的开始扇区必须和旧的一样,而结束扇区用完所有空间。fdisk可能不允许你用33792(或者无论什么之前你删掉的分区的开始扇区)作为开始扇区,这种情况下使用 sudo fdisk -c=dos /dev/sda 进入兼容模式,这样就没有限制了。最后记得运行 resize2fs /dev/sdb2,才算完成。
5. 现在,如果系统需要按enter才能进去,参考这个 Boot "hangs" on 'LEDE' item in grub menu on x86 (no grub 'timeout') - Installing and Using OpenWrt - OpenWrt Forum 从结论来说,需要运行

mount /dev/sda1 /mnt

现在可以找到这个文件 /mnt/boot/grub/grub.cfg

# cat /mnt/boot/grub/grub.cfg
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 --rtscts=off
terminal_input console serial; terminal_output console serial



set default="0"
set timeout="5"
set root='(hd0,msdos1)'


可以注意到这里已经设置了timeout,其实是最上面两行卡住了启动,注释掉它们(用#号)。现在可以umount /mnt了。重启,应该能自动进入系统了。

huaxianyan 发表于 2020-10-17 11:20

我用的是 Lean 的编译,在编译前去设置里手动扩大了分区大小

顺便把一些安装起来依赖特别麻烦的也扔进去一起编译出厂
页: [1]
查看完整版本: 瞎折腾指南之 软路由裸机安openwrt