贝壳入手了一个DIR-825路由器,机器不错,可惜存储太小。所以要用extroot做成U盘启动。

首先,你需要安装kmod-usb2,kmod-usb-uhci,kmod-usb-ohci,kmod-usb-storage,kmod-usb-storage-extras这几个包,以保证系统可以正常访问你的USB key。而后安装block-mount block-hotplug block-extroot这几个包,来启用U盘启动。最后不要忘记安装kmod-fs-ext3,驱动文件系统。

当你搞定这几步后,修改/etc/config/fstab这个文件,如下配置。

config mount
option device   /dev/sda1
option fstype   ext3
option options  rw,sync
option enabled  1
option enabled\_fsck 1
option is\_rootfs 1
config swap
option device   /dev/sda2
option enabled  1

然后,恭喜你,你就拥有一个可以从U盘引导的路由器设备了。当然,如果不从U盘引导,那么还是可以正常使用目前有路由拥有的普通功能。在使用U盘后,路由器的包和设定就完全存储在了U盘上。如果配置错误,拔下U盘就可以还原。你也可以复制自己的U盘给别人,在同样型号,并且安装了同样上述包和配置的路由器上继续使用(当然,会沿用你的配置)。

下面,是如何创建可被openwrt引导的U盘。

mkdir /tmp/sda1
mkdir /tmp/root
mount /dev/sda1 /tmp/sda1
mount -o bind / /tmp/root
cp -a /tmp/root/\* /tmp/sda1

上面几步,更详细的可以参考这篇文章(http://ddnas.org:88/blog/index.php/archives/2.html)。

下面说一下使用U盘启动后,你很可能需要的一些包。

  • bash 当有了空间,你可以修改/etc/passwd来使用bash作为你的默认sh,这样比较习惯。
  • ifstat  非常常用的软件,监控各个网卡设备上的吞吐。
  • iftop   监控各个IP的访问情况。
  • iperf   测试路由器到各个节点的速度。
  • openssh-server sshd
  • openvpn vpn软件
  • screen   一个ssh中运行多个bash的玩意。

注意,openssh使用~/.ssh/authorized_keys作为验证文件,并且该文件必须是600以下权限。而dropbear不使用这个文件。因此必须先产生该文件,再禁用openssh的password验证模式,不要想当然直接以为dropbear已经产生了这个文件。