pogoplug 装 ArchLinux 一点心得# Hardware - 计算机硬件
S*A
1 楼
在这个版上跟风进了几个。
装 ArchLinux 我用这个 Link, 步骤照做就可以了。
http://archlinuxarm.org/platforms/armv5/pogoplug-series-4
然后,如果要改启动 Linux 的参数的话,这个就特别坑爹了。
因为这个启动参数没有文件,是放在 flash 一个特定的地址,
被 UBoot 使用。ArchLinux 带了一个 package 可以在 Linux
里面改参数,叫作 uboot-tools。千万不要用这个 uboot-tools。
因为,你装完了 uboot-tools 以后,需要配置一个 /etc/fw_env.config。
这个就是 UBoot 使用的参数在 flash 里面的地址,和区间大小。
找了半天这个配置文件到底如何设置,没有。ArchLinux 论坛建议
是那几个示范配置一个一个试用下来。哪个 fw_printenv 不出错
就是了。结果貌似那个 0xa0000地址似乎没有错。就是它了。
fw_printenv 没有错,但是一旦 fw_saveenv,那就坏了。
pogoplug 起不来。灯一直闪。
焊接了 serial port 连接进去看。果然抱怨 BLPARAMS CRC bad。
使用 default env。
好在我多个心眼,写之前把原来的 fw_printenv 结果全部保存
SATA 硬盘里,这个 env 数据换个 enclosure 还可以读出来。
然后写了一个 script 把 env 全部装回去。(其中一个 bug 是
要用单引号,不然那个变量会在 UBoot setenv 的时候展开。)
调试了一下程序,把变量最后通过 UBoot 正确写回去,pogoplug
又满血复活了。
所以教训就是,改 UBoot env 还是要用串口写,这样保证 UBoot
写出来的变量自己用得了。在UBoot 以外改 env 风险太大。写的
区间不对把 UBoot 覆盖了那机器就彻底砖头了。
装 ArchLinux 我用这个 Link, 步骤照做就可以了。
http://archlinuxarm.org/platforms/armv5/pogoplug-series-4
然后,如果要改启动 Linux 的参数的话,这个就特别坑爹了。
因为这个启动参数没有文件,是放在 flash 一个特定的地址,
被 UBoot 使用。ArchLinux 带了一个 package 可以在 Linux
里面改参数,叫作 uboot-tools。千万不要用这个 uboot-tools。
因为,你装完了 uboot-tools 以后,需要配置一个 /etc/fw_env.config。
这个就是 UBoot 使用的参数在 flash 里面的地址,和区间大小。
找了半天这个配置文件到底如何设置,没有。ArchLinux 论坛建议
是那几个示范配置一个一个试用下来。哪个 fw_printenv 不出错
就是了。结果貌似那个 0xa0000地址似乎没有错。就是它了。
fw_printenv 没有错,但是一旦 fw_saveenv,那就坏了。
pogoplug 起不来。灯一直闪。
焊接了 serial port 连接进去看。果然抱怨 BLPARAMS CRC bad。
使用 default env。
好在我多个心眼,写之前把原来的 fw_printenv 结果全部保存
SATA 硬盘里,这个 env 数据换个 enclosure 还可以读出来。
然后写了一个 script 把 env 全部装回去。(其中一个 bug 是
要用单引号,不然那个变量会在 UBoot setenv 的时候展开。)
调试了一下程序,把变量最后通过 UBoot 正确写回去,pogoplug
又满血复活了。
所以教训就是,改 UBoot env 还是要用串口写,这样保证 UBoot
写出来的变量自己用得了。在UBoot 以外改 env 风险太大。写的
区间不对把 UBoot 覆盖了那机器就彻底砖头了。