zrenx

2015年05月14日

LS-WXL Debian Upgrade

Filed under: Linux — 标签:, , , , — zrenx @ 11:03 下午

I installed a Debian system on my Buffalo LS-WXL two years ago.

Recently, I want to play with some Nodejs, the LS-WXL will be my server, but the Linux kernel on it was too old (2.6.32). So I decided to upgrade it first. Obviously, compile a new kernel was my first thought. However, when I compiled the first one, there was a few patches, which I don’t think I can find new ones for the new kernel version.

I searched and searched, came across this thread, it says:

Support for the LS-XHL and LS-CHLv2 was added in the official Debian packets.
Just install linux-image-kirkwood and flash-kernel from wheezy-backports and reboot.

Similar devices, this method might works on LS-WXL as well. I tried and failed on “Unsupported platform”.

Early, I found this github repo: https://github.com/rogers0/OpenLinkstation
It supposed to be able to convert stock Linux system into a Debian system. There are bash scripts I can use as a instruction.

The magic begins:

  • Edit /etc/flash-kernel/db
Machine: Buffalo LS-WXL
Kernel-Flavors: kirkwood
Machine-Id: 527
DTB-Id: kirkwood-lswxl.dtb
DTB-Append: yes
U-Boot-Kernel-Address: 0x00008000
U-Boot-Initrd-Address: 0x0
Boot-Kernel-Path: /boot/uImage.buffalo
Boot-Initrd-Path: /boot/initrd.buffalo
Boot-DTB-Path: /boot/dtb
Required-Packages: u-boot-tools
Bootloader-Sets-Incorrect-Root: yes

I edited a little to match what’s on my machine. Boot-DTB-Path is where a dtb file will be generated

  • Copy kirkwood-lswxl.dtb and kirkwood-lswxl.dts from 1_debootstrap/dtb/ to /etc/flash-kernel/dtb/
  • Run: update-initramfs -uk all
  • Reboot and Good luck!

2012年09月13日

LS-WXL Debian改造过程

Filed under: Linux — 标签:, , , , , — zrenx @ 11:11 下午

缘由

自从老婆搬过来,并且把我07年的笔记本霸占以后,台式机充当下载机已经一年多了。看着最近的电费单总是一阵阵的不爽,就想着弄个全职下载机。想要自己的VPS也不是一天两天了,AWS的micro instance免费体验也到期了,弄个机器也要能装linux才行。

半个月前买了个Buffalo LS-WXL,原因有很多

  • 便宜  —— 不到600,看中Synology的也有段时间了,可惜就是贵了点
  • 不带硬盘 —— WD My Book Live, 不错,可惜找不到不带硬盘的,刚买的2T硬盘不想浪费了
  • 可以改Debian —— Linux党的最爱,折腾不是问题
  • 有两个硬盘位 —— 不想格式化2T硬盘,里面积攒的电影要挪出来也没地方暂放了。还有两个多余的笔记本硬盘。

要折腾必先获取root权限,有了root就可以通过optware玩些初级的东西了。

获取Root权限

完整方法

参考:http://buffalo.nas-central.org/wiki/Category:LS-WXL#Gain_Root_Access
买过来直接就是1.60的固件了,直接跳到 #Firmware_1.41_and_later 开始就行。

偷懒方法

下载别人提供的已经破解好的固件,http://forum.buffalo.nas-central.org/viewtopic.php?f=68&t=23603

有了root权限也不是就能为所欲为了,Buffalo在固件里面直接定死了 —— 要么RAID0,要么RAID1。要让我多余的硬盘发挥余热还是得靠Debian。

改造成Debian

制作rootfs

参考:Debian Squeeze on ‘V’ and ‘X’ Series (LS-WXL and others)

装Debian系统

  • 一开始参照前面的教程复制文件到/boot,启动后只能是闪蓝灯的无限循环; 用LSupdaterg刷,同样结果。
  • 后来找到了这个帖子,有外国网友已经制作好了一个完整的刷机包,第一次就刷成了,很兴奋,可是为什么就不能装软件?(一定是我打开方式不对,XD)  这个方法后来辗转又回来试过,不过不知道为什么就不行了。
  • 又找到个国内网友的帖子,他的方法只要直接解压rootfs就行了。可惜他的包放在115,而115关了大众分享。

想了想,hddrootfs.buffalo.buffalo本来就是系统根文件夹的压缩包,国内网友的帖子很靠谱。找出前面的自己做的 hddrootfs.buffalo.updated 准备就这么干了。

拔出硬盘,装到移动硬盘盒里,插上电脑,重建gpt分区表,手动分区。
sdd1 1G  /boot ext3
sdd2 5G  /         ext3
sdd3 1G  swap
sdd4 剩下的100多G xfs /mnt/disk1

找出前面收集到的2.7M的 uImage.buffalo、 1.5K的空白 initrd.buffalo,放入sdd1。把hddrootfs.buffalo.updated放入sdd2,解压,针对当前分区修改 /etc/fstab。

把硬盘重新插入LS-WXL,召唤神龙 启动。过一会儿后,ssh能连入就是成功了。

继续参考前面制作rootfs的文章下文,安装blstools(修复LED灯状态,控制风扇速度),打开开机日志,安装xfs文件系统工具,设置时区,开启debian安全更新源。

Debian系统总算是可以用了,关机插上第二块硬盘,再开机,发现不能mount ext4分区。Buffalo官方uImage.buffalo内核不支持ext4文件系统。

编译内核

参考:Building the Debian kernel

编译之前修改.config,在File systems下加入

CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y

内核编译安装完成,重启后就能加载ext4分区了。

直接使用http://pastebin.com/9yWQBnhW的脚本会有一堆如下的错误信息:

cat: /sys/class/gpio/gpio42/value: No such file or directory

原因是以上脚本有误,导致无法创建GPIO signals。脚本中的字符串比较要用“=”而不是“==”,
默认的dash不支持“==”。

gpio_config()
{
        if [ $1 = "enable" ]; then
                [ -d /sys/class/gpio/gpio$2 ] || echo $2 > /sys/class/gpio/export
                if [ $3 = "output" ]; then
                        echo out > /sys/class/gpio/gpio$2/direction
                else
                        echo in > /sys/class/gpio/gpio$2/direction
                fi
        else
                echo $2 > /sys/class/gpio/unexport
        fi
}

2010年08月18日

osd-lyrics for debian sid

Filed under: 未分类 — 标签:, , , — zrenx @ 12:20 下午

OSD-LYRICS 是个好东西,直接提供rpm和deb包。
launchpad 上还有他的源,可惜那都是给Ubuntu的,debian由于依赖问题不能用。

于是我自己动手打包了一个。
osdlyrics_0.3.2~20100604~debian_i386.deb

更新到 0.4.0:(2011/06/14)
osdlyrics_0.4.0~debian_i386.deb

2010年05月10日

Debian 调试 Nexus One 的设置

Filed under: Android,Linux — 标签:, , , — zrenx @ 4:06 下午

问题:无法在Nexus One上调试,adb无法识别设备。

[email protected]:~$ adb devices
List of devices attached
????????????	no permissions

原因:USB 设备ID无法被系统识别。(参考)
解决方法:
创建或修改文件(参考)

sudo vim /etc/udev/rules.d/51-android.rules

添加一行

SUBSYSTEMS=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e12",
MODE="0666", OWNER="YOUR_USERNAME"

改权限

chmod a+r /etc/udev/rules.d/51-android.rules

重新载入USB设备

sudo service udev reload

看效果

[email protected]:~$ adb devices
List of devices attached
HT9CXP811756	device

Powered by WordPress