(Home)     [カテゴリー:linuxbean ]

2020.07.09

Grub Customizer・・・(linuxbean)

linuxbeanで遊んでいたが、用いている2.5インチのHDDは十分すぎるほどの容量があり、最近osのシェアでUbuntuが上昇とのニュースに接し、Ubuntuも入れてみることにした。

HDDDの半分以上の容量が未使用だったので、新しくUbuntuのインストールエリアとlinux-swapエリアを確保して別途USBのインストール媒体を作り、これを起動してインストールした。Ubuntuのboot loaderは本体をインストールしたパーティションの最初の部分にインストールした。

さて、問題は、どうやってDual Bootをさせるかで、grub.cfgをいじるのかとか調べていたら、grub Customizerというツールを使えば簡単に行えることがわかった。起動していらない起動項目をマウスの右クリックで削除し、内容を保存して、update-grubを行うだけである。

なお、HDDの最初の部分にboot loaderをインストールするOSを最後にインストールすると、起動時にそのOSのGrubに含まれるos proberがその他のOSも探し出してくれるので、Grub Customizerは必要ないかも知れない。
しかし、memoryのtestなどの必要でないメニューを整理するには有用である。

2020.06.18

LinuxbeanでWI-U2-433DHP(その2)・・・(linuxbean)

BuffaloのUSB接続のWi-FiアダプターWI-U2-433DHPをlinuxbeanで使用するためにドライバーのインストール方法を先に書いた。
しかし、ドライバーのコンパイルでエラーとなる場合がある。Kernelの版数に伴う問題ではと思われるが、さんざんトライしてもErrorは消えず、新たに下記の方法で成功したので記述しておくこととした。

$ sudo -i      <===      root になります。
# apt-get update
# apt-get install dkms
# apt-get install git
# cd /usr/src
# apt-get -y install git build-essential dkms
# git clone https://github.com/gnab/rtl8812au.git
# mv rtl8812au /usr/src/8812au-4.2.2
# dkms add -m 8812au -v 4.2.2
# dkms build -m 8812au -v 4.2.2
# dkms install -m 8812au -v 4.2.2

これで、再起動すればWI-U2-433DHPが認識され、接続キーをセットすれば使用可能となる。

2020.03.11

LinuxとWindowsで時計がズレるのを直す・・・(linuxbean)

Linux と Windows のデュアルブートでOSを行き来すると、時計が大きくずれる現象が発生する。これは Linux ではPCのハードウェア時計(RTC)が UTC(協定世界時)で動作しているのに対し、WindowsではRTCはローカルタイム(JST=日本標準時)で動作しているためである。
以前はLinuxでは、 /etc/default/rcS に UTC=no と記載することにより、RTCの設定がローカルタイムであることを設定できたが、いつの頃からか /etc/default/rcS は存在しなくなった。

それで、その修正方法を記述しておく。使用するコマンドは timedatectl コマンドである。

$ timedatectl status
      Local time: 水 2020-03-11 17:41:08 JST
  Universal time: 水 2020-03-11 08:41:08 UTC
        Timezone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

最後から一つ上の行にRTCがローカルタイムゾーンか否かの記載がある。

$ timedatectl set-local-rtc true

とするとこの設定を変更することができる。root権限でなくても設定できる。疑問を感じるが。
設定変更後に再度設定状況を読み出すと、

$ timedatectl status
      Local time: 水 2020-03-11 17:42:03 JST
  Universal time: 水 2020-03-11 08:42:03 UTC
        Timezone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: yes
      DST active: n/a

Warning: The RTC is configured to maintain time in the local time zone. This
         mode is not fully supported and will create various problems with time
         zone changes and daylight saving adjustments. If at all possible use
         RTC in UTC, by calling 'timedatectl set-local-rtc 0'.

警告メッセージが出るが、RTC in local TZ:yesとなり、これで設定終了である。
 
設定は終了して確認すると

Windowsを終了してlinuxを立ち上げると、時刻は正しく表示されたが、linuxからWindowsに戻ると時刻がずれる。
タスクバーの右側の時刻表の上で右クリックで「日付と時刻の調整」を選んで「時刻を自フォウ的に設定する」で切り替えをオフ→オンとすると、時刻が正しく設定される。

 
“RTC in local TZ: no” のままが正解であるのか?? 色々調査の結果下記の結論を得た。
 
linuxbean 14.04では、”RTC in local TZ: no” のままが良く、linuxbean 16.04並びにUbuntu 20.04では、”RTC in local TZ: yes”とする必要があるのが分かった。これはlinux系のOSでは以前はJSTを基準としていたのに対し、近年になりRTCを基準とするように変わったためだと思われる。設定を試みる場合は、RTC in local TZ でyesとnoの両方を良く確かめておく必要がある。

2020.01.29

LinuxbeanでWI-U2-433DHP・・・(linuxbean)

コンパイルでエラーとなる時は(その2)を参照してください。
 
BuffaloのUSB接続のWi-FiアダプターWI-U2-433DHPを購入した。もちろんwindows 10では問題なく使えたが、Linuxbeanを立ち上げると、WI-U2-433DHBは認識しない。
そこで、googleで調べたら、いくつかのページが見つかったが、改めて使用できるよう行った内容を記すこととした。

まず最初にDKMS(Dynamic Kernel Module Support)をインストールする。

$ sudo apt-get update
$ sudo apt-get install dkms

ソースをダウンロード

$ git clone https://github.com/msharov/rtl8812au.git

作業するディレクトリーを作り、ダウンロードで得られたrtl8812auを移す。

$ cp -r rtl8812au /home/nakamura/temp

rtl8812auのディレクトリーに入って、作業に先立ちWI-U2-433DHPのデバイスIDを調べる。
WI-U2-433DHPを挿した状態で

nakamura@Linux-host:~$ lsusb
libudev: udev_new: missing = in /etc/udev/udev.conf[8]; skip line
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 03f0:2e4a Hewlett-Packard 
Bus 001 Device 004: ID 152d:0569 JMicron Technology Corp. / JMicron USA Technology Corp. 
Bus 001 Device 003: ID 03f0:094a Hewlett-Packard Optical Mouse [672662-001]
Bus 001 Device 002: ID 0411:029b BUFFALO INC. (formerly MelCo., Inc.) 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

BUFFALO INC.となっているものが目的のデバイスで、IDは0411:029bの部分である。
/os_dep/linux/usb_intf.c を開く。

nakamura@Linux-host:~$ vi /home/nakamura/temp/rtl8812au/os_dep/linux/usb_intf.c

#ifdef CONFIG_RTL8821A の中に {USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo – WI-U2-433DHP */ を追加する
0x0411と0x029Bは先ほど調べたIDである。

#ifdef CONFIG_RTL8821A
        /*=== Realtek demoboard ===*/
   .......................................
   .......................................
   .......................................
    {USB_DEVICE(0x3823, 0x6249),.driver_info = RTL8821}, /* Obihai - OBiWiFi */
    {USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo - WI-U2-433DHP */
#endif

そしてビルド

$ make
$ sudo insmod 8812au.ko

モジュールがロードされたことの確認。

$ lsmod

表示されたリストに8812auがあればOK

起動時にスタートさせるため/etc/udev/udev.confに8812auの記述行を追加。

しかし、linuxbeanを更新したら8812auが認識されなくなった。

やむなく、力技で下記を/etc/rc.localに追加

# cd /etc
vi rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

insmod /home/nakamura/temp/rtl8812au/8812au.ko      <==== 追加 (makeしたdirectry内の8812au.koを指定)

exit 0

これで再起動すれば、WI-U2-433DHPが認識され、使用可能となる。