存档

‘Linux’ 分类的存档

今天Raspberry Pi的ArchLinuxARM升级到内核4

2015年6月23日 没有评论

早上例行升级树莓派的ArchLinux,发现内核升级到4.0.5-1了

image

ArchLinux和ArchLinuxARM在国内的镜像服务器

2015年4月11日 1 条评论

ArchLinux在国内有不少的镜像服务器,163和sohu都有,还有好多官方收录的镜像服务器。ArchLinuxARM在国内的镜像服务器不多,而且境外的镜像服务器也不稳定,有的时候会给你个速度还说的过去的服务器,有的时候那速度就是惨不忍睹。最近发现清华的这个镜像服务器不错,既有ArchLinux的,也有ArchLinuxARM的,地址如下:http://mirror.tuna.tsinghua.edu.cn/

测试了一下,下载个百兆的更新,分分钟的事情。mirrorslist文件在/etc/pacman.d下面。

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

ArchLinux上开启SSH的Tunnel

2015年4月8日 1 条评论

最近单位的网络的飞鱼星打开了,很多网站上不去,于是想在家里的树莓派2上把SSH的Tunnel打开。

修改起来是很简单,用vi /etc/ssh/sshd_config编辑sshd的配置文件,找到AllowTcpForwarding yes这一行,然后去掉注释,然后保存。

这时候重启就树莓派就好了。

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

树莓派1和树莓派2的性能对比(6):Server 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和树莓派2的性能对比(5):Real World PHP & MySQL BenchMark

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

树莓派和Cubieboard对比测试(7) – Server 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
Server Benchmark
test_1_create_dir 0.0017 seconds 0.0009 seconds
test_1_small_page 0.4914 seconds 0.1713 seconds
test_1b_small_page 0.4885 seconds 0.1394 seconds
test_1c_small_page 0.4882 seconds 0.1392 seconds
test_1d_small_page 0.4898 seconds 0.1392 seconds
test_1e_small_page 0.4889 seconds 0.1397 seconds
test_2_create_tempfile 0.0016 seconds 0.0008 seconds
test_2_medium_page 1.3283 seconds 0.4323 seconds
test_2b_medium_page 1.3281 seconds 0.4348 seconds
test_2c_medium_page 1.3297 seconds 0.4374 seconds
test_2d_medium_page 1.3283 seconds 0.4361 seconds
test_2e_medium_page 1.3318 seconds 0.4373 seconds
test_3_large_page 3.9221 seconds 1.3041 seconds
test_3_write 0.1565 seconds 0.0558 seconds
test_3b_large_page 3.9231 seconds 1.3027 seconds
test_3c_large_page 3.9270 seconds 1.3016 seconds
test_3d_large_page 3.9473 seconds 1.3015 seconds
test_3e_large_page 3.9296 seconds 1.3024 seconds
test_4_append 0.1028 seconds 0.0383 seconds
test_4_huge_page 6.2111 seconds 2.0126 seconds
test_4b_append 0.0999 seconds 0.0376 seconds
test_4b_huge_page 6.1738 seconds 2.0134 seconds
test_4c_huge_page 6.2370 seconds 2.0141 seconds
test_4d_huge_page 6.2073 seconds 2.0137 seconds
test_4e_huge_page 6.2364 seconds 2.0114 seconds
test_5_fileinfo 0.3223 seconds 0.1466 seconds
test_6_read_1024 1.9919 seconds 0.5921 seconds
test_6b_read_512 1.9095 seconds 0.5338 seconds
test_6c_read_256 2.5433 seconds 0.7696 seconds
test_6d_read_128 4.1118 seconds 1.1324 seconds
test_6e_read_64 7.1683 seconds 2.0073 seconds
test_6f_read_32 12.9881 seconds 3.5275 seconds
test_6g_read_16 28.5116 seconds 7.2687 seconds
test_7_read_8 33.9870 seconds 9.7546 seconds
test_9_readdir 1.6711 seconds 0.6747 seconds
test_arithmetic 0.0060 seconds 0.0015 seconds
test_array_operators 0.0101 seconds 0.0028 seconds
test_bitwise 0.0013 seconds 0.0005 seconds
test_casting 0.0283 seconds 0.0066 seconds
test_chr_fixed 0.0482 seconds 0.0116 seconds
test_chr_hardcoded 0.0093 seconds 0.0032 seconds
test_chr_var 0.0407 seconds 0.0107 seconds
test_comment_loop 0.0022 seconds 0.0014 seconds
test_compare 0.0020 seconds 0.0009 seconds
test_compare_false 0.0002 seconds 0.0001 seconds
test_compare_invert 0.0003 seconds 0.0001 seconds
test_compare_strict 0.0004 seconds 0.0001 seconds
test_compare_unstrict 0.0008 seconds 0.0003 seconds
test_connect_db 0.0587 seconds 0.0172 seconds
test_constants 0.0039 seconds 0.0011 seconds
test_crc32 0.0027 seconds 0.0007 seconds
test_db_setup 0.6793 seconds 0.1770 seconds
test_del_file 0.0014 seconds 0.0008 seconds
test_del_tempdir 0.0010 seconds 0.0004 seconds
test_distinctcolumn 1.8773 seconds 0.6269 seconds
test_do_while 0.0097 seconds 0.0051 seconds
test_do_while_break 0.0021 seconds 0.0011 seconds
test_empty 0.0003 seconds 0.0001 seconds
test_empty_loop 0.0024 seconds 0.0014 seconds
test_fetcharray 1.3069 seconds 0.4140 seconds
test_fetchassoc 1.1749 seconds 0.3709 seconds
test_fetchlength 1.1717 seconds 0.3643 seconds
test_fetchrow 1.1665 seconds 0.3681 seconds
test_fieldflags 3.4805 seconds 1.0895 seconds
test_foreach 0.0433 seconds 0.0153 seconds
test_get_class 0.0030 seconds 0.0008 seconds
test_global_scalar_assign 0.0014 seconds 0.0006 seconds
test_global_string_assign 0.0077 seconds 0.0029 seconds
test_if_constant 0.0004 seconds 0.0002 seconds
test_increment 0.0029 seconds 0.0010 seconds
test_is_array 0.0010 seconds 0.0003 seconds
test_is_object 0.0010 seconds 0.0003 seconds
test_is_type 0.0032 seconds 0.0009 seconds
test_isset 0.0003 seconds 0.0001 seconds
test_line 0.0004 seconds 0.0002 seconds
test_local_array_assign 0.0342 seconds 0.0096 seconds
test_local_boolean_assign 0.0021 seconds 0.0007 seconds
test_local_float_assign 0.0021 seconds 0.0007 seconds
test_local_hash_assign 0.0019 seconds 0.0007 seconds
test_local_integer_assign 0.0020 seconds 0.0007 seconds
test_local_object_assign 0.0020 seconds 0.0006 seconds
test_local_scalar_assign 0.0031 seconds 0.0010 seconds
test_local_string_assign 0.0078 seconds 0.0025 seconds
test_maxget 0.9734 seconds 0.3113 seconds
test_md5 0.0040 seconds 0.0014 seconds
test_microtime 0.0163 seconds 0.0043 seconds
test_mt_rand 0.0016 seconds 0.0005 seconds
test_numfields 2.5441 seconds 0.7369 seconds
test_numrows 2.5617 seconds 0.7237 seconds
test_ord 0.1501 seconds 0.0443 seconds
test_ordered_functions 0.0234 seconds 0.0101 seconds
test_ordered_functions_references 0.0228 seconds 0.0098 seconds
test_page1a 0.2641 seconds 0.0792 seconds
test_page1b 0.2585 seconds 0.0781 seconds
test_page1c 0.2621 seconds 0.0779 seconds
test_page1d 0.2613 seconds 0.0781 seconds
test_page1e 0.2598 seconds 0.0781 seconds
test_page2a 0.7814 seconds 0.2352 seconds
test_page2b 0.7866 seconds 0.2332 seconds
test_page2c 0.8034 seconds 0.2333 seconds
test_page2d 0.7826 seconds 0.2341 seconds
test_page2e 0.7810 seconds 0.2342 seconds
test_page3a 1.1535 seconds 0.3559 seconds
test_page3b 1.1828 seconds 0.3559 seconds
test_page3c 1.1847 seconds 0.3560 seconds
test_page3d 1.1614 seconds 0.3560 seconds
test_page3e 1.1867 seconds 0.3562 seconds
test_page4a 1.5888 seconds 0.4892 seconds
test_page4b 1.5672 seconds 0.4886 seconds
test_page4c 1.5672 seconds 0.4895 seconds
test_page4d 1.5980 seconds 0.4899 seconds
test_page4e 1.5838 seconds 0.4891 seconds
test_preg_match 0.0111 seconds 0.0028 seconds
test_rand 0.0015 seconds 0.0005 seconds
test_references 0.0004 seconds 0.0002 seconds
test_rowcount 0.5033 seconds 0.1234 seconds
test_sha1 0.0073 seconds 0.0016 seconds
test_sort 4.1689 seconds 1.2160 seconds
test_sort2 4.1101 seconds 1.3251 seconds
test_sort3 4.2083 seconds 1.2172 seconds
test_string_append 0.0058 seconds 0.0021 seconds
test_strlen 0.0010 seconds 0.0003 seconds
test_sumcolumn 1.0162 seconds 0.3223 seconds
test_switch 0.0070 seconds 0.0034 seconds
test_time 0.0016 seconds 0.0005 seconds
test_unordered_functions 0.0266 seconds 0.0112 seconds
test_variable_variables 0.0032 seconds 0.0009 seconds
test_while 0.0091 seconds 0.0056 seconds
test_write 0.6625 seconds 0.1705 seconds
test_write2 0.7029 seconds 0.1888 seconds
test_write3 0.7162 seconds 0.1961 seconds
test_write_cleanup 0.0103 seconds 0.0040 seconds
Score(higher is better) 144 484

树莓派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

树莓派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 标签:

树莓派和树莓派2的ArchLinuxARM的影像文件

2015年2月27日 没有评论

之前我发货一篇《修改树莓派ArchLinux分区的大小》,现在这篇文章过时了。

原因是树莓派网站不在提供ArchLinuxARM的img文件,响应的ArchLinuxARM网站也不以img格式来发布新版本。ArchLinuxARM直接提供了RootFS包,需要找一个Linux的机器对tf卡进行分区,再将RootFS解压缩到tf卡。这样就不再需要重新调整分区大小了。

今天树莓派2已经到手,顺手下载了树莓派、树莓派2、Cubieboard、Cubieborad2的ArchLinuxARM的2015.2的包,找时间做一个纵向的大评测。今天不上照片了,照片还在手机里……

ArchLinuxARM 2015.2的Pi和Pi2的内核是3.18.2,sun4i和sun7i的内核是3.4.103。这个纵向大测试会相当的值得期待。

话说当初在用Cubieboard做评测的时候,ArchLinuxARM的内核还是3.0.58,据说是因为Allwiner不出新驱动……现在看A10芯片还是沾了A20芯片的光,才有新内核可用。树莓派不存在这个问题,内核都是最新的,话说是不是过段时间就有Kernel 4用了呢?

期待啊~~~

分类: ARM Box, Linux 标签:

要不要再做一次两代树莓派之间的性能对比呢?

2015年2月15日 8 条评论

2015-2-2树莓派2开始发售了,ArchLinuxARM的Pi2版本也在2015-2-8发布了,PHPSpead还是原来的老样子,版本没有啥变化,还是1.0 BETA。从网站的访问分析,有不少访客都是根据搜索和固定连接过来的,不少固定连接都是链接到性能对比页。2年过去了,纠结要不要再做一个性能对比呢……

分类: ARM Box, Linux 标签:

ArchLinux USB安装盘制作

2014年4月3日 没有评论

前段时间收了一个集成显卡的D630,翻箱倒柜又找了2G的内存,凑足4G内存,自带的120G的7200转硬盘,正好装个Arch来玩。说实话,D630除了壳子塑料以外,集显的机器真的是码农利器,想当年用的那几台都不是自己的,用过就归还了,这次在水木的版里看到出的,600块钱就收来玩了。一个是玩Linux,一个是玩串口给台子写频,杠杠的。

手头没找到空的刻录盘,研究了一下怎么制作ArchLinux的USB安装盘。在ArchLinux的Wiki里面找了一下,找到一个USB Flash Installation Media的说明。因为这是D630是第一台专职Linux机器,所以就研究了一下这文档里面在Windows下怎么做的内容。

Windows下有三个方法,归根节点还是两个方法,一个是使用专门的启动U盘制作工具,一个是使用dd。Windows下的专门工具他推荐的是Universal USB Installer ,这个工具好处是不需要安装,也不大,带配置向导,界面也不复杂,还能自动帮你下载iso。但是我测试不好用,不知道是里面的syslinux的版本太老还是什么情况,反正是用我新下载的archlinux 2014.04.01的iso制作的U盘卡在了syslinux的步骤。

dd这个方法和linux上基本一致,那文档里分成了两个方法,一个是安装cygwin,一个是直接下载windows版的dd。我是直接下载来一个windows版的dd,马上就有专门的linux机器了,谁还玩cygwin啊,呵呵。下载地址

命令也很简单:dd if=archlinux-2014.04.01-dual.iso of=\\.\g: bs=4M

其中\\.\g:标示这是我的G盘。如果你的杀毒软件正在扫描U盘的话,那么写入U盘可能失败,没事,等会儿再试就好。写入完成以后,U盘上会有两个分区,一个64兆的fat32,还有一个是rootfs。rootfs一般不会沾满你的U盘,除非你的U盘1G大小都没有。

剩下的就没有什么了,插到D630启动就好,如果直接启动到硬盘了,那就重启修改BIOS启动顺序就好。

分类: Linux 标签: , ,

在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 标签:

Cubieboard下ArchLinux的sun4i-gpio独立驱动程序包

2013年4月24日 1 条评论

本来是想给Arch做的,结果Arch升级到3.0.57-2之后自带了,该修Script.bin就可以了。这个留给用其他版本的朋友吧。不保证能在其他非3.0的版本的内核上使用。另外,也需要修改script.bin。

下载地址

解压缩以后会有一个sun4i-gpio的目录,进去以后make clean在make modules。如果有错的话,自己修改Makefile。ko安装成功以后,会有/sys/devices/virtual/misc/sun4i-gpio存在。

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

在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

在Cubieboard的ArchLinux下驱动RTL8188eu无线网卡

2013年4月23日 3 条评论

原来图省事买了一个水星(Mercury)MW150US网卡,因为Cubieboard和Archlinux都内置RTL8129cu的驱动,结果买回来lsusb发现不是8129cu芯片,是8188eu的芯片。如果你用lsusb看到0bda:8179,那么恭喜你你也中标了。这两个芯片管脚兼容,但是驱动不太一样。在网上找到一个大神利用杨梅派2的驱动修改树莓派下Archlinux驱动的博客(地址),我也照他的过程编译出了Cubieboard下Archlinux的驱动。

我在百度盘上共享了我修改的源码包(地址)。如果在Cubieboard的ArchLinux下,只需先“pacman –S base-devel”之后,再解压缩进入目录执行“make && make install”就自动生成并部署了8188eu.ko。之后modprobe或者修改/etc/modules-load.d都可以了。

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

关于《为Cubieboard的TF卡安装Archlinux》的修订

2013年4月22日 1 条评论

本篇对于《为Cubieboard的TF卡安装Archlinux》进行修正。

修正的内容是在将最后umount之前,多执行一步“cp /tmp/arch/boot/uImage /tmp/boot”。这一步主要是用archlinux带的内核替换sunxi_hwpack中的内核。这两个内核都可以正常使用,没有什么额外的影响,但是驱动模块无法正常使用,需要自己重新编译。

这个问题是在cubieboard上无法驱动摄像头以后,才发现的fat分区中的内核与ko版本不一致的问题。上面那一个操作可以避免不一致。

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