RaspberryPi::mmcblk0p5

RaspberryPiを最新を使ってSDにインストールしようとしたら、パーティションの構成が変わっていた。。
archlinux-hf-2013-06-15を利用した。
(何も考えずに、昔のように容量拡張したら起動しなくなったのは内緒w)

ddを使ってSD(16GB)にインストール。

[root@alarmpi usr]# fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.23.1).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/mmcblk0: 15.8 GB, 15798894592 bytes, 30857216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00057540

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      186367       92160    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          186368     3667967     1740800    5  Extended
/dev/mmcblk0p5          188416     3667967     1739776   83  Linux

容量拡張するために、まずは、Extendedパーティションを削除して、その後、同様の構成でパーティションを
作成し直します。

Command (m for help): p

Disk /dev/mmcblk0: 15.8 GB, 15798894592 bytes, 30857216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00057540

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      186367       92160    c  W95 FAT32 (LBA)

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
Partition number (2-4, default 2): 
First sector (186368-30857215, default 186368): 
Using default value 186368
Last sector, +sectors or +size{K,M,G} (186368-30857215, default 30857215): 
Using default value 30857215
Partition 2 of type Extended and of size 14.6 GiB is set

Command (m for help): p

Disk /dev/mmcblk0: 15.8 GB, 15798894592 bytes, 30857216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00057540

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      186367       92160    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          186368    30857215    15335424    5  Extended

Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (188416-30857215, default 188416): 
Using default value 188416
Last sector, +sectors or +size{K,M,G} (188416-30857215, default 30857215): 
Using default value 30857215
Partition 5 of type Linux and of size 14.6 GiB is set

Command (m for help): p

Disk /dev/mmcblk0: 15.8 GB, 15798894592 bytes, 30857216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00057540

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048      186367       92160    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          186368    30857215    15335424    5  Extended
/dev/mmcblk0p5          188416    30857215    15334400   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)

再起動後、resize2fsを実施します。

[root@alarmpi ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.7G  466M  1.1G  30% /
devtmpfs         83M     0   83M   0% /dev
tmpfs           231M     0  231M   0% /dev/shm
tmpfs           231M  256K  231M   1% /run
tmpfs           231M     0  231M   0% /sys/fs/cgroup
tmpfs           231M     0  231M   0% /tmp
/dev/mmcblk0p1   90M   25M   66M  28% /boot
[root@alarmpi ~]# resize2fs /dev/mmcblk0p5 
resize2fs 1.42.7 (21-Jan-2013)
Filesystem at /dev/mmcblk0p5 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p5 is now 3833600 blocks long.

[root@alarmpi ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  467M   14G   4% /
devtmpfs         83M     0   83M   0% /dev
tmpfs           231M     0  231M   0% /dev/shm
tmpfs           231M  256K  231M   1% /run
tmpfs           231M     0  231M   0% /sys/fs/cgroup
tmpfs           231M     0  231M   0% /tmp
/dev/mmcblk0p1   90M   25M   66M  28% /boot

以上で容量の拡張完了です。

 

RaspberryPi::cacti (nginx + php-fpm)

cactiでapacheを稼働させることを試したので、次はnginxを使ってみます。
少しは軽くなることを期待して。。。

apacheを起動しないようにします。

# systemctl disable httpd.service

nginxとphp-fpmをインストールします。

#pacman -S nginx
#pacman -S php-fpm

php.ini等はapacheの時に変更しているので、今回は変更なし

php-fpmを127.0.0.1:9000で立ち上げることにします。設定ファイルは/etc/php/php-fpm.confにあります。

#listen = 127.0.0.1:9000
listen = /run/php-fpm/php-fpm.sock
 ↓
listen = 127.0.0.1:9000
#listen = /run/php-fpm/php-fpm.sock

起動時に立ち上がるようにしておきます。

#systemctl enable php-fpm.service

nginxの設定をします。今回はインターネットへ公開するわけでないので、扱いやすいようにしています。

    server {
        listen       80;
        server_name  localhost;
        root /usr/share/nginx/html;     (追加)
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
#            root   /usr/share/nginx/html;  (コメント)
            index  index.html index.php; (index.phpを追加)
        }

        ... (途中略)
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
#            root           html;  (コメント)
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; (変更)
            include        fastcgi_params;
        }

cactiは/usr/share/webapps/cactiにインストールされているので、nginxのdocument rootへシンボリックリンクを張ってます。

# cd /usr/share/nginx/html
# ln -s /usr/share/webapps/cacti .

nginxを起動時に立ち上がるように設定します。

#systemctl enable nginx.service

/usr/share/nginx/html以下全てのディレクトリに対してphpスクリプトを置けるようにしているので
デバッグ等をしやすいように設定しています。(セキュリティ等は今回無視です)

nginxにしたからといって、軽くはなりませんでした。
cactiをアクセスした時にグラフの生成時に時間がかかっています。rrdtoolが重いようです。

top - 11:54:27 up 15:05,  1 user,  load average: 3.09, 0.95, 0.46
Tasks:  70 total,   6 running,  64 sleeping,   0 stopped,   0 zombie
%Cpu(s): 93.9 us,  6.1 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    446772 total,   246136 used,   200636 free,    40280 buffers
KiB Swap:        0 total,        0 used,        0 free,   107336 cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM     TIME+ COMMAND                              
 5503 http      20   0 34568 4680 3244 R 19.8  1.0   0:07.88 rrdtool                              
 5498 http      20   0 34712 4744 3248 R 19.5  1.1   0:08.95 rrdtool                              
 5501 http      20   0 34580 4716 3248 R 19.5  1.1   0:08.41 rrdtool                              
 5505 http      20   0 34588 4672 3256 R 19.5  1.0   0:07.26 rrdtool                              
 5507 http      20   0 34432 4544 3244 R 19.2  1.0   0:05.81 rrdtool                              
 5509 root      20   0  2988 1236  936 R  1.0  0.3   0:00.31 top                                  
  108 mysql     20   0  296m  34m 5340 S  0.3  7.9   9:56.92 mysqld               
...

まあ、動かせることができるという程度ですね。。

 

RaspberryPi::cacti

cactiをインストールしてみます。
php,snmp,rrdtool等が必要になります。

#pacman -S net-snmp
#pacman -S rrdtool
#pacman -S mysql

mysqlの自動起動、停止は、

#systemctl enable mysqld.service
#systemctl disable mysqld.service

手動起動、停止、再起動は

#systemctl start mysqld.service
#systemctl stop mysqld.service
#systemctl restart mysqld.service

cacti用のsqlスキーマは、/usr/share/webapps/cacti/cacti.sqlにあります。

cactiで使用するphpのmoduleを有効にします。
/etc/php/php.iniファイルに下記を追加

extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so
extension=sockets.so

cronに下記を追加

# crontab -l
*/5 * * * * /usr/bin/php /usr/share/webapps/cacti/poller.php > /dev/null 2>&1 

備考

# pacman -Q | grep net-snmp
net-snmp 5.7.2-1

net-snmpは上記のバージョンなのですが、snmpdが起動できません。

# systemctl start snmpd.service

-- /var/log/messages --
snmpd[679]: pcilib: Cannot open /proc/bus/pci
snmpd[679]: pcilib: Cannot find any working access method.
--

Raspberry Piはpciデバイスがないためエラーが出てしまうためです。

コンパイルし直せばなんとかなると思いますが、パッケージでnet-snmpをインストールをしているので
とりあえず、このままにしています。
(Raspberry Pi用のパッケージ作成についてはまだ理解していません。)

原因は何かはわかっていませんが、cactiがかなり重いです。
apacheが重いのでしょうか。。。rrdtoolのグラフ生成が重いような気もしています。

 

RaspberryPi::apache

#pacman -S apache
#systemctl enable httpd.service

configは/etc/httpd/
デフォルトのDocumentRoot は/srv/http
logは/var/log/httpd/
になっているようです。

手動で起動、停止、再起動するときは

#systemctl start httpd.service
#systemctl stop httpd.service
#systemctl restart httpd.service

phpも後々使うので

#pacman -S php
#pacman -S php-apache

apacheからphpを利用できるようにするのでphp-apacheもインストールしておきました。

/etc/httpd/conf/httpd.conf

LoadModule php5_module modules/libphp5.so
Include conf/extra/php5_module.conf

を追加

 

RaspberryPi::無線化

WLI-UC-GNMが家に転がっていたので、これを使ってみます。
ネットで検索すると、同じ事をしている人がいて動作しているようです。

アダプターが熱くなるようなのでそこが少し気がかりですが、通常は無線使わないので^^;

ワイアレスと有線で接続してルータとして動作させてもよいですね。。。
vyattaとか動かないのでしょうか。。。。今度調べてみるか。ARMはまだ対応してないかな?

netcfgをインストールしたのは、無線を使う事を考えてたためでした。。

wpaのsupplicantを使うので、

#pacman -S wpa_supplicant
#cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant.conf
#wpa_passphrase ESSID パスワード

上記を実行し、出力結果を/etc/wpa_supplicant.confに加えておきます。
他の関係のないnetwork={}は削除します。

ワイアレスでも固定IPにしちゃいます。設定ファイルは
/etc/network.d/examples/wireless-wpa-staticを使います。

#cp /etc/network.d/examples/wireless-wpa-static /etc/network.d/wireless
CONNECTION='wireless'
DESCRIPTION='A wpa_supplicant configuration based wireless connection'
INTERFACE='wlan0'
SECURITY='wpa-config'
WPA_CONF='/etc/wpa_supplicant.conf'
IP='static' 
NETMASK='255.255.255.0'
ADDR='192.168.XX.YY'

/etc/conf.d/netcfgを追加します。

NETWORKS=("mynetwork" "wireless")
WIRED_INTERFACE="eth0"
WIRELESS_INTERFACE="wlan0"

無事、ワイアレスを使用することができました。

あとは、dhcpにするなり、ワイアレスだけで使うなり、用途に合わせて。。