因为Debian系的Linux玩的有点多,于是想找另外一个发行版来玩一下。 先是装了个pidora,可是出了点问题,一启动就报错
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
在Google上搜索,但是结果只有两页,而且看了一些,也没有什么参考价值……好吧~我再换一个! 再继续在wiki上看有哪些系统可以玩……哎~ArchLinux,早听说过这个了,听说是超轻量级而且出色的Linux,好,就决定是你了! 先从Google找到ArchLinux的RaspberryPi版,下回来,大小不到200M,是目前找到的镜像里面最小的,解压出来,依旧有1.9G,这压缩率真恐怖。 然后就是将系统烧录到SD卡上。Windows的话就用Win32DiskImager,Linux或者MAC或者Unix系的话就dd,用法是
dd if=镜像 of=SD卡的设备名称
SD卡的设备名称一般为mmcblk,mmcblk0是第一张SD卡,mmcblk0p1是第一张SD卡的第一个分区,详情看自己的/dev。更多详情请自行Google。
写好之后最好还是找个Linux环境(用Windows又不想装Linux的给我弄个虚拟机去),以方便对SD的扩展操作。
因为没有显示器在手边,按照老方法,用TTL来登陆操作,下面是来自http://lavalink.com/2012/03/raspberry-pi-serial-interfacing/的示意图。 照着连接好之后,用终端工具连接,我这里用的是putty,简单快捷。
给RaspberryPi上电之后大概几秒钟(ArchLinux启动就是这么快!),系统就启动完成了。而且在TTL口没有调试信息的输出,当初还以为出了什么问题,结果点了几下回车,就出现了登陆提示……
最先要做的事情当然是修改locale,参考https://wiki.archlinux.org/index.php/Beginners’Guide(简体中文)。
修改/etc/locale.gen,去掉想要的locale前面的注释,然后运行一次locale-gen。想要的locale就出来了。
下一步是改环境变量,
export LANG="zh_CN.UTF-8"
然后可以修改~/.config/locale.conf,加入自己想要的locale,以后登陆就不用每次都手动改变量了。
语言弄好了,接着就是扩展一下SD卡上的分区。因为镜像是根据2G的SD卡搞的,这意味着我手上的8G的SD卡有6G没有用到。
先找个Linux环境,因为磁盘操作的话不能在Pi自身上完成,就算是OpenWrt来做也可。
参考:http://conanblog.me/blog/raspberry-pi/hack/arch/linux/go/2013/02/17/play-with-raspberry-pi/
用
fdisk -uc /dev/mmcblk0
打开SD进行操作。
用p来列出分区表,用d来删除分区,用n来新建分区。
附上原文中的操作过程作为参考:
$ sudo fdisk -uc /dev/mmcblk0 # 打印分區表 Command (m for help): p Disk /dev/mmcblk0: 3904 MB, 3904897024 bytes 64 heads, 32 sectors/track, 3724 cylinders, total 7626752 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004f23a Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 2048 186367 92160 c W95 FAT32 (LBA) /dev/mmcblk0p2 186368 3667967 1740800 83 Linux # 刪除第二個分區 Command (m for help): d Partition number (1-4): 2 # 新建一個分區 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 # !!! 第一個扇區號必須和上面刪除的分區的起始扇區號一樣,這裏的話是186368 !!! First sector (186368-7626751, default 186368): 186368 Last sector, +sectors or +size{K,M,G} (186368-7626751, default 7626751): Using default value 7626751 # 保存剛剛的操作並退出 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
然后检查磁盘错误、扩容
$ sudo e2fsck -f /dev/mmcblk0p2 $ sudo resize2fs -p /dev/mmcblk0p2
然后就基本上能用了。