趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • Pine64を買ってみた

    投稿日 2017年 5月 21日 コメントはありません

    秋月に Pine64 A+ 1GB が入っていたので、買ってみました。価格はRaspberry Pi 3よりも安い2,980円。といっても、Pine64 A+はBluetoohもWiFiもないのでちょっと価格差的には微妙かもしれない。一緒に長さ15cmのmicroUSBケーブルとHDMIケーブルを購入。

    早速、秋月のページにある公式サイトへのリンクからUbuntu Mateのイメージをダウンロードして、ddコマンドで適当な8GBのMicroUSBに書き込んでMicroUSBコネクタに挿入、HDMIケーブルでディスプレイに接続、マウスとキーボードを接続、イーサケーブルをルータに接続して、MicroUSBコネクタを挿して電源投入。・・・が、電源LEDは点くものの、うんともすんとも言わない。
    MicroUSBケーブルを1.5mの長いものから購入した15cmの短いものに変更したら起動した。結構電流を食うので電圧降下しているのかもしれない。

    起動すると、グラフィカルログイン画面になるので、ユーザー名: ubuntu 、パスワード: ubuntu でログインする。当然かもしれないけど、英語モードで起動。ターミナルを開いたりしてみたが結構軽快に動くようである・・・が、やっぱりストレージがMicroSDなのでストレージアクセスを伴うものはちょっともたつく。

    とりあえず、アップデートをかけてみる。

    $ sudo apt-get update
    $ sudo apt-get upgrade

    を試してみるが、何かパッケージの不整合を起こしているみたいで、追加でコマンドが要る模様。指示に従って、以下の通り試してみた。

    $ sudo dpkg --configure -a
    $ sudo apt-get install -f
    $ sudo apt-get upgrade

    でとりあえず一通りはアップデートができた模様。

    System ⇒ Preferences ⇒ Hardware ⇒ Keyboard ⇒ Layout で Add を押して、キーボードレイアウトで Country で Japan を選んで Add を押す。レイアウトの順位を Japanese を一番上にして Close を押したら、キーボードレイアウトが日本語になった。

    System ⇒ Preferences ⇒ Personal ⇒ Language Support を選択すると、The language support is not installed completely と出るので、Install を押す。パスワードが聞かれるので入力すると、language support をインストールし始めた。しばらく待つと、インストール完了。
    この状態だと英語のみなので、 Install/Remove Languages … を押して、Japaneseにチェックを入れてApplyを押すと、フォントやfcitx、libreofficeのモジュールなどをダウンロード&インストールし始めた。
    完了したら、Language for menus and windows のリストの一番下にある日本語を一番上にドラッグ&ドロップ、Keyboard input method system を fcitx に設定して、Apply System-Wide をクリック、再度パスワードを聞かれるので入力。
    次に Regional Formats タブを選んでこちらも日本語を選択して Apply System-Wide をクリック。完了したら Close を押して、一旦ログアウトしてログインし直すと、日本語化が完了している。

    これだけだと、日本語入力で漢字キーが使えなかった。キーボードの選択で言語別で日本語を選択しておく必要があったようで、設定を修正。右上のキーボードのアイコンを右クリックして「設定」を選択すると、キーボードが英語になっているので、「+」を押して日本語キーボードを追加、順番を一番上に持ってくる・・・が、日本語入力はできない。

    とりあえず、

    $ sudo apt-get install synaptic

    で手慣れた Synaptic をインストール。

    Synaptic パッケージマネージャから ibus-anthy をインストールして、システム⇒設定⇒ユーザ向け⇒言語サポートで、キーボード入力に使うシステムとして IBus を選択して再起動後、右上のキーボードアイコンから日本語−Anthyを選択したところ、日本語入力ができるようになった。

    とりあえず、使えるようになった。


  • 普通にはadbで認識できないAndroid機を認識させる

    投稿日 2016年 9月 10日 コメントはありません

    通常のAndroid機は /etc/udev/rules-d/51-android.rules にベンダIDを追加してやるとadbで操作できるようになるのですが、coviaのFLEAZ F4s/F4s+は認識することができません。いろいろ試してみたところ、わかってきたことをメモしておきます。環境は LinuxMint18 MATE edition 64bit です。

    まずはUSBのデバイスIDを調べます。(必要なもの以外は結果から削除しています)

    $ lsusb
    Bus 001 Device 016: ID 0a5c:e688 Broadcom Corp.

    BroadcomのチップのベンダIDそのままのようです。(これはF4sのもの。F4s+はデバイスIDはe681になるようです)
    とりあえず、/etc/udev/rules-d/51-android.rules にベンダIDを記載して再読み込みさせてみます。

    $ cat /etc/udev/rules.d/51-android.rules 
    SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", MODE="0666", GROUP="plugdev"
    $ sudo udevadm control -R

    この状態で、USBを抜き差ししてから adb コマンドを叩いてみても、

    $ adb devices
    List of devices attached

    となって、デバイスが見つかりません。
    いろいろググると、~/.android/adb_usb.ini にベンダIDを書くとよい、というような記載をいくつか見つけたので試してみます。

    $ cat .android/adb_usb.ini 
    0x0a5c
    
    $ sudo service udev restart
    $ adb kill-server
    $ adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    ???????????? no permissions

    状況が変わりました。この状態で TCP/IP 接続でデバッグする設定にしてみます。

    $ adb tcpip 5555
    error: insufficient permissions for device

    パーミッションで蹴られてしまいました。ルート権限で試してみます。

    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ adb devices
    List of devices attached 
    F4Sxxxxxxxxx unauthorized
    
    $ sudo adb tcpip 5555
    error: device unauthorized. Please check the confirmation dialog on your device.

    端末上にデバッグ接続可否のダイアログが出ていたので、許可してみます。

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    $ adb install xxxxxxx.apk
    2460 KB/s (261419 bytes in 0.103s)
     pkg: /data/local/tmp/xxxxxxx.apk
    Success

    となって無事にインストールできました。

    改めて /etc/udev/rules-d/51-android.rules を削除してやってみました。
    どうも、/etc/udev/rules-d/51-android.rules は必要ないようです。
    一般ユーザー権限では、

    $ adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    ???????????? no permissions

    となってパーミッションエラーになりますが、通常の Android機はルート権限で adb server を起動すると認識できるようです。

    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    さらに、今回の covia FLEAZ F4s/F4s+ のようになにもしないと認識しない機種でも、 ~/.android/adb_usb.ini にベンダIDを書いてやれば認識できるようです。

    $ echo "0x0a5c" > ~/.android/adb_usb.ini
    $ cat ~/.android/adb_usb.ini 
    0x0a5c
    B ~ $ adb devices
    List of devices attached
    
    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ adb devices
    List of devices attached 
    F4Pxxxxxxxxx device
    
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    ここで F4s+ を外して F4s を接続してみます。

    $ adb devices
    List of devices attached 
    F4Sxxxxxxxxx device
    
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    となり、無事に認識しました。


  • 64bit環境にMPLAB-Xをインストールする

    投稿日 2016年 2月 13日 コメントはありません

    故あって、Ubuntu17.1 MATE 64bit環境に16bitPICをターゲットとしてMPLAB-Xをインストールしました。

    ダウンロードしたMPLAB-Xのtarファイルを展開すると、シェルアーカイブがでてくるので、これをスーパーユーザー権限で実行しても、

    ~$ sudo ./MPLABX-v3.20-linux-installer.sh
    64 Bit, check libraries
    Check for 32 Bit libraries
    These 32 bit libraries were not found and are needed for MPLAB X to run:
    libexpat.so
    libX11.so
    libXext.so

    となって、32bitライブラリをインストールするよう要求されます。・・・が、ここで表示されているものを素直にapt-getでインストールしようとしてもダメなのです。

    じゃあ、どうしたらいいのかについては、こちらに記載があります。

    ~$ sudo apt-get install libc6:i386 libx11-6:i386 libxext6:i386 libstdc++6:i386 libexpat1:i386
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています                
    状態情報を読み取っています... 完了
    以下の特別パッケージがインストールされます:
      gcc-4.8-base:i386 gcc-4.9-base:i386 libgcc1:i386 libxau6:i386 libxcb1:i386
      libxdmcp6:i386
    提案パッケージ:
      glibc-doc:i386 locales:i386
    以下のパッケージが新たにインストールされます:
      gcc-4.8-base:i386 gcc-4.9-base:i386 libc6:i386 libexpat1:i386 libgcc1:i386
      libstdc++6:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386
      libxext6:i386
    アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 12 個。
    5,061 kB のアーカイブを取得する必要があります。
    この操作後に追加で 13.7 MB のディスク容量が消費されます。
    続行しますか? [Y/n] 
    (以下略)

    ということで、パッケージ名の後ろに「:i386」をつける必要があったようです。わかってしまえばなんと言うことはないのですが、わからないと困りますよねぇ・・・。

    ここをパスできれば、あとは再びシェルアーカイブを実行するとインストール完了です。併せて、XC16もダウンロードしたシェルアーカイブを実行してやると途中でライセンスファイル生成のためにNICのMACアドレスの確認ダイアログが出ますが、そのまま次へ進めてしまえばインストール完了です。


  • MicroPythonをビルドしてみた

    投稿日 2015年 3月 19日 コメントはありません

    MicroPythonをUbuntu上でビルドしてみました。

    まあ、特に難しいところはなくビルドできちゃいました。

    1.ソースを持ってきます

    なんのことはなく、gitコマンドで持ってきます。

    ~$ mkdir micropython
    ~$ cd micropython/
    ~/micropython$ git clone https://github.com/micropython/micropython
    Cloning into 'micropython'...
    remote: Counting objects: 26526, done.
    remote: Compressing objects: 100% (337/337), done.
    remote: Total 26526 (delta 163), reused 0 (delta 0), pack-reused 26185
    Receiving objects: 100% (26526/26526), 17.01 MiB | 1.30 MiB/s, done.
    Resolving deltas: 100% (18856/18856), done.
    Checking connectivity...

    2.ビルドします

    unixディレクトリに移動して、makeするだけです。

    ~/micropython$ cd micropython/
    ~/micropython/micropython$ cd unix
    ~/micropython/micropython/unix$ make
        :
        :
    modffi.c:32:17: fatal error: ffi.h: そのようなファイルやディレクトリはありません
    #include <ffi.h>
    ^
    compilation terminated.
    make: *** [build/modffi.o] エラー 1
    ~/micropython/micropython/unix$

    一部ヘッダがないと怒られてしまいました。調べてみると、libff-devパッケージに含まれるヘッダファイルのようです。

    パッケージを追加して続けます。

    ~/micropython/micropython/unix$ sudo apt-get install libffi-dev
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了
    以下のパッケージが新たにインストールされます:
     libffi-dev
    アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 9 個。
    99.8 kB のアーカイブを取得する必要があります。
    この操作後に追加で 323 kB のディスク容量が消費されます。
    取得:1 http://jp.archive.ubuntu.com/ubuntu/ trusty/main libffi-dev amd64 3.1~rc1+r3.0.13-12 [99.8 kB]
    99.8 kB を 0秒 で取得しました (199 kB/s)
    以前に未選択のパッケージ libffi-dev:amd64 を選択しています。
    (データベースを読み込んでいます ... 現在 386967 個のファイルとディレクトリがインストールされています。)
    Preparing to unpack .../libffi-dev_3.1~rc1+r3.0.13-12_amd64.deb ...
    Unpacking libffi-dev:amd64 (3.1~rc1+r3.0.13-12) ...
    Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
    Processing triggers for doc-base (0.10.5) ...
    Processing 1 added doc-base file...
    Registering documents with scrollkeeper...
    Processing triggers for install-info (5.2.0.dfsg.1-2) ...
    libffi-dev:amd64 (3.1~rc1+r3.0.13-12) を設定しています ...
    ~/micropython/micropython/unix$

    気を取り直してmakeするとあっさり完了しました。

    3.試しに動かしてみる

    ドキュメント通りに動かしてみます。

    ~/micropython/micropython/unix$ ./micropython
    Micro Python v1.3.10-215-g005a7f4 on 2015-03-17; linux version
    >>> list(5 * x + y for x in range(10) for y in [4, 2, 1])
    [4, 2, 1, 9, 7, 6, 14, 12, 11, 19, 17, 16, 24, 22, 21, 29, 27, 26, 34, 32, 31, 39, 37, 36, 44, 42, 41, 49, 47, 46]
    >>> quit()
    Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
    NameError: name 'quit' is not defined
    >>>

    quit()では終了できず、Ctrl-Dで終了させます。

    4.テストにかけてみる

    これもドキュメント通りに。

    ~/micropython/micropython/unix$ make test
    Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
    cd ../tests && MICROPY_MICROPYTHON=../unix/micropython ./run-tests
    pass basics/0prelim.py
    pass basics/andor.py
    pass basics/array1.py
      :
    pass unix/ffi_callback.py
    pass unix/ffi_float.py
    395 tests performed (15494 individual testcases)
    395 tests passed
    ~/micropython/micropython/unix$

    あっさり動きました。


  • Ubuntu MATE 32bitをUSBメモリにインストール

    投稿日 2015年 1月 11日 コメントはありません

    Ubuntu MATE 32bitをUSBメモリにインストールしてみました。

    なぜMATEかというと、通常のデスクトップ環境ではやはり重いので、なるべく軽いものにしたかったためです。

    今回も32bit版をインストールしました。ダウンロードはこちらから。

    いつものように、まずVMware上で一度インストーラISOイメージで仮想マシンを作って起動します。その後、一旦シャットダウンして、仮想マシンからHDDを取り除きます。一度起動するのは、仮想マシン作成直後はHDDを取り除けないからです。

    次に、再度、インストーラISOイメージで仮想マシンを起動します。
    起動して試すだけかインストールするかの選択画面がでたところでUSBメモリを取り付けます。今回は、新たにSanDiskのExtreme USB3.0 64GBを使ってみました。USBメモリを取り付けたら仮想マシン側に認識させ、その後でインストーラで「Ubuntuをインストール」をクリックします。

    あとは普通にHDDにインストールするのと変わりませんが、データ領域を多めに取りたかったのでパーティションは手動で分けました。

    インストールが終わったら、仮想マシンを終了し、PCを再起動します。この時にBIOSで内蔵SATAを禁止します。

    再起動したら、過去の記事同様にいろいろ設定します。

    • SATAの禁止(内蔵HDDへのアクセス禁止)
    • /etc/fstabの設定(tmpfsの設定、マウントオプションにnoatimeを追加など)
    • 内蔵時計のUTC設定をローカルタイム設定に変更

    など。

    SATAを禁止したら、再起動後に内蔵HDDが見えない状態になっているのを確認します。あとは内蔵HDDのつもりで作業すれば大丈夫。

    引き続き、いろいろやりますが、こちらが参考になります。

    それにしてもSanDisk Extreme USB3.0 64GBは速いです。

     


  • UbuntuにUbuntuからリモートデスクトップ接続する

    投稿日 2014年 12月 15日 コメントはありません

    Ubuntu14.04(32bit)からUbuntu14.04(64bit)にリモートデスクトップ接続してみました。

    1.サーバ側(接続される側)の設定

    ググって調べると、サーバ側はgnomeでは接続できないようです。そこで、LXDEデスクトップ環境を含めた必要なソフトウェアをインストールします。

    Ubuntuソフトウェアセンターで以下のものをインストールします。

    • LXDE(the Lightweight X11 Desktop Environment)
    • xrdp(Remote Desktop Protocol(RDP) server)

    インストールが終わったら、コンソールで以下のように入力して、.xsessionファイルを作成します。

    $ echo lxsession -s LXDE -e LXDE > ~/.xsession
    $ cat .xsession
    lxsession -s LXDE -e LXDE
    $ sudo service xrdp restart
     * Stopping RDP Session manager [ OK ] 
     * Starting Remote Desktop Protocol server [ OK ] 
    $

    デフォルトでは日本語キーボードに対応したキーマップファイルがないので、キーマップファイルを生成する。

    $ cd /etc/xrdp
    $ ls
    km-0407.ini km-040c.ini km-0419.ini rsakeys.ini startwm.sh
    km-0409.ini km-0410.ini km-041d.ini sesman.ini xrdp.ini
    $ sudo xrdp-genkeymap km-0411.ini
    $ ls
    km-0407.ini km-040c.ini km-0411.ini km-041d.ini sesman.ini xrdp.ini
    km-0409.ini km-0410.ini km-0419.ini rsakeys.ini startwm.sh
    $

    2.クライアント側(接続する側=キーボード・ディスプレイを操作する側)の設定

    Dashで「Remina」を検索し、リモートデスクトップクライアントであるReminaを起動する。

    「新規リモートデスクトップ作成」を押して、新しいプロファイルを作成する。

    • 名前は適当に(接続先のホスト名など)つける
    • プロトコルは「RDP」を選択
    • 基本設定のサーバーは接続先のアドレスだが、avahiが入っていてローカルネットワークなのであれば「ホスト名.local」でOK。たとえば、「hogehoge.local」など。
    • ユーザー名は接続先でのユーザー名を入れる(入れなくてもいけるのかも?)
    • 色数は24bppを選択
    • 高度な設定は特にいじらず。

    「設定画面を開く」アイコンを押して、設定を行う。

    • 「RDP」のタブでキーボードレイアウトに「00000411 – Japanese」を選択する。
      自動のままで「クライアントのキーボードマッピングを使用する」をチェックしてみたが、自動にはならなかった。

    これでプロファイルをダブルクリックすると、接続するのでパスワードを入れてしばらく待つとLXDEでログインできました。

    ・・・・が、いくつか問題が出ました。

    1. 日本語入力ができない。ドキュメント作成する上では致命的かも。
    2. 接続先でもローカルログインすると、DISPLAYの区別がされないみたい。ローカルログインして起動したブラウザがリモート側にウインドウを開いたりしてしまう。

    うーむ、イマイチですね。昔のtwmの頃のほうがリモート接続での扱いは楽だったような気がします。(もっとも、当時に比べるとずっと便利な機能が山ほどありますけどね)


  • Ubuntuを使いやすく設定してみた

    投稿日 2014年 12月 14日 コメントはありません

    Ubuntu10.04から12.04になるときにUnityがデフォルトになった際にLinuxMintを試して以来、ずっとLinuxMintを使ってきたのですが、いろんなツールをインストールしたり、人に説明したりする分には、やはりUbuntuに軍配が上がります。それでUSB-HDDにインストールして試してみたりしていたのですが、それなりに自分なりのノウハウも溜まってきました。そこで、しばらくはUbuntuに戻ってみようかと思います。

    Unityが鬱陶しかったUbuntuですが、ある程度コツを押さえればちゃんと使えます。
    (ちなみに自分は日本語Remix版を使ってます)

    1.検索の際にオンラインを検索しないようにする

    最近のUbuntuが重く感じる最大の理由はDashでの検索時にオンライン検索を行っている待ち時間のようです。そこで、検索時にオンライン検索をしないように設定変更します。
    左側に並んだLauncherのアイコンのの中から歯車とスパナの絵が描かれたアイコンをクリックし、システム設定を開きます。その中の「セキュリティとプライバシー」をクリックし、「検索」の「オンライン結果の検索結果を含める」を「オフ」にします。これでDashのアイコンで何かを入力した時にオンライン検索をしなくなるようなので、軽快になります。

    ※ついでに、プライバシー関係の設定も行ってしまうといいと思います。

    2.システム時計が狂うのを直す

    /etc/default/rcS の中の「UTC=yes」を「UTC=no」に修正

    3.synapticのインストール

    Ubuntuにはsynapticパッケージマネージャがデフォルトではインストールされていませんので、インストールします。
    Dashで「ソフトウェア」と入力し、「ソフトウェアセンター」を探して起動します。
    検索ウインドウにて「synaptic」と入力して、「synapticパッケージマネージャ」を選択してインストールします。

    4.Ubuntu restricted extrasのインストール

    Ubuntuソフトウェアセンターから「Ubuntu restricted extras」を検索してインストール。途中でライセンスに同意するウインドウがソフトウェアセンターの下に表示されるので、時々チェックしながら先に進めます。

    5.いろいろインストール

    DashからSynapticを起動し、いろいろインストールします。
    ・GIMP
    ・clamtk
    ・jhead

    6.Launcherのアイコンを小さくする

    左側に並んだLanucherのアイコンが妙にでかくて素人っぽいのが気に入りません。これは、「システム設定(歯車とスパナの絵が描かれたアイコン)」で「外観」をクリックすると、下の方に「Launcherアイコンのサイズ」という設定がありますので、そこでサイズを変更することができます。自分は32に設定しています。

    ちなみにウインドウメニューがウインドウのタイトルバーに表示されずに気持ち悪いですが、こちらは同じく「外観」の中の「挙動」のタブの中に「ウインドウのメニューを表示」という設定項目があります。

    こんなところでしょうか。あとはChromeとかもインストールしますが、特に難しいことはないので・・・。


  • USB-HDDにUbuntu14.04LTSをインストール

    投稿日 2014年 11月 2日 コメントはありません

    故あって、ある調査のための環境としてUbuntu14.04LTS 日本語RemixをUSBハードディスクにインストールしています。さすがに一般向けにどこにでも書かれているようなことはここでは省略して、特殊なこと、自分にとっての備忘録になることをメモしておきます。

    PCはマザーボードはH61M-ITX、CPUはCeleronG530、メモリは8GB搭載です。DVDで起動する前にBIOSの設定でSATAをDisableにしておきます。この状態でUSB-DVDROMからインストールDVDを起動します。DVDを起動したら、USB-HDD(今回はUSB2.0のHDDケースに1TBのHDDを搭載したもの)を接続し、普通通りインストールします。

    インストール後、再起動したところからです。特に何もしなくてもBIOSでUSB-HDDから起動する設定になっていれば起動するはず。

    1. ソフトウェアの更新
      まずはソフトウェアの更新をします。Dashの一番下にアイコンが現れるので、更新してやります。
    2. セキュリティとプライバシーの変更
      Dashのアイコンの歯車とスパナの絵が描かれたアイコンをクリックし、システム設定を開きます。その中の「セキュリティとプライバシー」をクリックし、今回は人に貸すためのHDDなので、「ファイルとアプリケーション」の「利用状況を記録」をOFFにして、利用履歴データをクリアします。
      次に、「検索」の「オンライン結果の検索結果を含める」を「オフ」にします。これでDashのアイコンで何かを入力した時にオンライン検索をしなくなるようなので、軽快になります。
      その他の項目は適当に設定します。
    3. 「言語サポート」をクリックすると「インストールが完全ではない」旨の表示が出るので、インストールを行います。
    4. 端末を開く
      Dashの検索画面で「端末」と入力し、端末(Terminal)を開いてコマンドライン作業ができるようにします。
    5. 内蔵HDDを見えないようにする
      起動時のカーネルパラメータでlibataを禁止して内蔵HDDを見えないようにします。
      /etc/default/grub を開いて、 「GRUB_CMDLINE_LINUX_DEFAULT」の起動時オプションに「libata.force=disable」を追加します。ついでに同じ箇所のオプションの「quiet」を取って起動時のメッセージを表示させるようにします。
      修正後は、
      $ sudo grub-mkconfig -o /boot/grub/grub.cfg
      としてgrub.cfgファイルを自動生成させて反映させます。
      この後、BIOSのSATA禁止を解除して再起動して、PCの内蔵HDDが見えないことを確認します。
    6. USBハードディスクへのアクセス高速化
      HDDアクセス時のアクセス時刻の記録を停止してアクセスを減らすとともに、/tmpをtmpfsにより確保してHDDへのアクセスをなくします。/etc/fstab を以下のように修正します(赤字部分)。
      # / was on /dev/sda1 during installation
      UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 noatime,errors=remount-ro 0 1
      # swap was on /dev/sda5 during installation
      UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap sw 0 0
      # tmpfs
      tmpfs /tmp tmpfs defaults,noatime 0 0
    7. システム時計が狂うのを直す
      /etc/default/rcS の中の「UTC=yes」を「UTC=no」に修正
    8. synapticのインストール
      Ubuntuにはsynapticパッケージマネージャがデフォルトではインストールされていませんので、インストールします。
      Dashで「ソフトウェア」と入力し、「ソフトウェアセンター」を探して起動します。
      検索ウインドウにて「synaptic」と入力して、「synapticパッケージマネージャ」を選択してインストールします。
    9. Ubuntu restricted extrasのインストール
      Ubuntuソフトウェアセンターから「Ubuntu restricted extras」を検索してインストール。途中でライセンスに同意するウインドウがソフトウェアセンターの下に表示されるので、時々チェックしながら先に進めます。
    10. いろいろインストール
      DashからSynapticを起動し、いろいろインストールします。
      ・GIMP
      ・clamtk
      ・jhead
    11. 有線LANの禁止(無線LANのみで使用)
      miiモジュールのロードを阻止して有線LANを禁止します。
      /etc/modprobe.d/blacklist.conf に以下の行を書き加えます。
      # disable wired ethernet
      install mii /bin/false
      この記述を追加した後、
      # sudo update-initramfs -u
      として反映させます。

    以上で完了です。
    実際にはここからさらに必要なものを順次インストール・環境構築することになります。


  • Linuxで有線LANを禁止する

    投稿日 2014年 10月 22日 コメントはありません

    USBメモリにインストールすることでPC本体環境に影響を与えることなくLinuxを使うことができますが、そのままではPC本体のHDDにが見えているので、誤操作や悪意のあるプログラムが動作したりするとHDDに影響する可能性が残っています。そこで、この記事で紹介したようにHDDを見えないようにすることで、そのリスクをさらに抑えることができます。

    しかしながら、ここまでではネットワークは既存の環境のものをそのまま使うので、万が一のことがあるとローカルネットワーク上に影響を与えてしまいます。今回はその対策を考えてみました。

    物理的に線があるLANでは接続先を変える=線をつなぎ直す、ということなので面倒です。しかし、無線LANならばESSIDを変えてやれば、ハードウェアをまったく変えることなく接続するネットワークを変えることが可能です。しかも、幸いな事にたいていのコンシューマ向け無線ルータではPC等を接続するネットワークとゲーム機等を接続するためのネットワークをESSIDで分ける機能をもっていることが多いです。これをうまく使えれば、USBメモリ起動のLinux使用時には既存の環境(HDD、LAN)への影響をさらに抑えられます。そこで、有線LANを禁止し、接続は無線LANのみで行うようにしてやります。

    具体的な方法ですが、有線LANのインタフェースの物理層を制御しているmiiモジュールのロードを阻止してやります。/etc/modprobe.d/blacklist.conf に以下の行を書き加えます。

    # disable wired ethernet
    install mii /bin/false

    単純に「blacklist mii」としたのでは論理層のドライバがmiiモジュールに依存していて、論理層ドライバをロードするときにmiiモジュールをロードしてしまいますので、結局miiモジュールが読み込まれてしまいます。かといって、論理層ドライバを blacklist 指定していくのは個々のデバイス(LANコントローラ)を指定していくことになりとても面倒です。ここでは、ArchLinuxのKernel_moduleのドキュメントを参考にして、mii モジュールのロードを常時失敗するように設定しました。この記述を追加した後、「# sudo update-initramfs -u」として反映させます。

    これで再起動してやると有線ネットワークが表示されなくなったはずです。無線LANアダプタは必要ですが、安心してネットサーフィンができる環境になったはず・・・です。


  • USBメモリにLinuxMintとLubuntuをインストール

    投稿日 2014年 10月 11日 コメントはありません

    再びUSBメモリのLinuxMintとLubuntuをインストールしてみました。

    LinuxMintの方はLinuxMint17を16GBのSanDiskの小さな16GBのUSBメモリに、Lubuntuの方は同じく8GBのUSBメモリにインストールしました。

    1.インストール

    インストール自体は難しくありません。

    1. それぞれISOイメージをダウンロードしてDVD/CDROMを作成
    2. デスクトップPCでSATAを禁止してHDDを見えない状態にしてから、USB-CDROMでインストーラ起動
    3. USBメモリを挿入して手動でパーティション作成
      手動でパーティション作成するのはPCの搭載メモリが多いのでSWAP領域が大きくとられてしまう対策です。
    4. あとは普通にインストール

    2.チューニング

    1)USBメモリへのアクセス速度向上のため、/etc/fstab を修正

    ルートファイルシステムのオプションに「noatime」を追加して、アクセスタイムの記録をやめさせます。また、tmpfsを追加して、テンポラリファイルの書き込みをやめさせます。

    2)起動後に内蔵HDDを見えないようにする

    起動時のカーネルパラメータでlibataを禁止して内蔵HDDを見えないようにします。
    /etc/defaults/grub を開いて、 「GRUB_CMDLINE_LINUX_DEFAULT」の起動時オプションに「libata.force=disable」を追加します。ついでに同じ箇所のオプションの「quiet」を取って起動時のメッセージを表示させるようにしました。

    修正後は、

    $ sudo grub-mkconfig -o /boot/grub/grub.cfg

    としてgrub.cfgファイルを自動生成させて反映させます。

    この後、BIOSのSATA禁止を解除して再起動して、PCの内蔵HDDが見えないことを確認します。

    3)ひたすらアップデートをインストール

    大量のアップデートがあるので、ひたすら適用していきます。

    4)アプリケーションのインストール

    • Google Chrome
    • clamtk
    • その他、必要なアプリケーション

    5)その他の設定

    • システム時計が狂うのを直す
      /etc/defaults/rcS の中の「UTC=yes」を「UTC=no」に修正

    こんなところでしょうか。カーネルパラメータで指定するだけでSATAを禁止できるので、カーネルのバージョンアップなどがあってもカーネル再構築などをせずに済むので楽ちん(のはず)です。