Cubieboard2安装Fedora20
几天前入手一块Cubieboard2,又买了张16G的TF卡,装个linux折腾折腾。以前都是在虚拟机上用linux,个人比较喜欢Fedora,因为总能用上最新版的软件,像支持C++11的GCC、Clang等。这次搜了搜,终于找到适用于Cubieboard2的压缩镜像:Fedora-Xfce-armhfp-20-a10-1-sda.raw.xz。
在TF卡上安装系统:
开始就按照README所讲,直接在Fedora20的虚拟机上用xzcat写入TF卡,然后重新插入进行挂载,不但写入非常慢,而且反复试了好几次,rootfs总是出现错误,SHA1校验镜像没有问题。于是就换了个方法,在Windows下用7zip解压出raw镜像,再用WinHex的Disk Clone工具写入TF卡,直写扇区速度翻了几倍。写完后,在虚拟机上正常挂载,按README指导安装好uboot和kernel。
接下来就插入TF卡开机了,果然如README所讲,首次重启,然后设置时区创建用户等。不过,等我首次登录进来后发现,/目录只有500MB剩余,不用说,README中提到的“resize the root partition to fill the entire sdcard”肯定没有成功。于是关机,拔卡,重新运行起WinHex,仔细研究了一下解压出来的raw image。
MBR分区表中一共发现3个分区:
分区1:起始于1953扇区,大小为1000001扇区(488MB),就是挂载后的uboot;
分区2:起始于1001954扇区,大小为1000000扇区(488MB),Linux
Swap分区;
分区3:起始于2001954扇区,大小为5859375扇区(2.8GB),就是挂载后的rootfs。
此时TF卡中的分区格式也是这样的,这时最简单的方法就是手动修改分区表,让第三个分区的大小占据所有剩余空间,再把TF卡连到虚拟机上,用resize2fs调整文件系统占据整个分区大小。不过我还是想把各个分区调整到看着舒服的大小。
于是把3个分区参数都改了一下:
分区1:CHS从0,32,33到65,101,36,起始于2048扇区,大小为1048576扇区(512MB);
分区2:CHS从65,101,37到261,53,48,起始于1050624扇区,大小为3145728扇区(1.5GB);
分区3:CHS从261,53,49到1023,254,63,起始于4196352扇区,大小为26919936扇区(所有剩余扇区,12.8GB)。
随后,用WinHex将raw image中分区1和分区3的所有扇区分别写到TF卡对应分区的起始处,又挂载到虚拟机resize2fs调整了文件系统大小。因为之前写过一次,所以启动扇区不用写,不然的话要先把启动扇区写入后再修改分区表,以免覆盖。
此处隐约体会到了分层的概念,文件系统数据结构有其自身的完整性与独立性,就像FAT和NTFS都在首扇区保存了文件系统配置信息,不依赖于分区表。比以前在Windows上用Partition Magic更有些收获。
此时,装好TF卡,设置时区创建用户从头来过,登录,/目录剩余11.1GB,问题解决。
启用SSH和安装配置VNC Server:
防火墙默认已经放开了22端口,只不过sshd默认是不启动的。
在root账户下 vi /etc/ssh/sshd_config,将:
Port 22
Protocol
2
PermitRootLogin
yes
MaxAuthTries
6
这4行取消注释。
然后vi /etc/rc.d/rc.local,加入:
systemctl start
sshd
这样sshd就会开机启动,Putty和WinSCP等都可以连接了。
然后就是安装VNC Server:
yum install tigervnc-server
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service,
vi /etc/systemd/system/vncserver@:1.service
将其中所有<USER>改为相应的用户目录名,例如我这里账户名是lambda,还要在ExecStart一行最后的引号内加上-geometry
1024x768 -depth 24,保存退出。
systemctl daemon-reload,
systemctl enable vncserver@:1.service,
然后在对应的账户,此处为lambda账户,vncpasswd命令设置链接密码,
systemctl start vncserver@:1
就可以启动服务器了,需要开机启动的话就加到rc.local里,
fedora下需要
firewall-cmd --add-port
5901/tcp
来放开5901端口,永久开启的话
firewall-cmd --permanent --add-port
5901/tcp。
首次连接VNC,出来一个灰屏幕什么都没有,查了查,因为这里用的是xfce,所以要修改一下~/.vnc/xstartup,只保留上面两行unset,在下面加上一行startxfce4 &,重启vncserver,连接,一切正常。
这样有了Putty,WinSCP,VNC Viewer,远程操作起来就比较方便了。