2015年12月27日日曜日

Raspberry Pi Type B で rootを USBハードディスクにおく

 rasberryですが
克服できない欠点Aと
克服できる 欠点Bがあります。
 メモリの量は SWAPで増やします。
/rootは USB HDDを使うことで 多分 2TBまではいけるでしょう。
USBポートは USBハブで増やします。



さて ブートローダーは SDカードはしょうがないが 、 
         その他は USBメモリにおく。

なぜなら rasberry pi は 動かない SDカードが一杯ある。
 http://elinux.org/RPi_SD_cards#Working_.2F_Non-working_SD_cards
みてください。

で SDカードにはブートだけをまかして 起動後はUSBメモリをつかう方針でいく。 

 ArchLinuxARM-rpi-latest.tar.gz をダウンロードして
インストールは
http://www.nspl.co.jp/blog/archlinux_installation
に従います。


fdisk /dev/mmcblk0
して


root@C260:/home/yuma2# mkfs.vfat /dev/mmcblk0p1

root@C260:/home/yuma2# mkfs.ext4 /dev/mmcblk0p2



 root@C260:/home/yuma2# mkdir /mnt/
 root@C260:/home/yuma2# mount -t ext4 /dev/mmcblk0p2 /mnt

root@C260:/home/yuma2# mkdir /mnt/boot
root@C260:/home/yuma2# mount -t vfat /dev/mmcblk0p1 /mnt/boot


root@C260:/home/yuma2# bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C /mnt



まず SDカード+USBでの運営を書きます。
つまり 


ブートローダーは SDカード
その他は     USBメモリ にするため、

SDカードでは
# cat  /mp1/cmdline.txt
root=/dev/sda1 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop



USBでは
/mp2/etc/fstabに
/dev/sda2    none        swap    sw       0       0
を追加!





4GのSDカードを 512MのSDカードで 
                節約代用するには

4GのMRBを HDDに
# dd if=/dev/mmcblk0 of=./rasberry-mbr.img bs=512 count=1
としてとりこみ




次は 512MのSDカードにとりかえて
# dd if=./rasberry-mbr.img of=/dev/mmcblk0 bs=446 count=1

として 書き込む。


そして 
/dev/mmcblk0p2 の内容を USBメモリに複写したらいいだけ。




以下 が最終兵器です
つまり 512MB SDカードでブート
     その後は HDDで運用します



 http://raspberry-akita.blogspot.jp/2015 ... n-usb.html .
にのっとりました

以下はすべてラズベリーを動かしてのことです

ハードディスクをマウントします。
mount  /dev/sda1  /ma1

cd /ma1

cp --archive /bin /etc /home /lib /opt /root /run /sbin /srv /tmp /usr /var ./


mkdir -p boot dev sys mnt proc




それから
/boot/cmdline.txt を書き換えます。
root=/dev/sda1 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop


次に ハードディスクの
/ma1/etc/fstab を書き換えます。
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/sda2 none swap sw 0 0



これでどんなになってるかというと
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 128884388 664212 121650192 1% /
devtmpfs 216908 0 216908 0% /dev
tmpfs 221152 0 221152 0% /dev/shm
tmpfs 221152 372 220780 1% /run
tmpfs 221152 0 221152 0% /sys/fs/cgroup
tmpfs 221152 0 221152 0% /tmp
/dev/mmcblk0p1 102182 17558 84624 18% /boot
tmpfs 44232 0 44232 0% /run/user/1001
128GB


top - 04:54:56 up 15 min, 1 user, load average: 0.00, 0.05, 0.06
Tasks: 75 total, 1 running, 74 sleeping, 0 stopped, 0 zombie
%Cpu0 : 1.3/2.6 4[|| ]
GiB Mem : 7.8/0.422 [ ]
GiB Swap: 0.0/3.000 [ ]
swap is 3G




具体的には下の図のようになってます。
キーボード も マウスも付けずに CUIでサーバーとして動かしてます。
Xを 動かしたいときは USB HUBにキーボードとマウスをつけます





スマホのために vsftpdを導入
/etc/vsftpd.confanonymous_enable=YES
no_anon_password=YES
anon_max_rate=30000
anon_root=/home/ftp
anonymous_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
listen=YES


 systemctl enable vsftpd


 pacman -Ss pptp
core/pptpclient 1.8.0-2
    Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP.
extra/networkmanager-pptp 1.0.8-1
    NetworkManager VPN plugin for pptp
community/pptpd 1.3.4-15
    Poptop server


サーバーは
https://wiki.archlinuxjp.org/index.php/PPTP_%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BChttps://wiki.archlinuxjp.org/index.php/PPTP_%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC

クライエントは
http://www.ibvpn.com/billing/knowledgebase/50/Set-up-the-PPTP-VPN-connection-on-Linux-Network-Manager-GUI.html








 http://www.atmarkit.co.jp/fsys/zunouhoudan/138zunou/armv8.html
によると 
すでにメジャーなプロセッサ・アーキテクチャとしては、x86とARMしか残っていない現況では2強といっていい状況であり、


Raspberry Pi Zero が出ました。
価格が5ドル

 

Pi Zero Features:
  • BCM 2835 SOC @ 1GHz
  • 1GHz
  • 512MB of RAM 
  • micro-SD
  • mini-HDMI
  • micro-B USB for data
  • micro-B USB for power
  • Unpopulated 40-pin GPIO connector
  • Compatible with existing HAT addons
  • Dimensions: 65mm x 30mm x 5mm
つまり、network は USB NIC(LANか wifiか) が必要だろう。
type Bは keybord, mouseなしで起動したので、 2つあるUSBポートのうちの一つに USB(LAN)を もう一つに sata-HDD converter 経由でSATA HDDを つけて家庭のサーバーにするのが王道だろう。  
というのは wifiは 大きなアンペアを必要とする。
ただ USB HUBをつけると余裕はでて keyboard, mouseもつけれる。 




 http://hatahata50.blogspot.jp/2016/01/raspberry-pi2-model-b.html

2015年12月19日土曜日

archbang インストール 日本語入力

CDで起動します。
画面をクリックするとと installがでます。
これでインストールします。




後は動画 
https://www.youtube.com/watch?v=J82Dkgaz7o8&feature=youtu.be
を見てください。


再起動後に やるべきことは、




まず パッケージのインストール元の指定です
0)  nano /etc/pacman.d/mirrorlist
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
をミラーリストの一番上に書き加えます・








次に鍵束をっもってきて それからコンパイルに必要なものを準備します。
1)
archkeys

pacman  -S   base-devel


ユーザー taroを作ります。
2)useradd -m -G wheel -s /bin/bash taro






日本語入力を入れます。
3)pacman -S fcitx-im fcitx-configtool fcitx-mozc

nano /home/taro/.xprofile 

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx


 
普通は必要はないのでしょうが、自分はsdb6と変わった所にいれたので
4)grub.cfg  の書き換え
自分の場合 archbangが不正確なgrub.cfgをつくってました故です。

 menuentry 'Arch BANG menu is sdb6  ' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
set root='hd0,msdos6'
echo    'Loading Linux core repo kernel ...'
linux    /boot/vmlinuz-linux root=/dev/sdb6  rw  quiet
echo    'Loading initial ramdisk ...'
initrd    /boot/initramfs-linux.img
}



 位でしょう。

 なお、 firefoxは最初から入ってました。



openbox 使いづらいので lxdeにしてます

最初 lxdeでは マウスカーソルがみえなかったのですが、 
xfce4いれてから xfce4のけると見えるようになりました。
理由は不明。

 pacman -S  lxde
 systemctl enable lxdm.service




上のスクリーンショットは
cat screen-shot.bat
ffmpeg -f x11grab -video_size 1600x900 -i $DISPLAY -vframes 1  $1.png

convert $1.png $1.jpg
 

です。
 








manjaroは いらないものが一杯入ってきます。
kaOSは 少し癖があります。
archbangが一番 元祖archに近いと思います。

2015年12月8日火曜日

arch linux で wifi ( netctl による wifi 自動接続 )

自動接続です

pacman -Sy netctl


netctl と dhcpcd とは衝突するので
systemctl disable dhcpcd
systemctl  enable netctl


リブート

ifconfig してもwifiみあたらない

それで 次のスクリプトを実行
wifi-info.bat 
ip link | grep wlp |  cut -d ' ' -f 2 | sed "s/://g" -
systemctl list-unit-files | grep enabled | grep wlp
x=` ifconfig | grep wlp | cut -d ' ' -f 1 | sed "s/://g" -`
iw dev $x scan | grep SSID


すると
wlp2s0
wlp0s20u3
SSID: WARPSTAR-39A31A
SSID: WARPSTAR-39A31A-W
SSID: FON_AP
SSID: MyPlace
がでてくる。

で、自分は今wlp0s20u3 と MyPlace とを利用する



/etc/netctl/examples/wireless-wpa を元にして書く


/etc/netctl/fon 
Description='A simple WPA encrypted wireless connection'
Interface=wlp0s20u3
Connection=wireless
Security=wpa
IP=dhcp
ESSID='MyPlace'
Key='7XXXXXXX6'



あとは
netctl start    fon
netctl enable fon


これで fonへの 自動接続ができました。


いつもは 以下のようにつかってます
systemctl enable dhcpcd
をしていますので 有線LANは使えます。

で wifiのときは
 cat netctl.bat
------------------ 
systemctl stop dhcpcd
netctl start $1
ifconfig
rm /etc/resolv.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
ping -c 3 www.google.com

./netctl.bat  fon
ですね。






以下は むかーし 昔 書いたものです

netctl を使うのは arch らしい独自のやり方です


今どんな状態かというと

USB wifi をつけて LANケーブルを除けて起動すると 自動的にインターネットにつながり、 この後 USB wifiをのけ LANケーブルをつけると また自動的にインターネットにつながってます。

また逆に
USB wifi 除け  LANケーブルをつけて起動すると  自動的にインターネットにつながってます。
 

netctl と dhcpcd とは衝突するので並立できません。
 で dhcpcdを外します
systemctl disable dhcpcd
pacman -S netctl


すると 
systemctl list-unit-files|grep enabled
したら 以下のようになります。 
autovt@.service                            enabled 
display-manager.service                    enabled 
getty@.service                             enabled 
lxdm.service                               enabled 
netctl-auto@.service                       enabled 
netctl.service                             enabled 
openntpd.service                           enabled 
sshd.service                               enabled 
remote-fs.target                           enabled

 
 
 
ip link してネットワークインターフェースをみると
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether f0:76:1c:6c:41:af brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 #<-------------------------no driver
    link/ether d0:53:49:6f:a1:d8 brd ff:ff:ff:ff:ff:ff
4: wlp0s20u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000#<------use this
    link/ether 00:22:cf:01:22:6f brd ff:ff:ff:ff:ff:ff

ですが、 wlp3s0はPCの基盤に埋め込まれてるWIFIで LINUXのサポートはなく
したがって USB WIFIであるwlp0s20u2を利用します。
 
なお
wlp3s0は 有線LANです。
 


3)
wifi-menu -o wlp0s20u2

して 接続パスフレーズをいれます。




4) 他に何かをしたかもしれませんが 忘れちゃいました。
例えば

 netctl enable wlp0s20u2-URoad-9BF5EC
 netctl enable enp2s0-dhcp
です。

解説は
https://wiki.archlinuxjp.org/index.php/Netctlを見てください。
なお
プロファイルへの変更はサービスファイルに自動的には適用されません。変更後、プロファイルを再度有効にする必要があります:

# netctl reenable wlp0s20u2-URoad-9BF5EC とのこと



現在どうかというと

有線LANについては
# cat /etc/netctl/enp2s0-dhcp 
Description='A basic dhcp ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=dhcp
です。
 
 
wifiwlp0s20u2 については 
wifi-menu -o wlp0s20u2にてつくられた 
# cat /etc/netctl/wlp0s20u2-URoad-9BF5EC 
 Description='Automatically generated profile by wifi-menu'
Interface=wlp0s20u2
Connection=wireless
Security=wpa
ESSID=URoad-9BF5EC
IP=dhcp
Key=\"33948dd44dd3f20bfc023b1a7e8a4479fab69744a79192677c
です。 
 
 
 
なお 現在
[root@lnv tuyosi]# pacman -Q| grep ifplugd
[root@lnv tuyosi]# pacman -Q| grep wpa_actiond
wpa_actiond 1.4-2
ですので、
wpa_actiondははいってます。
自分が入れたのか なんかの付属で入ったのかは 意識にありません。
 
 
ただ マニュアルには

有線ケーブルを抜き差しするたびに netctl プロファイルが変更されるために
pacman -Sy ifplugd


wifiが特定のネットワークの圏内から他のネットワークの圏内に移動したときに netctl のプロファイルが変更されるために
pacman -Sy wpa_actiond
とをし
さらに
# systemctl enable netctl-auto@interface.service 
# systemctl enable netctl-ifplugd@interface.service 
こうしなさいとかかれてますが、

現在は
systemctl list-unit-files|grep enabledは

autovt@.service                            enabled
display-manager.service                    enabled
getty@.service                             enabled
lxdm.service                               enabled
netctl-auto@.service                       enabled
netctl.service                             enabled
openntpd.service                           enabled
sshd.service                               enabled
remote-fs.target                           enabled
なので
systemctl enable netctl-auto@interface.service
は やった結果になってます。 


ともあれ

プロファイルを使ってネットワーク接続を管理・設定する CLI ベースの 
Arch Linux の独自プロジェクトnetctl
できたようです。
 
ls -l /etc/netctl/
は参考までに以下です。
合計 32
drwxr-xr-x 2 root root 4096 12月  8 20:18 MOTO(バックアップ)
-rw-r--r-- 1 root root  112 10月 28 01:40 bridge(qemuのための設定-rw-r--r-- 1 root root   93 12月  8 19:46 enp2s0-dhcp
drwxr-xr-x 2 root root 4096  6月 17 17:27 examples
drwxr-xr-x 2 root root 4096  6月 17 17:27 hooks
drwxr-xr-x 2 root root 4096  6月 17 17:27 interfaces
-rw-r--r-- 1 root root  423 12月  8 19:04 profile
-rw------- 1 root root  210 12月  8 18:41 wlp0s20u2-URoad-9BF5EC

2015年12月3日木曜日

arch linux で wifi ( dhcpcd による 手動 wifi 接続 )

wifi-menu ではつながらない時が あります。

そんな時です。

pacman -S  linux-firmware iw wpa_supplicant wpa_actiond dialog
pacman -S   wifi-radar



wifi-radar をします。

すると access point がわかります。

また ifconfig -a をします。
すると wlp0s29u1u2 がwifi ということがわかります。
もちろん パスワード70812446は わかってます。


手動では
rm /etc/wpa_supplicant.conf

echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf





すると 
cat /etc/wpa_supplicant.conf
ctrl_interface=DIR=/run/wpa_supplicant
です



wpa_passphrase MyPlace 70812446 >> /etc/wpa_supplicant.conf




すると
 cat /etc/wpa_supplicant.conf
ctrl_interface=DIR=/run/wpa_supplicant
network={
    ssid="MyPlace"
    #psk="7081002446"
    psk=06d6f60771f44b0369f7663584a7b1ed4757cdc8939a2f3db
}
です。



  ip link set wlp0s29u1u2 up  







   wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i
wlp0s29u1u2

  dhcpcd -A wlp0s29u1u2
して再起動したらできてます。

以上述べたことをシャルスクリプトにしてますので、
再起動後このスクリプトを実行してください。

cat wifi.bat
 

rm /etc/wpa_supplicant.conf
x=wlp0s29u1u2
echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
wpa_passphrase MyPlace 70812446 >> /etc/wpa_supplicant.conf

   ip link set $x  up
   wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i $x
  dhcpcd -A $x

sleep 10
echo '----------------------------'
ping -c 3 www.google.com
ifconfig | grep 192



なお あるホテルでは パスフレーズがわずか5文字でした。
このため
# wpa_passphrase tatumi3F tatum

とすると

Passphrase must be 8..63 characters
と8文字以上じゃないとダメと叱られます。


そのため

 cat /TATUMI
-------------------------------------------------
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
    ssid="tatumi3F"
    key_mgmt=NONE
    wep_key0="tatum"
    priority=5
}
network={
    ssid="tatumi2F"
    key_mgmt=NONE
    wep_key0="tatum"
    priority=9
}

とし



次のスクリプト
[root@dell yuma]# ./comment-out.bat wifi.bat-tatumi  

script is
---------------------------------------------------

systemctl disable systemd-networkd.service
rm /run/wpa_supplicant/wlp0s29f7u3
rm /run/wpa_supplicant/wlp0s29f7u4
x=wlp0s29f7u3
   ip link set $x  up
   wpa_supplicant -B -D nl80211 -c /TATUMI -i $x
dhcpcd -A $x 

sleep 10
echo '----------------------------'
ping -c 3 www.google.com
ifconfig | grep 192
でつながります。



つながる風景は
 ./wifi.bat-tatumi
rm: `/run/wpa_supplicant/wlp0s29f7u3' を削除できません: そのようなファイルやディレクトリはありません
rm: `/run/wpa_supplicant/wlp0s29f7u4' を削除できません: そのようなファイルやディレクトリはありません
Successfully initialized wpa_supplicant
wlp0s29f7u3: waiting for carrier
wlp0s29f7u3: carrier acquired
wlp0s29f7u3: adding address fe80::8037:d6ed:6364:efba
DUID 00:01:00:01:1d:c0:62:e6:00:1e:c9:05:78:fc
wlp0s29f7u3: IAID cf:ec:c8:05
wlp0s29f7u3: soliciting an IPv6 router
wlp0s29f7u3: rebinding lease of 192.168.1.4
wlp0s29f7u3: leased 192.168.1.4 for 14400 seconds
wlp0s29f7u3: adding route to 192.168.1.0/24
wlp0s29f7u3: adding default route via 192.168.1.1
forked to background, child pid 603
----------------------------
PING www.google.com (216.58.221.196) 56(84) bytes of data.
64 bytes from kix03s02-in-f4.1e100.net (216.58.221.196): icmp_seq=2 ttl=51 time=28.2 ms

--- www.google.com ping statistics ---
3 packets transmitted, 1 received, 66% packet loss, time 2000ms
rtt min/avg/max/mdev = 28.274/28.274/28.274/0.000 ms
        inet 192.168.1.4  netmask 255.255.255.0  broadcast 192.168.1.255
です。


この現在は
[root@dell yuma]#  systemctl list-unit-files|grep enabled #
--------------------------------------------------------------------------
autovt@.service                            enabled
dhcpcd@.service                            enabled
display-manager.service                    enabled
getty@.service                             enabled
lxdm.service                               enabled
openntpd.service                           enabled
remote-fs.target                           enabled
です。


archはとってもいいのですが、 wifiにつながりにくい欠点がありました
wifi-menuが効かない)が 以上で乗り越えられると思います。


 ./comment-out.bat wifi.bat-fon
systemctl disable systemd-networkd.service
rm /etc/wpa_supplicant.conf
rm /run/wpa_supplicant/wlp0s29f7u3
rm /run/wpa_supplicant/wlp0s29f7u4
x=wlp0s29f7u3
echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
wpa_passphrase MyPlace 708446 >> /etc/wpa_supplicant.conf
   ip link set $x  up
   wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i $x
dhcpcd -A $x
sleep 10
echo '----------------------------'
ping -c 3 www.google.com




 ./comment-out.bat wifi.bat-tatumi
systemctl disable systemd-networkd.service
rm /run/wpa_supplicant/wlp0s29f7u3
rm /run/wpa_supplicant/wlp0s29f7u4
x=wlp0s29f7u3
   ip link set $x  up
   wpa_supplicant -B -D nl80211 -c /TATUMI -i $x
dhcpcd -A $x
sleep 10
echo '----------------------------'
ping -c 3 www.google.com
ifconfig | grep 192



./comment-out.bat wired.bat
x=enp9s0
dhcpcd -A $x
echo '----------------------------'
ping -c 3 www.google.com





よくみれば

https://wiki.archlinuxjp.org/index.php/Netctlにすべてがありました。

wifi-menu を使わない方法

インターフェースを立ち上げます:
# ip link set wlp3s0 up
 
インターフェイスが立ち上がっているか確認するには、次のコマンドの出力を見て下さい:
# ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
<BROADCAST,MULTICAST,UP,LOWER_UP> の中にある UP がインターフェイスが立ち上がっている印です。後ろの state DOWN は違います。


ほとんどのワイヤレスチップセットには、対応するドライバに加えて、ファームウェアが必要です。カーネルが自動で検知してロードを試みます。SIOCSIFFLAGS: No such file or directory のようなエラーが出た場合、ファームウェアを手動でロードする必要があることを意味しています。
必要なファームウェアがわからないときは、dmesg を使いカーネルログからワイヤレスチップセットのファームウェア要求をさがします。
例えば、カーネルの起動時に Intel チップセットが出力するファームウェア要求の例:
# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode
 
なにも表示されないなら、あなたのワイヤレスチップセットにはファームウェアが要らないと判断できます。

iw dev wlp3s0 scan | grep SSID を使って利用可能なネットワークをスキャンして、それからネットワークに接続してください:
 
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
ssid はネットワークの名前に (例: "Linksys etc...")、 
psk はパスワードに置き換える必要があります (ネットワークの名前とパスワードを囲っているダブルクォートは消さないで下さい, 例: ネットワークのパスワードが dog の場合、"dog" と入力)。

最後に、インターフェースに IP アドレスを与える必要があります。手動で設定するか dhcp を使ってこれを行なって下さい:
# dhcpcd wlp3s0 
 
上のコマンドでうまくいかない場合、以下のコマンドを実行してください:

# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
# ip link set <interface> up # May not be needed, but does no harm in any case
# wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i <interface name>
# dhcpcd -A <interface name>


2015年12月1日火曜日

KaOS linux 日本語



arch 一族です。
manjaro は安定してます。
chakraは今は不安定。 そして 今Kaosです
今最大派閥は debian一族ですが arch一族が伸びてきてます。

 KaOS is a desktop Linux distribution that features the latest version of the KDE desktop environment,
the Calligra office suite, and other popular software applications that use the Qt toolkit.

It was inspired by Arch Linux, but the developers build their own packages which are available from in-house repositories.

 KaOS employs a rolling-release development model and is built exclusively for 64-bit computer systems.

 
こんな画面です。





日本語化は またもやFUSENさんの
  http://manjaro.jimdo.com/%E5%B0%8E%E5%85%A5/
を見させていただきました。
 少しだけ変えてます。


$ sudo pacman -S fcitx-mozc fcitx-gtk2   fcitx-qt5
$ sudo pacman -S kcm-fcitx 


あとは


~/.xprofile を

export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export LANG="ja_JP.UTF-8"
export DefaultIMModule=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"


~/.bashrc を

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
 
してリブートです。



GRUBは manjaro よりも archに近いのでいじりやすい。

menuentry 'KaOS Linux' --class kaos --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simpl
e-91d4e36b-094d-486c-85df-745872045ffa' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod xfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=a
hci0,msdos1  91d4e36b-094d-486c-85df-745872045ffa
        else
          search --no-floppy --fs-uuid --set=root 91d4e36b-094d-486c-85df-745872045ffa
        fi
        echo    'Loading Linux linux ...'
        linux   /boot/vmlinuz-linux root=UUID=91d4e36b-094d-486c-85df-745872045ffa rw  quiet systemd.show_status=0
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initramfs-linux.img
}

2015年11月30日月曜日

manjaro で uefi かつ btrfs ; fcitx も 大丈夫だ


 legasy (non UEFI) + btrfs




まず wifiを認識させます


これでインストール開始


日本語でインストールします


時刻です


日本語キーボード



ここからが むずい



/dev/sdaが USBハードディスクです。
容量でわかります

 ブートローダーも /dev/sdaにいれなければなりません。
/dev/sda1は btrfs
/dev/sda2は   swap
です。
試行錯誤してたどりついてください





このあとは簡単です。




UEFI + btrfs です。

1) boot画面です

2)ただし 右下隅で wifi を接続したのち 以下のをクリックして インスト始めます。

3)USB ハードディスクにインストするので /dev/sdb を選びます

4)まず UEFIです
fat32
/boot/efi
esp
に注意



5)以下なふうにしました。 
swap は 2G位 とってください。

7)以下は再起動後の画面です
  まず wifi の設定です

8)pacman -S fcitx-im fcitx-configtool fcitx-mozc

nano /home/arch/.xprofile を
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

のあと 右下のキーボードを右クリックしたらでます

9)で まず右端のをクリックして



FluxBB bbcode test



10)それから 左の+をクリックして MOZCを選びます
FluxBB bbcode test


以上で 日本語入力までできました。

さて UEFI +BTRFS なmanjaroは 一体どうなってるのでしょう。


A) fdisk -l /dev/sdb
Disk /dev/sdb: 149.1 GiB, 160041885696 bytes, 312581808 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
Disklabel type: gpt
Disk identifier: 176D0FC1-E4B7-4F75-AF7E-8CA5689B7BEC

Device       Start       End   Sectors   Size Type
/dev/sdb1  1050624   1067007     16384     8M Linux swap
/dev/sdb2  1067008 312576671 311509664 148.6G Linux filesystem
/dev/sdb3     2048   1050623   1048576   512M EFI System


B)/boot/grub/grub.cfg
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}
set menu_color_normal=light-gray/black
set menu_color_highlight=green/black
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  866103fe-6597-4fbf-9e85-b1b5065c120b
else
  search --no-floppy --fs-uuid --set=root 866103fe-6597-4fbf-9e85-b1b5065c120b
fi
    font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod btrfs
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  866103fe-6597-4fbf-9e85-b1b5065c120b
else
  search --no-floppy --fs-uuid --set=root 866103fe-6597-4fbf-9e85-b1b5065c120b
fi
insmod png
background_image -m stretch /usr/share/grub/background.png
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
else
  set timeout=5
fi
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-866103fe-6597-4fbf-9e85-b1b5065c120b' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod btrfs
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  866103fe-6597-4fbf-9e85-b1b5065c120b
else
 search --no-floppy --fs-uuid --set=root 866103fe-6597-4fbf-9e85-b1b5065c120b
fi
echo 'Loading Linux 4.4.28-2-MANJARO x64 ...'
linux /boot/vmlinuz-4.4-x86_64 root=UUID=866103fe-6597-4fbf-9e85-b1b5065c120b rw  quiet splash resume=UUID=e029ea6e-971a-4ae1-a54e-1bed4f658057
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-4.4-x86_64.img
}





        mkdir /mb3
[BtrUefi fuji]# mount /dev/sdb3 /mb3
[BtrUefi fuji]# ls /mb3

EFI
[BtrUefi fuji]# ls -l /mb3/EFI/
total 8
drwxr-xr-x 2 root root 4096 11月  7  2016 boot
drwxr-xr-x 2 root root 4096 11月  7  2016 Manjaro
[BtrUefi fuji]# ls -l /mb3/EFI/Manjaro/
total 152
-rwxr-xr-x 1 root root 154624 11月  7  2016 grubx64.efi
[BtrUefi fuji]# ls -l /mb3/EFI/boot/
total 152

-rwxr-xr-x 1 root root 154624 11月  7  2016 bootx64.efi


[BtrUefi fuji]# mkdir /mb2
[BtrUefi fuji]# mount /dev/sdb2 /mb2
[BtrUefi fuji]# ls /mb2
bin   etc   lib64  mb2  opt   root-image-pkgs.txt  srv  usr
boot  home  ma6    mb3  proc  run                  sys  var
dev   lib   mb1    mnt  root  sbin                 tmp  xfce-image-pkgs.txt

となってます。

[BtrUefi fuji]# btrfs filesystem show
Label: none  uuid: 866103fe-6597-4fbf-9e85-b1b5065c120b
Total devices 1 FS bytes used 4.80GiB
devid    1 size 148.54GiB used 7.02GiB path /dev/sdb2



/etc/fstab 
UUID=635c5859-fff2-4b57-b578-47af4361ad80 swap           swap    defaults,noatime 0       0
UUID=ECBC-CE0A                            /boot/efi      vfat    defaults,noatime 0       2
UUID=e029ea6e-971a-4ae1-a54e-1bed4f658057 swap           swap    defaults,noatime 0       0
UUID=866103fe-6597-4fbf-9e85-b1b5065c120b /              btrfs   defaults,noatime,space_cache,autodefrag 0       1

arch そのものではありません。
./comment-out.bat /etc/pacman.d/mirrorlist | grep jp
Server = http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/stable/$repo/$arch
Server = http://ftp.riken.jp/Linux/manjaro/stable/$repo/$arch

だからです。

ともかくとして manjaroで uefiでbtrfsのはできました。









以下はだいぶ前の記事です。
KVMでmanjaro動かしてみました。
qemu-system-x86_64 -enable-kvm -m $1 -hda $2 -net nic,macaddr=52:54:00:12:11:11 -net tap,ifname=tap0,script=/etc/qemu-ifup -smp cores=2



 1) /etc/pacman.d/mirrorlistの頭に
Server = http://manjaro.mirror.garr.it/mirrors/manjaro/stable/$repo/$arch
Server = http://mirror.nexcess.net/manjaro/stable/$repo/$arch

##
## Manjaro Linux repository mirrorlist
## Generated on 27 September 2015 08:38
##
## Use pacman-mirrors to modify
##


## Location  : Africa
## Time      :99.99
## Last Sync : 99:99
Server = http://mirror.is.co.za/mirrors/manjaro.org/stable/$repo/$arch

 かかないとアフリカにいってとんでもなく遅くなります



2) archと同じく topで2CPUを表示してくれます。
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu0  :   2.7/1.3     4[||                                                   ]
%Cpu1  :   0.7/0.7     1[                                                     ]
GiB Mem : 59.9/0.974    [                                                     ]
GiB Swap:  0.0/2.200    [                                                     ]

uname -ar
Linux man-pc 4.1.8-1-MANJARO #1 SMP PREEMPT Tue Sep 22 16:29:17 UTC 2015 x86_64 GNU/Linux
とカーネルがあたらしいせいでしょうか?



3)grub  でが ちょっと変わってます。
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bca56cba-b301-4f85-92b0-f88beb6bc7a7' {
    savedefault
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  bca56cba-b301-4f85-92b0-f88beb6bc7a7
    else
      search --no-floppy --fs-uuid --set=root bca56cba-b301-4f85-92b0-f88beb6bc7a7
    fi
    echo    'Loading Linux 4.1.8-1-MANJARO x64 ...'
    linux    /boot/vmlinuz-4.1-x86_64 root=UUID=bca56cba-b301-4f85-92b0-f88beb6bc7a7 rw  quiet splash resume=UUID=79802035-9697-4a08-ae39-dda2efbb626e
    echo    'Loading initial ramdisk ...'
    initrd    /boot/intel-ucode.img /boot/initramfs-4.1-x86_64.img
}


ここで 
bca56cba-b301-4f85-92b0-f88beb6bc7a7 は  root の blkid

79802035-9697-4a08-ae39-dda2efbb626e は   swapの blkid
です




4)日本語化も簡単ですので 初心者はarchは manjaroからはいったほうがいいでしょう。



にがて 

別のパソコンへ クローンして起動 ( tar  で インストール )



以下のを繰り返すと 
インストールは必要なくなります。
tar での コピーでいいことになります。
ねc

確かに clonezillaをつかってもいいのですが、
DESKTOP lenovoを NOTE necに 物理的にくっつけるのは
無理なので usb HDD (いつものバックアップ先)を仲介させてます。

もちろん clonezillaで ローカルHDD ー> リモートHDDとネットを軽油することも
ありえますが、 遅いのではないかと考えました。


LENOVOのsda2にarch があってこれを NECのPCの sda6 に写します。
つまり クローンです。


 LENOVOのsda2  ー>USB HDDのsdb2  ー>NECのPCの sda6
 で 
 USB HDDのsdb2
 を仲介させてます。


1)まず  LENOVO USB HDDをつけます

 そしてarchでないLINUXを起動します。
(自分はdebiandogを起動)

 /mnt/sda2は  LENOVOの  /dev/sda2
 /mnt/sdb2は USB HDDの /dev/sdb2
です。

ここで

 ./comment-out.bat /Arch-backup.bat 
ーーーーーーーーーーーーーーーーーーーー
y='/mnt/sda2'
z='/mnt/sdb2/Arch-LENOBO-Backup'
mkdir -p $z
df
echo $y  '--->'   $z
echo ' push some key '

read $X
echo $X
cd $y
for x in bin boot  dev etc home  lib lib64 media opt proc root run sbin srv sys tmp usr var
do
(cd $y ; tar cvpf - $x)|( cd $z ; tar xpf -)
done



して、lenovo のarch を  usb HDD に写します。


実はこの灰色の部分は日頃してますので 新たな手間はかかってません。
だから ほんとは
 z='/mnt/sdb2/Arch-NEC-Backup-'`date +%m%d%H`
なのですが 
説明のため
z='/mnt/sdb2/Arch-LENOBO-Backup'
にしてます。 




2)lenovoから usb HDDを外し
これを nec にくっつけます。

 /mnt/sda6は NECの     /dev/sda6 
 /mnt/sdb2は USB HDDの /dev/sdb2 
となってます


(cd /mnt/sdb2/Arch-LENOBO-Backup ; tar cvpf - .)|(cd /mnt/sda6 ; tar - )
で ファイルが NECの/dev/sda6に 写ります。





3)/mnt/sda6/boot/grub/grub.cfg 
の書き換え

if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  6c44812a-1341-4be3-ba69-704ff6ad1fae
else
  search --no-floppy --fs-uuid --set=root 6c44812a-1341-4be3-ba69-704ff6ad1fae
fi
    font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=10
  else
    set timeout=10
  fi
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
function gfxmode {
        set gfxpayload="${1}"
        if [ "${1}" = "keep" ]; then
                set vt_handoff=vt.handoff=7
        else
                set vt_handoff=
        fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu-Bohdi' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6c44812a-1341-4be3-ba69-704ff6ad1fae' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos4'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  6c44812a-1341-4be3-ba69-704ff6ad1fae
        else
          search --no-floppy --fs-uuid --set=root 6c44812a-1341-4be3-ba69-704ff6ad1fae
        fi
        linux   /boot/vmlinuz-3.16.0-45-generic root=UUID=6c44812a-1341-4be3-ba69-704ff6ad1fae ro  quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.16.0-45-generic
}
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-EAFCC37CFCC34195' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  EAFCC37CFCC34195
        else
          search --no-floppy --fs-uuid --set=root EAFCC37CFCC34195
        fi
        parttool ${root} hidden-
        chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
menuentry ' DebianDog Jessie ' {
set root='hd0,msdos4'
linux  /live/vmlinuz1 root=/dev/sda4 noauto from=/ changes=/live/
initrd /live/initrd1.xz
}


menuentry 'Arch 64'   {
set root='hd0,msdos6'
linux   /boot/vmlinuz-linux root=/dev/sda6 rw quiet
initrd  /boot/initramfs-linux.img
}


if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi








4)/mnt/sda6/etc/fstabの書き換え 

/dev/sda6       /        ext4      rw,relatime,data=ordered        0 1
/dev/sda5  none         swap    sw                0      0



5)qemu のために
/mnt/sda6/etc/netctl/bridge の書き換え



                                                                            
Description="Example Bridge connection"
Interface=br0
Connection=bridge
BindsToInterfaces=(enp0s25 tap0)
IP=dhcp
 


これで lenovo のが NECにクローンされました。
楽です。