into the void

ソフトウェアに関する雑多な調査日記

syslogの使い方をあらためて整理してみた

syslogを使ったログ管理の方法をあらためて整理してみる。 syslogの実装は幾つかあるが、Ubuntuで標準搭載されているrsyslogを使うことにする。 OS Ubuntu Desktop 14.04.4 LTS rsyslog rsyslog:amd64/trusty-updates 7.4.4-1ubuntu2.6 uptodate logrotate l…

DockerをクロスコンパイルしてRaspberry Pi 3で動かしてみる

Dockerのソースコードをダウンロードして、ARMv7向けにクロスコンパイルしてみる。 クロスコパイル環境としてはさくらVPS上のUbuntuを使った。まずはgithubで公開されているソースコードをダウンロード。 $ git clone https://github.com/docker/dockermake …

さくらVPSでQEMUを動かす

QEMU、さくらVPSでも動かしてみる。 QEMU用のウィンドウが開けるように、デスクトップ環境をインストールする。 さらにvnc serverも入れてリモートデスクトップ的につなぐ。下記のサイトを参考にした。 さくら VPS に Linux Mint 17 (Xfce) を入れて VNC で…

qemu上でDebian on ARM (armhf) を動かす

qemu上でARMv7(hardfloat)環境をエミューレートして、その上でDebian Linuxを動かしてみる。 qemuを動かす環境はVMWare上のUbuntu14.04。まずはqemuをインストール。 $ sudo apt-get install qemu次に ARM用のqemuイメージを下記のサイトからダウンロードし…

ELF for ARM(リロケーションの仕組み)

ARMv7向けにコンパイルしたオブジェクトファイルを解析してリローケションの仕組みを調べてみた。 関数アドレスのリロケーション 外部関数の呼び出しを行っている箇所は、コンパイル時には関数のアドレスが不明。 そのため、リンク時までは具体的なアドレス…

Ubuntu 14.04でASP.NET Core 1.0を動かしてみる

Ubuntu 12.10でうまくいかなかったので、14.04環境に変えて仕切り直し。 前回と intothevoid.hatenablog.com 全く同じ手順で、さくっとインストール完了。dnxが動作するようになった。 $ uname -a Linux ik1-303-11997 3.13.0-86-generic #130-Ubuntu SMP Mo…

Ubuntu 12.10にASP.NET Core 1.0をインストールしようとして失敗した話

Linux (Ubuntu)環境でASP.NETアプリを動かしてみる。基本的には下記のサイトの説明にしたがって環境構築していく。 Installing ASP.NET 5 On Linux — ASP.NET documentation Linux向けのASP.NETはASP.NET 5 RC 。Release Candidate。 あと、最近名称が変わっ…

MP3のタグ情報(ID3v2)をコマンドラインで編集するツール

mp3ファイルのメタ位情報をコマンドラインで、閲覧、編集できるツールを作ってみた。 大量のmp3ファイルを一括処理したいときに、シェルスクリプトと組み合わせて使うと便利だと思う。 まだ作りかけで、ID3v2.2タグの一部のみに対応。 テストも不十分なので…

今週読んで役に立った面白かった記事 (4/30)

yuuki.hatenablog.com qiita.com

Raspberry Pi 3 のUSBポートはデバイスモードでは使えない。ホストモード専用。

Raspberry Pi 3をUSBガジェット的に使えないかなと思ってUSBについて調べてみた。Raspberry Pi 3のUSBポートは USB マイクロ端子 USB A端子 (標準) が用意されている。USBマイクロの方につなぐと、デバイスとして認識されるのかもと思っていたが、どうやら…

USB探偵団の簡単USBシリアル変換器がMacで認識されないで困った

LinuxカーネルのUSBドライバ周りのアーキテクチャを把握しておきたいなと思って、ソースを読んでみたんだけど、そもそもUSBの仕様を知らなさすぎて、よく分からない…インターフェースのバックナンバーに良さげな特集があったので、必要な部品を集めて、勉強…

Raspberry Pi 3 の Kernelをビルド

Raspberry Pi 3でローカルビルド Kernelのもっとも簡単なビルド方法はRaspberry Piの環境でのmake。 時間はかかるが、手順通りにやれば確実にビルドできる。 所要時間は85分。Kernel Building - Raspberry Pi Documentation sudo apt-get install bc git clo…

MacでPS4のリモートプレイ

試してみた。 PS4リモートプレイ Windows® PC / MacDestinyをプレイしてみたけど、画像が乱れたり、コントローラの操作の遅延が大きかったり、最終的には切断されたりで、いまいち使えませんでした。 ネットワークの問題かなと思ったけど、アクティビティモ…

さくらVPSにIPv6アドレスをつけてPCからアクセスしてみる

さくらVPSのサーバにIPv6アドレスをつけて、自宅のPC(Mac)からアクセスしてみる。 まずは自宅ルータにて、普段はオフにしているIPv6設定をオンにする。 Macのターミルでifconfig en0して、IPv6のグローバルアドレスが付いていることを確認する。 IPv6 Ready …

Raspberry pi 3 にシリアルで接続できるようにしてみる

Raspberry PiからでているHDMIとUSBキーボードのケーブルが邪魔なので、シリアル接続できるようにしてみる。 ちょうど他の用途で、3.3VのUSBシリアル変換基板を買っていたので流用する。 FT231X USBシリアル変換モジュール: 半導体 秋月電子通商 電…

UnixBenchでいろいろベンチマーク(さくらVPS、raspberry pi 3、ローカルPC)

使える計算機環境が増えたのでそれぞれのベンチマークをとってみる。 ベンチマークソフトはUnixBenchを使う。 さくらVPS Ubuntuをインストールしてあるので、aptでビルド環境を入れた後、UnixBenchをビルドして使う。 ビルドツールを入れる。 $ sudo apt-get…

さくらVPS

さくらVPSを契約してみた。お試し期間2週間。 CPU 2コア、メモリ 1GB、SSD 30GB で月980円。契約後、早速インスタンスを起動してみたけれど、なぜかsshで接続ができない。 さくらVPSの管理サイトからVNCコンソールで接続してログを見てみると、起動途中でカ…

WekaをMacで使うための環境構築

「体験する機械学習」で説明されている内容をMac環境で実行するために準備したことをメモしておく。 http://www.amazon.co.jp/dp/B018VAV29I/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 wekaのダウンロード http://www.cs.waikato.ac.nz/ml/weka/downloa…

gccのかわりにclangを使ってみる

clangの場合、ライブラリ系がどうな感じになるか気になったので調べてみた。ubuntu環境にclangをインストールする。 sudo apt-get install clang標準Cライブラリを使うようなCプログラムをgccとclangでコンパイルしてみる。 #include <stdio.h> #include <string.h> int main(in</string.h></stdio.h>…

valgrindの実行にはシンボル付きのld.soが必要

gdbでデバッグ 〜stripとか-gオプションとか〜

gオプションをつけると生成されるバイナリにデバッグ情報が付加される。デバッグ情報とは、ソースコードへのパスやソースコード上の行番号。gdb上で行単位で実行をトレースすることができるようになる。 gオプションがないとgdbでデバッグできないわけではな…

Debian/UbuntuのMultiArch対応 〜/lib/x86_64-linux-gnuとか/lib64とか〜

gdbでlibcの中の関数までバックトレースしたかったり、valgrindでメモリリーク調査をしたかったりすると、libcのデバッグ版が必要になる。 PC Linuxなら、Debian系ならlibc6-debugをインストールしてやれば良いのだが、ARM上で組込み用のLinuxが動いているよ…

指定のディレクトリ配下のファイルとディレクトリを再帰的にGoogle Driveにアップロードするコマンド を作ってみる。

参照ページ https://developers.google.com/drive/web/quickstart/quickstart-java https://developers.google.com/api-client-library/java/apis/drive/v2 Step1. Drive APIを使えるようにGoogle Developers Consoleで登録する Drive APIを使うにはGoogle D…

Google Driveをバックアップメディアとして使う

Google Driveをローカルストレージとの同期なしで使う方法 Google Drive。ふつうにインストールすると、ローカルドライブの内容とクラウドの内容が同期される。 これはこれで便利だが、クラウドのストレージ容量と同量のローカルストレージが必要になる。 ク…

nin drive

nin driveの17,000曲をどうやって聴くか http://www.ninlive.com/navbar/drive.html Nine Inch Nailsのファンが録音したライブ音源が500GB分ダウンロードできる。 bittorrentでダウンロード完了。ほとんどの音源がflacフォーマットなので、そのままではiPhon…

Macでハイレゾ音源を聴き比べてみる

出遅れ感がありますがハイレゾについて調べてみる。 まずは手軽にできるやり方としてMacでハイレゾの聴き比べ。 Macでハイレゾ MacのD/Aコンバータはハイレゾ(96kHz、32bit)に対応しているらしいので、まずはMac上でハイレゾとノーマルの聴き比べをしてみ…

IRKitとHTML(jquery + bootstrap)でカスタムテレビリモコンを作ってみる(その参)

TVの他に、BD Recorderとアンプのリモコンも追加してみた。 BD Recorderはもう少しUIを工夫してみたい。

IRKitとHTML(jquery + bootstrap)でカスタムテレビリモコンを作ってみる(その弐)

今日はUI。bootstrapでデザインしてみる。 bootstrapのインストール 下記のページからダウンロードして、css、js、fontのフォルダを/var/www/nas/irkitの下に入れておく。 http://getbootstrap.com 使い方はいろいろなページを参照した。 bootstrapでボタン…

IRKitとHTML(jquery + bootstrap)でカスタムテレビリモコンを作ってみる(その壱)

Webサーバの準備 JavaScriptとHTMLを使ってIRKitを操作するWebUIを作ってみようと思う。 ローカルHTMLでもいいが、できればLAN内のWebサーバに配置したい。 PCを常時起動しておくのは省エネじゃないので、NAS上に構築できないか調べてみる。NASはRockDiskNex…

組み込みOS自作入門

開発環境構築 Mac上で開発環境を構築。gccのビルドエラーは下記のページのパッチで対応。 http://d.hatena.ne.jp/ryochack/20110515/1305400022 h8writeは下記のページからソースをダウンロードしてビルド。 http://sourceforge.jp/projects/kz-h8write/

ARM32ビットマイコン電子工作キットでいろいろしてみる

Macで開発環境を作る 本の中ではWindows環境で解説されているが、使われているツールはMac用もあるようだったので、Macで開発環境を作ってみる。IDE http://www.lpcware.com/lpcxpresso/downloadUSBシリアル変換アダプタのドライバ http://www.prolific.com.…

UbuntuをSSDにインストール

LinuxをSSDにインストールしてみる。SSDを使うときにはやっておいた方がいいチューニングもする。 使用するSSD Intel SOLID-STATE DRIVE 330 SERIES (128GB) Product Code: SSDSC2CT120A3K5 コントローラ: LSI SandForce BIOSの設定 OSのインストールをする…

GNU Make のいろいろ

ターゲットの重複定義 ターゲットを重複して定義すると ターゲットに対するコマンドは後で定義したものでオーバライド(上書き)される 依存関係は先に定義したものに追加される Makefile all: test1.o echo "1st define" all: test2.o echo "2nd define"実…

Amazon Glacierを使ってiPhotoの写真をバックアップしてみる(其の参)

Amazon SNSからNotification メールが来てたので早速ダウンロードしてみた。 public static void downloadDo() throws Exception{ AWSCredentials credentials = new PropertiesCredentials (TestDownloadOperation.class.getResourceAsStream("AwsCredentia…

pandaboardのブートシーケンス

pandaboardのブートシーケンスについて調べてみた。概要が下記のサイトに書いてある。 http://omapedia.org/wiki/Bootloader_Project ROM code→x-loader→u-boot→Linux Kernelの順にブート ROM codeがx-loaderを探す場所はSYSBOOTピンで設定 pandaboardではデ…

pandaboardにUbuntuを入れてみる

Pandaboard ESを買った。 Linaro LinuxがベースになっているUbuntu 12.04を入れて、その後でカーネルとカーネルモジュールの入れ替えをやってみる。 linaro-media-createツールを使ってブートイメージを作る https://wiki.linaro.org/Platform/DevPlatform/U…

Amazon Glacierを使ってiPhotoの写真をバックアップしてみる(其の弐)

ファイルのアップロードを確認する 1日後にマネージメントコンソールをみてみると、ちゃんと2つのファイルがアップロード完了していることを確認できた。 High Level APIでファイルのダウンロードをしてみる 今度はダウンロードしてみる。High Level APIを…

Amazon Glacierを使ってiPhotoの写真をバックアップしてみる(其の壱)

iPhotoのライブラリを圧縮する 去年までの写真が入っているiPhotoのライブラリをフォルダごとtarで固めて圧縮した。サイズは90GB程度。Glacierなら毎月100円程度で保存してくれるはず。 AWSのアカウントを作る AWSを使ったことがなかったので新しくアカウン…

BeagleBoard-xm rev.CにUbuntu 12.04をいれて無線アクセスポイントにする

Androidでいろいろやってみるために使っていたBeagleBoardだが、無線アクセスポイントにしたり、ファイルサーバにしたりといったやりたいことに対して、Androidを使うメリットがほとんどないことに今更ながら気づいた。 ので、Androidはいったんやめて普通の…

Androidを載せたbeagleboard-xmをTimeMachine用のNASにするまで(其の参)

依存するライブラリやプログラムのポーティングができたので次はnetatalk。 これもまずはPC Linux(Ubuntu)上でどんな動作をするのか確認してみる。 netatalkのビルド netatalkのサイトから安定版の最新ソース(2.2.2)を持ってくる。 http://netatalk.sourcefo…

Android - beagleboard-xm 開発環境改善(其の壱)

毎回SDカードを抜き差しするのが面倒なので、NW経由でログインとファイル送付ができるようにtelnetdとftpdをいれてみる。 telnetd busyboxに入っていたので実行するだけだった。-lオプションでシェルを指定する。 $ busybox telnetd -l /system/bin/ashashも…

Androidを載せたbeagleboard-xmをTimeMachine用のNASにするまで(其の弐)

avahiのポーティング avahi-daemonをbeagleboard-xm上のAnroidで動作するようにポーティングする。 toolchainはberkeley DBのビルドの時と同じようにcodesourceryからもってきたarm-none-linux-gnueabiのコンパイラを使う。ライブラリ群はandroid上のものと…

Androidを載せたbeagleboard-xmをTimeMachine用のNASにするまで(其の壱)

WiFi APとしての機能はほぼ実現できたので、次はNASとして使えるようにしてみる。 ただのNASではつまらないのでOS XのTimeMachine機能でつかるNASにすることを目的する。 どうもLionからはSambaベースNASがTimeMachimeで使えなくなったらしいので、AFPサーバ…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の九)

WiFiセキュリティがWEPのままではやっぱり不安なので、hostpadを入れてWPAが使えるようにした。 Andorid NDKを使ったhostpadのビルド Android NDKをつかってhostpadをビルドした。 hostpadのソースはzd1211bのビルドのときに使ったLinuxUSB_AR2524-3.0.0.56.…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の八)

WiFi APとしては普通に使えるようになったので、あとはより便利になるように機能追加していくことにする。予定している改良点は下記。 システム起動時にWiFi AP有効化 WiFi APの機能がシステム起動時に有効になるようにする。androidの起動スクリプトである/…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の七)

BeagleBorad-xm上でDHCPサーバとDNSサーバを動かしてWiFi APとRouter機能を持たせる予定だったが、ひとまずはRouter機能はやめて有線側とBridgeさせるだけにしてみた。 Bridgeはbrctlコマンドを使って有線側インターフェスen0とWiFi側インタフェースath0をブ…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の六)

DHCPサーバとDNSリレーサーバ用のプログラムをポーティングする。 Ubuntuで試験的にAPを作ったときに使ったdhcp3-serverとdnsmasqを第一候補にした。dnsmasqについてはすでにandroidのソースツリーに含まれていてビルドもされているようなのでそのまま使って…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の伍)

今日はzd1211のドライバとwireless-toolsをbeagleboard-xm上のfroyo用にコンパイルしてみる。 wireless-toolsはiwconfigコマンドを使いたいので入れる。 zd1211はドライバなのでいつも通りの方法でクロスコンパイルしてみる。wireless-toolsはユーザランドの…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の参)

前回まででPC Linux(Ubuntu 10.04 Linux Kernel 2.6.32)上でのWiFi APの動作確認までできた。 今回は最終目的であるandroid on beagleboard-xmでのWiFi AP動作に向けて、beagleboard-xmでandroid 2.2 (froyo)を動作させるところまでやってみる。 まずはpre…

Androidを載せたbeagleboard-xmをWiFi APにするまで(其の四)

androidをソースコードからビルドするための準備 ビルドする環境に必要なパッケージをインストールする。ビルド環境はWiFi APの動作確認もしたUbuntu 10.04 LTS。MacのVM Ware Fusion上。 準備は下記の書籍の説明にしたがって行った。 http://www.c-r.com/mo…