几天前入手一块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,远程操作起来就比较方便了。

Cubieboard2安装Fedora20的更多相关文章

  1. VirtualBox安装Fedora20

    工具/原料 Fedora20 32位版(必须是32位,VirtualBox不识别64位操作系统) Oracle VM VirtualBox 方法/步骤 1 搜索Oracle VM VirtualBox ...

  2. Fedora20上Xen的安装与部署

    XEN 是一种直接执行在硬件上一层软件,它能够让电脑硬件上同一时候跑多个用户的操作系统.其体系结构例如以下: XEN Hypervisor :介于操作系统和硬件之间的一个软件描写叙述层.它负责在各个虚 ...

  3. Unix/Linux环境C编程入门教程(6) 安装Fedora C/C++开发环境

    安装Fedora  C/C++开发环境 1 Fedora 是一个开放的.创新的.前瞻性的操作系统和平台,基于 Linux. 2.选择自定义配置 3.设置版本为10.0 4.选择稍后安装 5.选择64位 ...

  4. Fedora20安装fcitx输入法

    Fedora20安装fcitx输入法 Fedora20默认安装的是ibus输入法,总有一些原因让我们选择fcitx输入法: ibus出词顺序有bug 在输入人名的时候,有些名字输入两三次后还是不会出现 ...

  5. fedora20安装spin以及用户界面ispin

    (博客园-番茄酱原创) (最近感觉用make会出现库错误,所以改进了教程,把之前的make步骤省掉了,直接下载可执行文件进行配置最简单啦...) 1.首先,下载对应版本的spin,我64位的fedor ...

  6. fedora20安装hadoop-2.5.1

    (博客园-番茄酱原创) 首先感谢作者lxdhdgss,他的博文直接帮助了我如何安装hadoop,下面是他的博文修改版,用于安装在fedora20上面的,jdk1.8版本. 到hadoop官网去copy ...

  7. 在Fedora20上安装Oracle 12c

    本文将引导大家在Fedora20的环境下成功安装Oracle12c. 安装前的准备 编辑/etc/hosts文件,添加本机名称 编辑/etc/selinux/config文件 编辑/etc/redha ...

  8. Fedora20安装完Nvidia后启动一直黑屏解决办法。

    安装完Fedora20后,把Nvidia驱动装上后重起机器一直黑屏时,切换到命令行下:Alt+F2  登陆上去,然后直接更新: su -c ‘yum update’ ,再重起就OK了.

  9. fedora20 安装搜狗输入法及各种问题的解决

    http://blog.csdn.NET/g457499940/article/details/38656719 0 环境描述: 系统环境:Fedora20 64位 截止2014年09月 8日17:5 ...

随机推荐

  1. git无法pull仓库refusing to merge unrelated histories

    本文讲的是把git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决fatal: refusing to merge unrelated histories 我在Github新建一个仓 ...

  2. 【持续更新】.Net 开发中给自己埋下的坑!

    1.文件“XXX”正在由另一进程使用,因此该进程无法访问此文件. 原因剖析:文件在主线程操作,在子线程中读写操作文件,刚开始没有意识到程序的问题所在,总是在FileStream中报错,google后常 ...

  3. 清空jQuery validation 显示的错误信息

    现在做个BS结构的查询系统,登陆的时候添加个重置的按钮. 他的功能主要是: 1.清空Input的text 2.jQuery validation插件当错误的时候显示的信息,解决方法如下面的代码 var ...

  4. 1. Apache ZooKeeper快速课程入门

    Tips Tips做一个终身学习的人! 日拱一卒,功不唐捐. 在过去的几十年里,互联网改变了我们生活的方式.Internet上提供的服务通常由复杂的软件系统支持,这些系统跨越了大量的服务器,而且常常位 ...

  5. SpringMVC Spring MyBatis整合配置文件

    1.spring管理SqlSessionFactory.mapper 1)在classpath下创建mybatis/sqlMapConfig.xml <?xml version="1. ...

  6. Spark 基本概念

    Application:用户编写的 Spark 应用程序,包含驱动程序(Driver),和分布在集群中多个节点上运行的 Executor 代码,在执行过程中由一个或多个作业组成 Driver(驱动程序 ...

  7. 探索equals()和hashCode()方法

    探索equals()和hashCode()方法 在根类Object中,实现了equals()和hashCode()这两个方法,默认: equals()是对两个对象的地址值进行的比较(即比较引用是否相同 ...

  8. hdu 6215 -- Brute Force Sorting(双向链表+队列)

    题目链接 Problem Description Beerus needs to sort an array of N integers. Algorithms are not Beerus's st ...

  9. Strtus2框架笔记

    Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架. Struts2引入了几个新的框架特性:从逻辑中分 ...

  10. 走进 Visual Studio Mobile Center for Xamarin.Forms

    前几篇分别介绍了 Xamarin.Forms 的 MVVM 的 Prism,UITest,Nuint Test,那这样算下来,代码部分基本结构都有了(逻辑就先忽略吧) 那接下来就应该是自动 Build ...