rss ログイン
JJ1RLWのXOOPS Cube Siteにようこそ

メインメニュー

ログイン


ユーザー名:


パスワード:





パスワード紛失  |新規登録

オンライン状況

5 人のユーザが現在オンラインです。 (5 人のユーザが xpress ブログ を参照しています。)

登録ユーザ: 0
ゲスト: 5

もっと...

アーカイブ

カテゴリー

アクセスカウンタ

今日 : 5454
昨日 : 9898
総計 : 238498238498238498238498238498238498

カレンダー

2018年2月
« 1月    
 123
45678910
11121314151617
18192021222324
25262728  

xpress ブログ »

 
WordPress for XOOPS

Raspberry Pi3の起動をUSB-HDDに

Raspberry Pi3はマイクロSDカードをストレージとして使っているが、マイクロSDカードには書き込み制限があり、容量や信頼性が気になり、起動のみマイクロSDカードにして、その後はUSBに繋いだストレージを使う形に設定して見ました。
保管してあったノートPCで使っていたSATA 2.5インチHDD(160GB)をUSB-HDDとして利用しました。
※繋いだUSB-HDDは別電源としました。

手順はUSB-HDDを繋いで、
sudo ls /dev/sda/* -al ※繋いだUSB-HDDを確認

sudo parted /dev/sda ※USB-HDDのパーティションを設定します

sudo fdisk -l ※使用しているストレージの情報を確認

sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync ※マイクロSDカードのFAT32領域(/boot)以外のデータをUSB-HDDに丸ごとコピー

ls -l /dev/disk/by-partuuid/ ※各ストレージのPARTUUIDを確認

sudo mount -t ext4 -o defaults /dev/sda1 /mnt ※USB-HDDをマウント

sudo vi /mnt/etc/fstab ※ルートとしてマウントするストレージのPARTUUIDに書き換え

sudo vi /boot/cmdline.txt ※マイクロSDカードの/boot/cmdline.txtの書き換え
root=/dev/mmcblk0p2
の部分を
root=/dev/sda1
に書き換えことで、起動するストレージを選択しています

sudo reboot ※Raspberry Pi3をリブートしてUSB-HDDに起動が変わるか確認

これでマイクロSDカードはブートローダ代わりとなり、書き換え回数制限の心配も無くなります。
このほかにもRaspberry Pi3の場合、USBブートを有効にする方法もあります。

参考にさせて頂いたサイトのプログラムをほとんどコピペさせて頂きました。
情報を提供して下さった方々に感謝します。..m(_ _)m

参考サイト
Raspberry PiをUSB(HDD)で起動させる
Raspberry Pi 3をUSB(HDD)だけ(SD不要)で動かす
Raspberry Pi 3とPi DriveでUSB HDDブートをしてみよう

Raspberry pi3で7インチタッチパネルを使う

Raspberry pi3にDebian 9(Stretch)を入れて、7インチタッチパネル(Elecrow7インチHDMI液晶ディスプレイ1024X600)を使って見ました。
手順は、/boot/config.txtをリネームして置き、1024X600解像度のHDMIディスプレイに付属のDVDに入っているconfig.txtをコピーし、Raspberry pi3を起動させます。
タッチパネルディスプレイ用ドライバはDVDに入っているものが古いので、最新版をWebよりダウンロードしてインストールします。
その後、仮想キーボードを導入してタッチ操作でコマンドや日本語入力が出来る様にします。

※作業前に、/boot/config.txt、/boot/cmdline.txtをバックアップして置くと良いと思います。

piユーザのターミナルで、
1. 7インチタッチパネルのドライバの導入
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
sudo ./LCD7C-show

※Raspberry pi3が再起動されます。

2. タッチパネルのキャリブレーションソフトの導入
cd LCD-show
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb
DISPLAY=:0.0 xinput_calibrator
cd

3. 仮想キーボードの導入(今回はソースからビルドしました)とパネルに追加
sudo apt-get update
sudo apt-get install libfakekey-dev libpng-dev autoconf libxft-dev libtool automake -y
git clone https://github.com/mwilliams03/matchbox-keyboard.git
cd matchbox-keyboard
./autogen.sh
sudo make
sudo make install
sudo apt-get install libmatchbox1 -y
sudo vi /usr/bin/toggle-matchbox-keyboard.sh
sudo chmod +x /usr/bin/toggle-matchbox-keyboard.sh
sudo vi /usr/share/applications/toggle-matchbox-keyboard.desktop
sudo reboot
vi ~/.config/lxpanel/LXDE-pi/panels/panel
sudo reboot

ここまでは、付属DVDのドキュメントに記載されている処理です。

4. なぜか仮想キーボードが文字化けしているので、日本語フォントを追加し、IMEをインストール。
※今回の環境が中途半端に日本語化されていた為ではないかと思います。
localectl set-keymap jp106
sudo apt-get install jfbterm
sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big
sudo apt-get install ibus-anthy
sudo raspi-config
sudo reboot

5. 仮想キーボードを日本語JIS配列のキーボードに
matchbox-keyboardの起動スクリプトを編集して、
/usr/bin/toggle-matchbox-keyboard.shのelseとfiの間の行を書き換えます。

日本語JIS配列用xmlを利用する場合
matchbox-keyboard -s 100 extended-jis &

日本語JIS配列のキーボードでの表示画像
日本語JIS配列のキーボードでの表示画像

日本語JIS配列でかな表示用xml(日本語JIS配列のキーボードを改造したもの)を利用する場合
matchbox-keyboard -s 100 extended-jis-kana &

日本語JIS配列のキーボードでかな表示画像
日本語JIS配列のキーボードでかな表示画像

私がコンピュータをいじり始めた頃は、まだ英数字記号と半角カタカナしか使えませんでしたので、日本語はカナタイプを使っていました。
なので、今でも日本語入力はローマ字入力ではなく、かな入力が基本です。
そこて、キーボードもかな表示が出来て入力も出来たらと思い、かなキーボードを作って見たものの、かなの仮想キーボードからの入力をIMEが上手く認識されずにスルーされてひらがなが出力されてしまいます。
anthyの設定をいじって、1→ぬ、2→ふの設定をぬ→ぬ、ふ→ふにして見たり、fcitx-mozc をインストールして試して見たが、2バイト文字コードはスキップされてしまう様な感じです。
普通のキーボード(ハードウェア)からなら、かな入力は問題無く出来るのに残念です。
英語圏以外の2バイト文字系の国々の方は、どうされているのか勉強不足です。

参考サイト
Raspberry Pi の仮想キーボード

Raspberry pi3(Raspbian)にXMailとXMailCFG他を導入

Raspberry pi3(Raspbian)にXMailとXMailCFG、K4、kmlを導入して見ました。
XMailはメールサーバで、XMailCFG、K4、kmlはWebサーバを利用してXMailの管理をPerlプログラムでGUI環境を提供します。
元々、XMailCFG、K4、kmlはWindows環境で利用していたので、今回はLinux環境に適用しました。
Raspberry pi3のLinux環境(Debian9(Stretch))に、WebサーバとしてApache2、Perlを導入しました。
ターミナルで
sudo apt-get install apache2 perl
sudo apt-get install xmail

次に日本語版の配布サイトより、XMailCFG(XMailCFG247.zip)、K4(K4u_095a.zip)、kml(kml009c.zip)の各zipファイルをダウンロードして、piユーザのディレクトに
public_html/XMailCFGにXMailCFG247.zipを解凍
public_html/K4GにK4u_095a.zipを解凍
public_html/kmlにkml009c.zipを解凍
public_htmlをApache2で公開し、CGIを使える様にして、基本認証を設定します。

XMailCFG、K4、kmlをLinux環境で使える様にターミナルで
perl /home/pi/public_html/XMailCFG/cgisetup.pl
perl /home/pi/public_html/K4/cgiupdate.cgi
perl /home/pi/public_html/kml/cgisetup.cgi
grep -l ‘File::Stat’ /home/pi/public_html/XMailCFG/cgi/*.* | xargs sed -i -e ‘s/File::Stat/File::stat/g’
ここまでは、XMailCFGのreadme.htmlに記載されている処理です。
追加で#!C:/usr/perl/bin/perl.exeが#!c:/usr/perl/bin/perl.exeだったり、perlの部分がPerlだったりするcgiディレクトリ下のcgiファイルの先頭部分を#!/usr/bin/perlに置き換えます。
また、kmlのWebがエラーになるので、kml/cgi下のファイルのrequire “config.cgi”とrequire ‘config.cgi’をrequire “./config.cgi”に置き換えます。
grep -l ‘require “config.cgi”‘ /home/pi/public_html/kml/cgi/*.* | xargs sed -i -e ‘s/require “config.cgi”/require “.\/config.cgi”/g’
sudo grep -l “require ‘config.cgi'” /home/pi/public_html/kml/cgi/*.* | xargs sed -i -e “s/require ‘config.cgi’/require \”.\/config.cgi\”/g”
以上でXMailCFG、K4、kmlをLinux環境で使える様になると思います。

ブラウザで、Raspberry pi3のIPアドレス/~pi/XMailCFG/にアクセスして認証チェック後に基本セットアップを実行します。
最初に基本セットアップの
動作環境チェック(1)で、
1.基本認証(認証コントロール)の確認
2.XMailCFG インストールフォルダへのファイルの書き込み
3.XMailCFG インストールフォルダへのフォルダの作成
4.Perl インストールフォルダ内へのファイルコピー
それぞれで[チェックの結果] 正常動作を確認しました。となる様にディレクトリのアクセス権を設定します。
動作環境チェック(2)で、
1.基本認証(認証コントロール)の確認
2.XMailCFG インストールフォルダへのファイルの書き込み
3.MailRoot フォルダへのファイルの書き込み
4.Perl インストールフォルダ内へのファイルコピー
5.K4 インストールフォルダへの書き込みチェック
6.kml インストールフォルダへの書き込みチェック
7.kml データフォルダへの書き込みチェック
それぞれで[チェックの結果] 正常動作を確認しました。となる様にディレクトリのアクセス権を設定します。

私のRaspbian環境では、
XMailCFG 環境設定の画面での設定値は以下の様になりました。
XMail インストールフォルダは「/usr/sbin」
MailRoot フォルダは「/var/lib/xmail」
K4 インストールフォルダ「/home/pi/public_html/K4」
kml インストールフォルダ「/home/pi/public_html/kml」
kml データフォルダ「/home/pi/public_html/kml/data」

設定のポイントは、
XMailはrootユーザで実行され、XMailCFG、K4、kmlはApacheなのでwww-dataユーザで実行しているのでアクセス権の変更が必須になります。
XMailの設定ファイルは、/etc/xmail以下に保存される、
XMailのMailRootは、/var/lib/xmail ※設定ファイルやデータ、logディレクトリへのリンクが張られている
XMailのデータは、/var/spool/xmail
XMailのlogは、/var/log/xmail

XMailの起動オプションである/etc/cmd_lineの内容は、「-Cl -Mr 24 -Pl -Ql -Sl」としました。

XMailCFG、K4、kmlを使って、XMailを簡単に管理できます。

参考サイト
XMailCFGをLinuxで動かしまくる!! for Debian
XMailの構築Linux版インストールの補完

Raspberry Pi関連のリンクを追加

Raspberry Pi関連のリンクをリンク集(Links)に追加しました。

Windows 7環境でWindows 10 IoT Coreを試す

Windows 7環境でWindows 10 IoT Coreを試して見ました。
Windows 7環境だとWindows 10 IoT CoreのイメージをRaspberry Pi3用のmicroSDカードに書き込む所に関門がありました。
Windows 7で使えるWindows AIKにあるDISM.EXE(展開イメージのサービスと管理ツール)が、ffu形式のイメージに対応していない様で、イメージを書き込めません。
通常はWindows 10 IoT CoreのイメージをmicroSDカードに書き込む時、Windows 10環境か、Windows 10版のDISM.EXEが動作する環境が必要な様です。

色々と調べた結果、Raspberry Pi3用Windows 10 IoT Coreのiso形式とCygwin環境にPythonを入れて、fft2imgというツールを使ってimg形式に変換した後に、DD for WindowsでmicroSDカードに書き込むという手順で行いました

Windows 10 IoT Coreイメージファイルのflash.ffuをCygwin Terminalのユーザディレクトリに配置し、Cygwin Terminalで以下のコマンドを実行する。
/usr/bin/Python ffu2img.py flash.ffu Windows10_IoT_Core_for_RP3.img
出来上がったWindows10_IoT_Core_for_RP3.imgをDD for WindowsでmicroSDカードに書き込みます。

あとは、microSDカードをRaspberry Pi3に挿し、電源をONにしてWindows 10 IoT Coreの初期設定画面が現れるまで、結構時間がかかります。

今回は、タッチパネル(Elecrow7インチHDMI液晶ディスプレイ1024X600)用の設定を/boot/config.txtに追記して起動し、何の問題もなくタッチ操作が出来たのでビックリしました。
最初に言語を選択し、後でタイムゾーンを設定しました。

Windows 10 IoT Coreで電源ボタンをタッチした時の様子
Windows 10 IoT Coreで電源ボタンをタッチした時の様子

Windows 10 IoT Coreでdirコマンドを実行した時の様子
Windows 10 IoT Coreでdirコマンドを実行した時の様子

情報を公開して下さった方々に感謝です。

参考サイト
Full Flash Update (FFU) を使って Windows を展開する
Raspberry PI 2 に Windows 10 IoT Core for RP2を入れてみる(Windows7)
ffu2img.py
ラズパイにWindows 10 IoT Coreをインストールしてアプリを動かすまで

手書き入力したファイル

手書き入力したファイル(拡張子jnt)を確認する必要があり、現在のWindows7では削除されたWindows Journal(ノート)を再度インストールし、確認後、直ぐにアンインストールしました。

Windows Journal(ノート)起動時の警告画面
Windows Journal(ノート)起動時の警告画面

Windows Journal(ノート)の画面
Windows Journal(ノート)の画面

参考サイト
Windows Journal の削除と復活
Windows journal (ジャーナル)がウィンドウズ10アニバーサリー (Anniversary) Updateで勝手に削除された。
Windows Journal Application for Windows

MySQLからSQL Serverへのデータ移行

XOOPS2.6.0をSQL Serverで稼働させる為に、MySQLからSQL Serverへのデータ移行を行いました。
この時、SQL Server Management Studio (SSMS)を使ってデータ移行を行おうとしましたが、データインポートの途中でエラーとなり、上手く行きませんでした。

MySQLのテーブルは認識出来ている画面
MySQLのテーブルは認識出来ている画面

途中のエラー画面
途中のエラー画面

そこで、SSMSのリンクサーバを設定してテーブルのデータを表示して見ると問題無く表示されます。

リンクサーバへの問い合わせ画面
リンクサーバへの問い合わせ画面

仕方なく、MySQLのテーブルとデータをSQL文形式でエクスポートし、このSQL文をテキストエディタを使って、以下の様に編集してSQL Serverへ流し込みました。

MySQLよりエクスポートしたSQL文
CREATE TABLE IF NOT EXISTS x174_avatars_avatar (
avatar_id int(10) unsigned NOT NULL AUTO_INCREMENT,
avatar_file varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”,
avatar_name varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”,
avatar_mimetype varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”,
avatar_created int(11) NOT NULL DEFAULT ‘0’,
avatar_display tinyint(1) NOT NULL DEFAULT ‘0’,
avatar_weight smallint(5) unsigned NOT NULL DEFAULT ‘0’,
avatar_type char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ”,
PRIMARY KEY (avatar_id),
KEY avatar_type (avatar_type,avatar_display)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

SQL Serverへ流し込むSQL文
CREATE TABLE “x174_avatars_avatar” (
“avatar_id” INT NOT NULL IDENTITY(1,1),
“avatar_file” varchar(30) NOT NULL DEFAULT ”,
“avatar_name” varchar(100) NOT NULL DEFAULT ”,
“avatar_mimetype” varchar(30) NOT NULL DEFAULT ”,
“avatar_created” INT NOT NULL DEFAULT ‘0’,
“avatar_display” TINYINT NOT NULL DEFAULT ‘0’,
“avatar_weight” SMALLINT NOT NULL DEFAULT ‘0’,
“avatar_type” char(1) NOT NULL DEFAULT ”,
PRIMARY KEY (“avatar_id”)
);
CREATE INDEX “avatar_type” ON “x174_avatars_avatar”(“avatar_type”,”avatar_display”);

ポイントは、AUTO_INCREMENTをIDENTITY(1,1)に、PRIMARY KEY以外のKEYをCREATE INDEXに置き換える、少々面倒でしたが色々と勉強になりました。

参考サイト
SQL ServerからMySQLのデータベースにアクセスしてみる。
SQL ServerからMySQLへリンクサーバを設定する

色々なOS

当サイトでは、色々なOSを試している記事を掲載していますが、MS-DOS時代から色々なOSを弄ってきましたが、中でも一番使い込んだのはMS-DOS時代のN88-BASIC(86)だと思います。

ネットワークOSが出始めた頃には、OS/2やSolaris for x86を試したり、他にもB-TRON、BeOSも弄ったりしていました。
古くはルータ用として、1FDというフロッピーディスク1枚から起動して、ルータを構成したりしました。
その後も、色々なLinuxディストリビューションが提供される様になり、今では仮想環境でのWindowsのHyper-V上で、Android、CentOS、debian、Haiku、OpenIndiana、openSUSE、ubuntu、FreeBSDなど。
ほかには、Windows7上にPC-98エミュレータのT98-NEXTでのFreeDOS(98)。
VMware Workstation上にVMware用HDDイメージのOpenBlockS266などの使い方をお勉強しています。

Hyper-V上のOpenIndianaのインストール画面
Hyper-V上のOpenIndianaのインストール画面

Hyper-V上のubuntuのupdate画面
Hyper-V上のubuntuのupdate画面

Windows サーバ バックアップが稼働中のメモリ画面
Windows サーバ バックアップが稼働中のメモリ画面

publisherのメンテナンス用SQL文を作って見た

XOOPS 2.6.0(本家版)のテストで、xpressのデータをpublisherに流し込むのに、Excelを利用した手作業が発生するので何とかならないかと思い、publisherのメンテナンス用SQL文を作って見ました。

publisherのitems、categoriesと2つの作業用テーブルの合計4つを用意して、XOOPSのコメントテーブルとxpressの各テーブルから抽出、集計してpublisher_items、publisher_categoriesのテーブルを完成させることをSQL文だけ行える様にしました。

それでも、MySQLからSQL Serverへのデータの流し込みには、テキストエディタでの置き換え処理が必要ですが、大幅な時間短縮となります。

openSUSE 42.2から42.3にアップグレード

Hyper-V上のopenSUSE 42.2から42.3にアップグレードして見ました。

具体的には、openSUSEのミラーサイトからopenSUSE-Leap-42.3-DVD-x86_64.isoをダウンロードし、DVDから起動してブートメニューでupgradeを選択するだけです。

SDB:システムアップグレード(openSUSE)には、色々と書かれており、試して見ましたが途中でエラーメッセージが出てしまい、結局、DVDからのアップグレードを実施しました。

openSUSEアップグレード中の画面
openSUSEアップグレード中の画面

参考サイト
openSUSE日本語ポータル


 

Powered by XOOPS Cube 2.2 © 2001-2016 XOOPS Cube Project Distributed by XOOPS Cube 2.2 Distribution Team.