几天前入手一块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. php+openresty 部署安装

    1. ecs 购买 地域: 华北 2 可用区: 随机分配 安全组 ID: sg-2533jog6k I/O 优化实例: I/O 优化实例 实例规格: 1 核 1GB 网络类型: 经典网络 带宽: 1M ...

  2. ThreadPoolExecutor系列<三、ThreadPoolExecutor 源码解析>

    本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7681826.html 在源码解析前,需要先理清线程池控制的运行状态 ...

  3. Single Number2

    题目链接:http://oj.leetcode.com/problems/single-number-ii/ Given an array of integers, every element app ...

  4. 关于tarjan算法的空间优化

    最近随着对tarjan算法理解的加深,我发现用另外一种途径实现tarjan的方法,且可以省去DFN数组,大大节省了空间.经过大量测试,已经无误.以下将分阶段阐述进行优化的过程. 第一阶段 下面来说一下 ...

  5. [Python] 文科生零基础学编程系列三——数据运算符的基本类别

    上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...

  6. LeetCode 118. Pascal's Triangle (杨辉三角)

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...

  7. linux makefile 编译多个.c文件 实例

    本例由 main.c  add.c sub.c add_sub.h 四个文件组成:编写Makefile执行程序 /******************************************* ...

  8. RabbitMQ 默认端口号

    4369 (epmd), 25672 (Erlang distribution) 5672, 5671 (AMQP 0-9-1 without and with TLS) 15672 (if mana ...

  9. POJ2318 TOYS(叉积判断点与直线的关系+二分)

    Calculate the number of toys that land in each bin of a partitioned toy box. Mom and dad have a prob ...

  10. route命令实例练习

    第1章 命令配置 虚拟服务器 网卡配置信息 虚拟网卡名称 虚拟网卡模式 服务器01 eth1 10.0.0.10/24 nat模式 服务器02 eth2 10.0.0.11/24 nat模式 eth3 ...