存档

‘Raspberry Pi’ 分类的存档

树莓派1和树莓派2的性能对比(5):Real World PHP & MySQL BenchMark

2015年3月22日 没有评论

系列文章:

树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark

树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark

树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark

树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark

上次树莓派1和Cubieboard对比的地址为:

树莓派和Cubieboard对比测试(6) – Real World PHP & MySQL BenchMark

Pi Pi2
PHP version 5.6.6
MySQL version 5.5.5-10.0.17-MariaDB-log
Server Software Apache/2.4.12 (Unix) PHP/5.6.6
Real World PHP & MySQL BenchMark
test_page1a 2.3365 seconds 0.7525 seconds
test_page1b 2.3499 seconds 0.7534 seconds
test_page1c 2.3339 seconds 0.7531 seconds
test_page1d 2.3447 seconds 0.7529 seconds
test_page1e 2.3353 seconds 0.7529 seconds
test_page2a 6.4310 seconds 1.8929 seconds
test_page2b 6.3900 seconds 1.8923 seconds
test_page2c 6.4243 seconds 1.8913 seconds
test_page2d 6.4153 seconds 1.8927 seconds
test_page2e 6.4204 seconds 1.8924 seconds
test_page3a 9.0395 seconds 2.6444 seconds
test_page3b 9.3039 seconds 2.6462 seconds
test_page3c 8.9621 seconds 2.6440 seconds
test_page3d 8.9731 seconds 2.6467 seconds
test_page3e 8.9627 seconds 2.6429 seconds
test_page4a 12.5272 seconds 3.7309 seconds
test_page4b 12.3040 seconds 3.7344 seconds
test_page4c 12.7825 seconds 3.7329 seconds
test_page4d 12.3229 seconds 3.7370 seconds
test_page4e 12.4328 seconds 3.7291 seconds
Score(higher is better) 198 665

树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark

2015年3月22日 没有评论

系列文章:

树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark

树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark

树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark

上次树莓派1和Cubieboard对比的地址为:

树莓派和Cubieboard对比测试(5) – Real World PHP BenchMark

Pi Pi2
PHP version 5.6.6
MySQL version 5.5.5-10.0.17-MariaDB-log
Server Software Apache/2.4.12 (Unix) PHP/5.6.6
Real World PHP BenchMark
test_1_small_page 1.1907 seconds 0.5099 seconds
test_1b_small_page 1.1620 seconds 0.3424 seconds
test_1c_small_page 1.1608 seconds 0.3422 seconds
test_1d_small_page 1.1648 seconds 0.3435 seconds
test_1e_small_page 1.1701 seconds 0.3411 seconds
test_2_medium_page 3.2147 seconds 1.0279 seconds
test_2b_medium_page 3.2330 seconds 1.0329 seconds
test_2c_medium_page 3.3178 seconds 1.0358 seconds
test_2d_medium_page 3.3654 seconds 1.0369 seconds
test_2e_medium_page 3.3518 seconds 1.0372 seconds
test_3_large_page 9.9856 seconds 3.1942 seconds
test_3b_large_page 10.2158 seconds 3.1947 seconds
test_3c_large_page 9.9806 seconds 3.1957 seconds
test_3d_large_page 10.2136 seconds 3.1958 seconds
test_3e_large_page 10.2217 seconds 3.1928 seconds
test_4_huge_page 15.8610 seconds 4.9444 seconds
test_4b_huge_page 15.5103 seconds 4.9461 seconds
test_4c_huge_page 15.8390 seconds 4.9671 seconds
test_4d_huge_page 15.6031 seconds 4.9714 seconds
test_4e_huge_page 15.6240 seconds 4.9754 seconds
Score(higher is better) 297 941

树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark

2015年3月22日 没有评论

系列文章:

树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark

树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark

上次树莓派1和Cubieboard对比的地址为:

树莓派和Cubieboard对比测试(4) – Synthetic Read/Write BenchMark

Pi Pi2
PHP version 5.6.6
MySQL version 5.5.5-10.0.17-MariaDB-log
Server Software Apache/2.4.12 (Unix) PHP/5.6.6
Synthetic Read Write BenchMark
test_1_create_dir 0.0014 seconds 0.0010 seconds
test_2_create_tempfile 0.0015 seconds 0.0009 seconds
test_3_write 0.2340 seconds 0.1246 seconds
test_4_append 0.1555 seconds 0.0863 seconds
test_4b_append 0.1521 seconds 0.0840 seconds
test_5_fileinfo 0.4854 seconds 0.2825 seconds
test_6_read_1024 4.3047 seconds 1.2699 seconds
test_6b_read_512 4.4377 seconds 1.1854 seconds
test_6c_read_256 6.0634 seconds 1.7323 seconds
test_6d_read_128 9.6558 seconds 2.6062 seconds
test_6e_read_64 14.4697 seconds 4.5069 seconds
test_6f_read_32 24.8038 seconds 7.7512 seconds
test_6g_read_16 52.2430 seconds 15.5660 seconds
test_7_read_8 74.0824 seconds 21.8323 seconds
test_9_readdir 2.4713 seconds 1.0116 seconds
test_del_file 0.0014 seconds 0.0008 seconds
test_del_tempdir 0.0010 seconds 0.0004 seconds
Score(higher is better) 124 413

树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark

2015年3月22日 没有评论

系列文章:

树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark

上次树莓派1和Cubieboard对比的地址为:

树莓派和Cubieboard对比测试(3) – Synthetic MySQL BenchMark

Pi Pi2
PHP version 5.6.6
MySQL version 5.5.5-10.0.17-MariaDB-log
Server Software Apache/2.4.12 (Unix) PHP/5.6.6
Synthetic MySQL BenchMark
test_db_setup 1.3504 seconds 0.4811 seconds
test_distinctcolumn 6.0972 seconds 2.0539 seconds
test_fetcharray 3.4702 seconds 1.0954 seconds
test_fetchassoc 3.1557 seconds 1.0263 seconds
test_fetchlength 3.1741 seconds 1.0148 seconds
test_fetchrow 3.1540 seconds 1.2152 seconds
test_fieldflags 13.0071 seconds 3.5117 seconds
test_maxget 2.8478 seconds 0.8929 seconds
test_numfields 8.9720 seconds 2.2549 seconds
test_numrows 10.1692 seconds 2.2571 seconds
test_rowcount 1.0088 seconds 0.2399 seconds
test_sort 15.3296 seconds 4.1467 seconds
test_sort2 16.1388 seconds 4.1016 seconds
test_sort3 15.2947 seconds 4.1456 seconds
test_sumcolumn 2.8440 seconds 0.9381 seconds
test_write 1.3475 seconds 0.3367 seconds
test_write2 1.3922 seconds 0.3848 seconds
test_write3 1.4473 seconds 0.3876 seconds
test_write_cleanup 0.0107 seconds 0.0044 seconds
Score(higher is better) 145 524

树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark

2015年3月22日 没有评论

两代树莓派硬件的主要区别是,主频高了一些,cpu变成了4核,ram变成了1GB。

上次树莓派1和Cubieboard对比的地址为:树莓派和Cubieboard对比测试(2) – Synthetic PHP BenchMark

Pi Pi2
PHP version 5.6.6
MySQL version 5.5.5-10.0.17-MariaDB-log
Server Software Apache/2.4.12 (Unix) PHP/5.6.6
Synthetic PHP BenchMark
test_arithmetic 0.2261 seconds 0.1105 seconds
test_array_operators 0.2856 seconds 0.1700 seconds
test_bitwise 0.0383 seconds 0.0216 seconds
test_casting 1.3268 seconds 0.3272 seconds
test_chr_fixed 1.8898 seconds 0.5745 seconds
test_chr_hardcoded 0.4025 seconds 0.1578 seconds
test_chr_var 1.8833 seconds 0.5317 seconds
test_comment_loop 0.1064 seconds 0.0676 seconds
test_compare 0.1038 seconds 0.0417 seconds
test_compare_false 0.0056 seconds 0.0033 seconds
test_compare_invert 0.0084 seconds 0.0041 seconds
test_compare_strict 0.0084 seconds 0.0052 seconds
test_compare_unstrict 0.0307 seconds 0.0145 seconds
test_constants 0.1514 seconds 0.0500 seconds
test_crc32 0.1210 seconds 0.0352 seconds
test_do_while 0.4012 seconds 0.2534 seconds
test_do_while_break 0.0931 seconds 0.0541 seconds
test_empty 0.0057 seconds 0.0038 seconds
test_empty_loop 0.1062 seconds 0.0676 seconds
test_foreach 1.9737 seconds 0.8063 seconds
test_get_class 0.1385 seconds 0.0381 seconds
test_global_scalar_assign 0.0477 seconds 0.0266 seconds
test_global_string_assign 0.3587 seconds 0.1446 seconds
test_if_constant 0.0131 seconds 0.0090 seconds
test_increment 0.1622 seconds 0.0494 seconds
test_is_array 0.0365 seconds 0.0123 seconds
test_is_object 0.0396 seconds 0.0124 seconds
test_is_type 0.1358 seconds 0.0442 seconds
test_isset 0.0076 seconds 0.0045 seconds
test_line 0.0099 seconds 0.0065 seconds
test_local_array_assign 0.8565 seconds 0.3604 seconds
test_local_boolean_assign 0.0727 seconds 0.0316 seconds
test_local_float_assign 0.0731 seconds 0.0319 seconds
test_local_hash_assign 0.0685 seconds 0.0314 seconds
test_local_integer_assign 0.1053 seconds 0.0319 seconds
test_local_object_assign 0.0809 seconds 0.0280 seconds
test_local_scalar_assign 0.1006 seconds 0.0448 seconds
test_local_string_assign 0.2859 seconds 0.1169 seconds
test_md5 0.1953 seconds 0.0662 seconds
test_microtime 0.6788 seconds 0.2107 seconds
test_mt_rand 0.0649 seconds 0.0216 seconds
test_ord 6.4353 seconds 2.2288 seconds
test_ordered_functions 1.0930 seconds 0.4972 seconds
test_ordered_functions_references 0.9427 seconds 0.4826 seconds
test_preg_match 0.4483 seconds 0.1258 seconds
test_rand 0.0735 seconds 0.0223 seconds
test_references 0.0108 seconds 0.0072 seconds
test_sha1 0.2715 seconds 0.0810 seconds
test_string_append 0.2736 seconds 0.0996 seconds
test_strlen 0.0459 seconds 0.0127 seconds
test_switch 0.3535 seconds 0.1650 seconds
test_time 0.0618 seconds 0.0256 seconds
test_unordered_functions 1.1314 seconds 0.5539 seconds
test_variable_variables 0.1076 seconds 0.0407 seconds
test_while 0.4435 seconds 0.2794 seconds
Score(higher is better) 410 1082

启用Raspberry树莓派的i2c总线

2015年3月20日 没有评论

其实我是在看mono的i2c接口程序,发现我的/dev里面没有i2c-0和i2c-1这两个设备,于是查了一下。发现按照国内大部分教程为linux添加i2c-dev的驱动以后,并没有解决问题。翻墙找了找,如果单纯添加驱动不能解决问题的话,就需要修改/boot/config.txt了。

修改/boot/config.txt方法:

找到 device_tree_param=i2c_arm=on 和 device_tree_param=i2c_vc=on ,然后将其前面的注释去掉。

树莓派应该是有两条i2c总线?我不确定。不过一般情况在,/dev中会有i2c-0和i2c-1两个设备,上面两条如果只取消注释一条的话,那么只会出现一个i2c设备。i2c_arm对应的是i2c-1,i2c_vc对应的是i2c-0。

修改/etc/modules-load.d/raspberrypi.conf方法:

最后面添加i2c-dev。

这时候重启应该就可以看到/dev里面的i2c设备了。

再往下可以安装i2c-tools来查看工作状态了。这个自行搜索怎么用吧,我也没研究呢。

题外话:

  • 从上面的试验可以看出,config.txt的优先级要比linux内核驱动的优先级高,可以直接关闭设别,这样驱动也就无效了。
  • config.txt里面有i2c的速率设置方式,相应模块也有速率设置的方式,这两个优先级没有测试。
  • 有的linux发布上还有blacklist的设置,还需要从黑名单中去掉i2c设备。ArchLinuxARM这个是空的。
  • 目前是在Pi 1 B+上进行的测试。在Pi 1 B和Pi 2 B上还没有测试。根据文档看,貌似有区别,但是中说纷纭,有待测试。
  • DS1307硬时钟是i2c接口的,所以在使用DS1307前,需要保证i2c正常。

树莓派2上玩ArchLinux+LAMP(3):安装MariaDB、Apache和PHP

2015年3月7日 没有评论

系列文章:

(1)TF卡制作环境:http://just4fun.cn/?p=725

(2)TF卡制作:http://just4fun.cn/?p=727

 

MariaDB是在Oracle收购MySQL以后,社区做的开源分支。目前ArchLinux已经把MariaDB作为了MySQL的默认替代,我们这里也以MariaDB作为替代。MariaDB和MySQL协议兼容,内部应用也保持原样,所以除了在安装的时候不一样以外,后面的步骤的都类似。Apache和PHP就不说了,大家都懂的。

1.安装和配置MariaDB

(1)首先使用pacman –Syu升级系统上的现有的组件。

(2)接着执行pacman –S mariadb。这个命令会安装MariaDB服务器端、客户端命令行工具和客户端库。

(3)使用systemctl enable mysqld.service命令启用MariaDB服务。使用systemctl start mysqld.service立即启动MariaDB。

(4)启动以后,使用mysql_secure_intallation命令启用安全配置向导。按照向导回答问题就好。具体问题代表什么请自己查询MariaDB或者MySQL的资料。

(5)如果你不需要开启root的远程访问,这个时候你的MariaDB就已经安装好了。如果你需要开启root的远程访问,那请往下继续。

(6)执行mysql –u root –p,之后会提示你输入密码。密码是刚才安全向导中设置过的。除非你没设置。

(7)先执行use mysql;然后执行grant all privileges on *.* to ‘root’@’%’ with grant option;

(8)再执行grant all privileges on *.* to ‘root’@’%’ identified by ‘mypass’ with grant option;需要注意的是不要缺少最后面的分号。上面mypass是针对远程时候root的密码,可以改成自己的。可以单独设立。执行两边是因为第一遍生成了一个没有密码的账号,第二个开启密码。

(9)之后exit退出,就全部OK了。

 

2.安装配置Apache和PHP

把Apache和PHP一起写是因为可以利用pacman提供依赖管理,在安装PHP的时候,自动安装好Apache。

(1)执行pacman –S php-apache安装apache和php的所有组件。

(2)执行vi /etc/httpd/conf/httpd.conf配置apache

LoadModule mpm_prefork_module modules/mod_mpm_perforl.so

替换

LoadModule mpm_event_module modules/mod_mpm_event.so

这是archlinux的wiki中要求的,原因我没去研究。

再在最后部分添加

LoadModule php5_module modules/libphp5.so

Include conf/extra/php5_module.conf

这会将php5的相关配置包含到httpd.conf中。

(3)执行vi /etc/php/php.ini配置php

我这里保持默认就可以了

 

3.测试

测试其实非常简单,写一个phpinfo页面就好了。

分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签:

树莓派2上玩ArchLinux+LAMP(2):TF卡制作

2015年3月1日 没有评论

系列文章:

(1)TF卡制作环境:http://just4fun.cn/?p=725

 

前一篇写了怎么搞环境,这一节就开始做卡。这一节介绍的内容,对于制作树莓派1和树莓派2的ArchLinuxARM的Root FS,都是一样的。

在准备开始前需要准备好一个好用的读卡器。我之前就被一个不好用的读卡器折腾了一晚上才做好一个卡,不然算上下载的话,10分钟也足够了。

下面开始制作过程:

(1)启动之前我们做好的虚机,确保网络是通的。

(2)使用wget http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/rpi/ArchLinuxARM-2015.02-rpi-2-rootfs.tar.gz 下载当前最新版的rootfs,树莓派1可以使用ArchLinuxARM-2015.02-rpi-rootfs.tar.gz 。这两个不能混用,因为树莓派1的ARM处理器是arm5指令集,树莓派2是arm7指令集。也就是说二进制代码不一样。

(3)在电脑上插好带有TF卡的读卡器,然后在vbox虚机的窗口的菜单:设备->分配USB设备菜单里,选择读卡器设备。这时电脑会安装一个vbox的usb设备,资源管理器里面磁盘也会消失,虚机里面会有新设备提示。

(4)确保用ls –l /dev/sd* 能看到新的sdb,在进行下一步。

(5)使用fdisk /dev/sdb进行分区。o命令先清除掉原有分区记录,n命令在创建第一个分区,id默认1,起始扇区默认使用2048,结束扇区使用+100M。在用t命令,将这个分区类型修改为c。再用n命令创建第二个分区,id默认2,起始扇区和结束扇区默认。之后用w命令写入分区信息。

(6)这时在用ls –l /dev/sdb*,应该可以看到sdb1和sdb2。

(7)使用mkfs.vfat /dev/sdb1格式化第一个分区,然后mkdir boot创建这个分区的挂载目录,用mount /dev/sdb1 boot挂载第一个分区。

(8)使用mkfs.ext4 /dev/sdb2格式化第二个分区,然后mkdir root创建这个分区的挂载目录,使用mount /dev/sdb2 root挂载第二个分区。

(9)使用bsdtar –xpf ArchLinuxARM-2015.02-rpi-2-rootfs.tar.gz –C root 命令将rootfs解压缩到root目录。为确保缓存内的数据被写入,可以再执行一个sync命令。

(10)再执行mv root/boot/* boot,把rootfs里面boot内的文件全部剪贴到boot分区的目录。

(11)这时就可以执行umount boot root了。执行完毕拔读卡器就好。

这时你就可以把TF卡查到树莓派2上面开始测试了。插上电源,连好网线,可以直接ping一下alarmpi这个主机名。如果Ping不到的话,可以到家中路由器的dhcp管理里面看看名为alarmpi的名字对应的ip是什么。

分类: ARM, ARM Box, Linux, Raspberry Pi 标签:

树莓派2上玩ArchLinux+LAMP(1):TF卡制作环境

2015年3月1日 1 条评论

之前写过树莓派官网不再提供ArchLinuxARM的img下载,我们可以直接从ArchLinuxARM网站下载树莓派或者树莓派2的Root FS,相应的也就不想再需要在把img刷到TF卡以后在调整分区大小。那么我就来总结一下制作TF卡的过程。第一步需要先准备制卡环境。

img文件有其方便的一面,比如img文件有win32的制作程序,我们在现有的windows环境制作就好了。但是改为Root FS之后,就需要准备一个Linux环境来制作TF卡。

由于大多数人不一定有现成Linux环境,或者不想装双系统,或者现有Linux环境使用麻烦,所以我们这里介绍一个使用VirtualBox(下面一律简称为vbox)安装ArchLinux环境来制作。我之前就是有一个Ubuntu的vbox虚机,但是制作的时候不管是不是使用sudo,都会提示我权限不足,索性Ubuntu虚机删掉,安装一个全新的ArchLinux虚机。

我之前写过在D630上安装ArchLinux,其实做vbox的虚机,与之过程类似,但是由于制作TF卡的要求比较低,我们可以简化这个过程,然后加上必要工具安装的过程。下面就是安装过程:

(1)先下载Virtual Box的最新版本。地址:https://www.virtualbox.org/wiki/Downloads。只要不是太旧的版本就好,因为太旧的版本不支持挂载USB设备。当前版本是4.3.22。

(2)下载最新的ArchLinux的iso文件。当前版本是2015.2。这里推荐从http://mirrors.tuna.tsinghua.edu.cn/下载。这里是清华学生网管协会的镜像网站,不管是ArchLinux还是ArchLinuxARM都有镜像,速度还不错。

(3)在安装好Virtual Box以后,在里面创建一个ArchLinux虚机,32位的就好,内存建议1G以上,不过估计512MB就足够了。

(4)为虚机挂载之前下载的ArchLinux的iso之后启动,会进入到ArchLinux的LiveCD环境,先ping一下外网,看是不是网络已经通了。我们的这个环境创建,会直接从网络来完成安装。一般只要不是vbox虚机的网络配置有问题,应该是直接可以ping通的,ArchLinux已经默认支持虚机里面的虚拟网卡了。

(5)我们使用ls –l /dev/sd*命令,应该可以看到sda和sdb。sda是LiveCD的根系统,已经分区。sdb是虚机的硬盘,还没有分区。

(6)我们直接使用fdisk /dev/sdb格式化虚机的硬盘。先用n命令创建一个分区,默认使用分区id为1,使用默认起始扇区2048,结束位置使用+4G,在用t命令将这个分区类型改为83。这个分区是作为swap分区。

(7)接着我们在用n命令创建第二个分区,id默认为2,起始扇区和结束扇区都是默认,类型也不需要改变。这个分区是用作根存储。然后使用w命令保存分区信息。

(8)使用mkswap /dev/sdb1命令来格式化这个交换分区,然后使用swapon /dev/sdb1起用这个交换分区。

(9)使用mkfs.ext4 /dev/sdb2命令来格式化这个分区。然后用mount /dev/sdb2 /mnt将挂载到文件系统上。

(10)编辑LiveCD上的/etc/pacman.d/mirrorlist文件。这里面是pacman的镜像列表,我们只留下清华这个系统,或者163的镜像。vi编辑器怎么使用这里就不介绍了。

(11)在编辑完以后,使用pacstrap –i /mnt base来向刚才创建的分区灌入Root FS,按照屏幕提示操作就好。整个过程我这里大约花了不到10分钟,这个时间会根据带宽和选择的镜像不同,时间长短也不同。

(12)在上一步结束之后,使用genfstab –U –p /mnt >> /mnt/etc/fstab命令,来生成新系统上的fstab文件,这里面会包括之前我们创建的交换分区。

(13)接下来执行arch-chroot /mnt /bin/bash来启用新的shell环境,这个时候已经切换到我们之前做好Root FS的sdb2来作为我们的文件系统根。显示新的提示符之后,标示执行成功。

(14)之后编辑/etc/locale.gen文件,只留下en_US.UTF-8即可,然后执行locale-gen命令。

(15)执行echo LANG=en_US.UTF-8 > /etc/locale.conf来生成locale.conf。这一步和上一步,都是来生成系统使用的语言和编码。如果之后这个系统会被用来跑桌面系统,同时还使用中文环境,可以把zh_CN.UTF-8加上。

(16)执行 ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。这会为时区设置创建一个软连接到北京时间。

(17)执行hwclock –systohc -utc来将vbox虚机的bios时间改为格林威治时间。这个是ArchLinux建议的设置。由于我们已经设置了时区信息,所以系统显示时间还是会使用北京时区来显示的。

(18)执行echo myhostname >/ect/hostname来设置当前虚机的机器名。

(19)执行mkinitcpio –p linux来创建ramdisk环境。

(20)使用passwd来修改新系统的密码。

(21)使用pacman –S syslinux命令,安装syslinux。syslinux是新系统的bootloader。安装成功以后执行syslinux-install_update –i –a -m这会更新新系统硬盘分区启动扇区信息。

(22)修改/boot/syslinux/syslinux.cfg文件,这里面是syslinux加载内核文件的配置信息。我们的新系统,在自己启动以后,根文件系统的分区名字会变成sda2,所以把里面加载内核文件的路径位置的分区改为sda2。

(23)这个时候执行exit命令,回到之前的shell环境。执行成功后,提示符会变成原来的样子。

(24)执行umount –R /mnt,然后执行reboot。

(25)看到系统关闭的时候,在vbox的虚机菜单中,将之前挂载的iso去掉,使之从虚机自己的虚拟硬盘启动。

(26)重启后,使用root账号用之前修改的密码登录。

(27)可以ping一下外网看看网络是不是通的,如果没有通,执行ip link看看提示信息。如一般情况会有两个网卡,一个是lo,这个是换回软网卡,一个是enp0s3。或者是和enp0s3类似的名字。这个就是我们网卡的设备名字,使用dhcpcd enp0s3来启动这个网卡上面的dhcp client。如果想每次自动启用dhcpcd或者使用静态域名,请查询ArchLinux的Wiki。在提示信息过后,回到提示符以后,可以再试试ping一下。

(28)网络连通以后,使用pacman –S dosfstools命令,安装格式化dos分区的命令集。这是因为我们的树莓派和树莓派2的TF卡会有一个100M的fat分区。

到此,这个虚机环境已经可以为我们来制作树莓派和树莓派2上面的TF卡了。当然如果你要是玩其他跑ArchLinuxARM的板子的话,例如:Cubieboard1/2/3,也可以使用这个环境来制作TF卡。

分类: ARM, ARM Box, Linux, Raspberry Pi 标签:

在ArchLinux上命令行直接设置主机名

2013年11月24日 没有评论

最近想给项目做个Subversion来管理代码,于是从桌子下面翻出来Raspberry Pi来,搞了个最新的ArchLinux安装了上去。安装Subversion之前,肯定先是改主机名和IP。翻了一下相关文档,都是直接修改/etc/hostname文件内容的方式,这和ArchLinux的方向明显是不符的,于是查阅了Arch的Wiki,总结到Blog上。因为Arch的激进性,我也没办法担保文档中讲述的内容的一直有效,但愿两年内有效吧。

Arch中查看主机名的命令是hostnamectl。因为它带ctl后缀,所以它确实是当下最新的和最时髦的。不带参数,直接执行的时候如下图:

image

如果你想要使用这个命令来修改主机名,那么格式为 hostnamectl set-hostname yourhostname

这个写脚本的时候,比那种改文件名的方式要美观。但是我从来不写脚本。

分类: Linux, Raspberry Pi 标签:

在ArchLinux里面使用mjpg-streamer

2013年4月23日 没有评论

首先需要摄像头能驱动起来,驱动起来的标志是存在/dev/videoX这类的设备。然后使用paman安装mjpg-streamer。安装好之后在/usr/share/mjpeg-streamer里面会有一个start.sh脚本,修改未注释的那行开头的./。如果你的摄像头是JPEG模式的话,应该就能开始工作了。如果提示格式错误,如下修改:

mjpg_streamer -o "output_http.so -w ./www" –input "input_uvc.so –device /dev/video0 –fps 5 –resolution 640×480 –yuv"

一般情况需要改一下,因为目前YUV模式输出的摄像头比较多。看到入这个图显示的时候,mjpg-streamer应该就已经跑起来了。

image

按照上面提示的端口访问网站,就能访问到一个网站,里面有浏览器访问的例子。如果遇到不能显示,建议换个浏览器试试。下图是我从网页里面截取的我这里的图。

untitled

修改树莓派ArchLinux分区的大小

2013年4月17日 没有评论

Arch Linux ARM给所有的盒子都提供了安装包,唯独给树莓派提供的是img文件。这个文件2G大小,也就是说不管你使用多大的SD卡,最终刷完img文件之后只能使用2G大小的空间。这就需要为这个分区扩容。

一般情况下,这个SD卡上面会有2到3个分区,这个根据不同的linux发布不同而不同。一个是FAT的分区,用来放启动时候的内核,一个是Linux分区,这个是rootfs。如果有第三个分区的话,一般是交换分区。Arch Linux ARM一般是两个分区。

本文以16G的SD卡为例,来进行演示。首先将Arch Linux ARM最新的img刷到SD卡上,这个不过程不复述了。然后准备一个Linux虚机,将插上SD卡的读卡器挂载到Linux环境中。

首先确保SD卡上面的分区没有被mount,然后使用parted命令。进入parted之后,首先使用unit s将显示的单位改成扇区。然后使用print列出SD卡上分区的信息。从下图中,我们能看整个磁盘/dev/sdb上面有30865408个扇区,Linux分区开始于186368扇区,结束于3481600扇区。

接下来问我们要删除linux分区,然后重新创建这个分区,并占满整个SD卡,这个过程只修改分区表,不修改实际数据。但是仍然建议备份卡里面的数据。执行rm 2来删除第二个分区。然后使用mkpart primary 186368 30865407来重新创建这个分区。186368来自于我们刚才看到的linux分区的起始位置,30865407来源于整个SD卡的的扇区数量,由于扇区是从0开始的,那么最后一个扇区就是30865408-1。然后使用quit命令退出parted。

接下来执行e2fsck –g /dev/sdb2 和 resize2fs /dev/sdb2来修复文件系统,以适应大的分区。

image

这时候,分区大小已经扩充完成。查到树莓派上就可以用df -h来查看新的rootfs的大小了。

image

分类: ARM Box, Linux, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(8) – 总结

2013年4月16日 3 条评论

终于开始写总结了,前面的数据整整整理了12个小时。让我想起来了大学时候做物理实验,回来整理实验报告的日子了。

言归正传,从前面的测试数据来看,Cubieboard大约比树莓派快大约3到2倍的样子。之前有听说Cortax-A8的处理器(全志A10的CPU内核)要比ARM11(树莓派的BCM2835的CPU内核)快大约3倍的样子,可以印证前面的测试结果。

因为前面测试是针对LAMP的,所以能得到结论:如果你要跑LAMP的话,Cubieboard的性价比绝对要比树莓派高得多。

分类: Apache, Linux, MySQL, PHP, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(6) – Real World PHP & MySQL BenchMark

2013年4月15日 没有评论
Tests:20
Iterations:2000
Raspberry Pi
(second)
Cubieboard
(second)
test_page1a
2.4093
0.6339
test_page1b
2.3304
0.6385
test_page1c
2.3521
0.6372
test_page1d
2.3451
0.6397
test_page1e
2.3529
0.6372
test_page2a
6.3356
1.7043
test_page2b
6.3270
1.6969
test_page2c   
6.2947
1.7056
test_page2d
6.3061
1.7068
test_page2e
6.3076
1.7088
test_page3a
8.6845
2.5152
test_page3b
8.6823
2.4956
test_page3c
8.6976
2.4980
test_page3d
8.7069
2.4976
test_page3e
8.7027
2.4958
test_page4a
12.8597
3.9805
test_page4b
12.8648
3.9556
test_page4c
12.8386
4.0234
test_page4d
12.8357
3.9496
test_page4e
12.8058
3.9347
Total time
151
44

综合评分

  • 树莓派 199
  • Cubieboard 681
分类: ARM, Linux, MySQL, PHP, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(5) – Real World PHP BenchMark

2013年4月15日 没有评论
Tests:20
Iterations:500
Raspberry Pi
(second)
Cubieboard
(second)
test_1_small_page
1.2150
1.5180
test_1b_small_page
1.2119
0.3241
test_1c_small_page
1.2187
0.3265
test_1d_small_page
1.2204
0.3201
test_1e_small_page
1.2246
0.3228
test_2_medium_page
3.6202
1.2820
test_2b_medium_page
3.6529
1.2761
test_2c_medium_page
3.6296
1.2737
test_2d_medium_page
3.6286
1.2781
test_2e_medium_page
3.6214
1.2814
test_3_large_page
10.4628
4.0927
test_3b_large_page
10.4616
4.0879
test_3c_large_page
10.4361
4.0937
test_3d_large_page
10.4505
4.0914
test_3e_large_page
10.4668
4.1038
test_4_huge_page
16.1156
6.4219
test_4b_huge_page
16.1501
6.4097
test_4c_huge_page
16.1647
6.4061
test_4d_huge_page
16.2468
6.4114
test_4e_huge_page
16.2303
6.4059
Total time
157
62

综合评分

  • 树莓派 286
  • Cubieboard 729
分类: ARM, Linux, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(4) – Synthetic Read/Write BenchMark

2013年4月15日 没有评论
Tests:17
Iterations:300
Raspberry Pi
(second)
Cubieboard
(second)
test_1_create_dir
0.0015
0.0065
test_2_create_tempfile
0.0017
0.0083
test_3_write
0.2395
1.8177
test_4_append
0.1654
0.2695
test_4b_append
0.1634
0.0416
test_5_fileinfo
0.5706
0.1646
test_6_read_1024
4.1214
1.4606
test_6b_read_512
4.6992
1.4062
test_6c_read_256
5.3860
1.9455
test_6d_read_128
9.5106
3.1174
test_6e_read_64
14.0067
4.9306
test_6f_read_32
23.9050
9.3780
test_6g_read_16
50.5616
18.7468
test_7_read_8
67.7656
25.9182
test_9_readdir
3.0781
0.8392
test_del_file
0.0015
0.0005
test_del_tempdir
0.0010
0.0003
Total time
184
70

综合评分

  • 树莓派 130
  • Cubieboard 343
分类: ARM, Linux, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(3) – Synthetic MySQL BenchMark

2013年4月15日 没有评论
Tests:20
Iterations:400
Raspberry Pi
(second)
Cubieboard
(second)
test_connect_db
0.0095
0.0693
test_db_setup
1.0512
1.7824
test_distinctcolumn
5.5337
2.0590
test_fetcharray
2.6101
1.0165
test_fetchassoc
2.2937
0.9642
test_fetchlength
2.3451
0.9492
test_fetchrow
2.2908
0.9582
test_fieldflags
14.3049
4.4386
test_maxget
2.2123
0.7694
test_numfields
10.8041
3.4005
test_numrows
10.9096
3.3241
test_rowcount
0.7400
0.2396
test_sort
16.4897
5.2641
test_sort2
16.3483
5.2500
test_sort3
16.4558
5.3123
test_sumcolumn
2.1926
0.7703
test_write
1.0098
0.3347
test_write2
1.0814
0.3568
test_write3
1.0943
0.3666
test_write_cleanup
0.0086
0.0033
Total time
110
38

综合评分

  • 树莓派 146
  • Cubieboard 425
分类: ARM, Linux, Raspberry Pi 标签:

树莓派和Cubieboard对比测试(2) – Synthetic PHP BenchMark

2013年4月15日 没有评论

Synthetic PHP BenchMark

Tests:50
Iterations:10000
Raspberry Pi
(seconds)
Cubieboard
(seconds)
test_arithmetic
0.2152
1.8594
test_array_operators
0.2988
0.1505
test_bitwise
0.0292
0.0148
test_casting
1.1385
0.4616
test_chr_fixed
1.8991
0.4138
test_chr_hardcoded
0.3249
0.1213
test_chr_var
1.4068
0.3822
test_comment_loop
0.1123
0.0645
test_compare
0.0832
0.0327
test_compare_false
0.0058
0.0032
test_compare_invert
0.0076
0.0033
test_compare_strict
0.0086
0.0049
test_compare_unstrict
0.0313
0.0107
test_constants
0.1570
0.0592
test_crc32
0.1308
0.0578
test_do_while
0.3978
0.2280
test_do_while_break
0.1029
0.0482
test_empty
0.0060
0.0033
test_empty_loop
0.1122
0.0634
test_foreach
2.2322
0.6037
test_get_class
0.1435
0.0484
test_global_scalar_assign
0.0515
0.0220
test_global_string_assign
0.4131
0.1188
test_if_constant
0.0145
0.0077
test_increment
0.1268
0.0550
test_is_array
0.0326
0.0101
test_is_object
0.0326
0.0101
test_is_type
0.1634
0.0366
test_isset
0.0069
0.0039
test_line
0.0152
0.0058
test_local_array_assign
0.9523
0.2810
test_local_boolean_assign
0.0754
0.0247
test_local_float_assign
0.0767
0.0253
test_local_hash_assign
0.0671
0.0215
test_local_integer_assign
0.0764
0.0262
test_local_object_assign
0.1017
0.0378
test_local_scalar_assign
0.0985
0.0348
test_local_string_assign
0.2487
0.1050
test_md5
0.2357
0.0846
test_microtime
0.7233
0.2863
test_mt_rand
0.0471
0.0169
test_ord
5.5215
2.2818
test_ordered_functions
1.0404
0.4086
test_ordered_functions_references
1.0643
0.3943
test_preg_match
0.4237
0.1433
test_rand
0.0713
0.0327
test_references
0.0124
0.0063
test_sha1
0.2764
0.0911
test_string_append
0.2194
0.0774
test_strlen
0.0325
0.0108
test_switch
0.2807
0.1442
test_time
0.0818
0.0379
test_unordered_functions
1.2267
0.4406
test_variable_variables
0.1104
0.0272
test_while
0.4385
0.2540
Total
23
10

综合评分:

  • 树莓派 431
  • Cubieboard 980
分类: ARM, Linux, Raspberry Pi 标签:

树莓派和Cubieborad对比测试(1)

2013年4月15日 1 条评论

自从收了一个树莓派和一个Cubieboard以后,一直想做的事情就是对比两个小东西的性能。这次主要测试的是LAMP的运行情况。

硬件上的比较:

  Raspberry Pi Cubieboard
CPU品牌 Broadcom BCM2835 全志A10
CPU 700MHz,ARM1176JZF-S 1GHz cortex-A8
Memory 512M(GPU共享) 1GB DDR3@480Mhz
SD卡 Kingmax 2G SD Sandisk 8G Class 2 TF
Onboard Ethernet 10/100 Mbps 10/100 Mbps

树莓派上面的SD卡比较小,而且2G的SD卡还不是SDHC的。Cubieboard上面的卡是Class2的8G大小TF卡。综合考虑速度应该差别不是很大,不会对实际的LAMP测试产生决定性的影响。

两个小东西装的都是最新的Arch Linux ARM,Apache的版本都是2.2.24,PHP都是Module方式安装的5.4.13版,MySQL的版本是5.5.30。树莓派的Arch Linux ARM内核比较新,版本是v3.6.11。Cubieboard的Arch Linux ARM内核旧一些,版本是v3.0.62。

测试软件是PHPSpeed v1 beta,直接从它git网站下载的最新版。

后续的博客将列出5项测试的细节。

分类: ARM, Linux, Raspberry Pi 标签:

树莓派使用HDMI到VGA转换器时黑屏的解决办法

2013年4月8日 没有评论

树莓派到手的时候,在电视上测试Raspbian和Arch系统的时候,都是没问题的,但是HDMI到VGA转换器到手以后,在22寸1680×1050显示器上面就黑屏。在网上找了一下,需要配置config.txt文件解决。elinux.org上面有一个config.txt配置的说明,这个除了能解决黑屏的问题外,还能为树莓派超频,甚至调电压。地址为http://elinux.org/RPi_config.txt

在我们做好的树莓派启动SD卡上面,会有两个分区,一个是Linux分区,在Windows下看不到,一个是FAT分区,在Windows下能看到。在里面有两个文件,分别是cmdline.txt和config.txt。

要解决黑屏问题需要对config.txt做如下修改:

  • 取消hdmi_force_hotplug=1前面的注释。这是为了强制使用hdmi作为视频输出。
  • 取消hdmi_group=2前面的注释,并修改为2。这是为了使用显示器模式输出。
  • 取消hdmi_mode=58前面的注释,并修改为58。这个数值需要根据你显示器的分辨率和刷新频率来设置,具体设置成什么参考http://elinux.org/RPi_config.txt
  • 取消config_hdmi_boost=4前面的注释。这个是为了加大HDMI口输出的功率,加强信号。如果前面的设置都不管用的话,在设置这个。
    保存以后插回树莓派就应该好用了。需要说明的是这个config.txt是一个unix格式的txt文件,也就是说windows的文本编辑器打开它看上去没有换行。你可以使用notepad++或者editplus来修改这个问题。
分类: Linux, Raspberry Pi 标签: