STRICT_TRANS_TABLES 回避

昔改造したウェブサイトを Ubuntu 12.04 LTS の環境から Amazon Linux (CentOS) に移植したところ、
一気に動作不良に。

エラーは 1366: Incorrect integer value: '' for column 'hoge' at row 1 というもの。

なにやら最近の MySQL/MariaDBでは では STRICT_TRANS_TABLES なる sql_mode が設定されていて型の自動調整が無効になっているらしい。

my.cnf で書き換えてみたところ

[ERROR] mysqld: Got error 'File size bigger than expected' when trying to use aria control file '/var/lib/mysql/aria_log_control'

というエラーが発生してMySQLが起動しない。 aria_log_control というファイルを削除しないといけないみたいだ。

結局、 init-file を my.cnf で定義して以下のSQL分をサーバ開始と同時に実行するようにした。

SET @@GLOBAL.SQL_MODE = REPLACE(@@GLOBAL.SQL_MODE, 'STRICT_TRANS_TABLES,', '');

もっと良い方法が無いものかな。

Keian KEM-89B に 別OSを入れる作業メモ

  • Keian KEM-89Bはそこそこ良い低価格タブレットPC
    http://www.keian.co.jp/products/products_info/kem_89b/kem_89b.html
  • Intel Z3735F 4C/4T でメモリは 2GB、ストレージは 32GB
  • インタフェースは USB 2.0、MicroUSB (充電専用)、MicroHDMI、イヤホン、MicroSD
  • 画面サイズは 1920x1200 IPS 広視野角液晶 で 8.9インチサイズ
  • OS は Windows 8.1 with bing
  • 困ったことに初期状態で ComponentStore が破損しているので機能の追加や上位版へのアップグレードが行えない上に再構築に必要なファイルが廉価版なので削られている、どん詰まり状態。
  • Windows Update はできる。

※追記 2015/6/24 - Keianの製品ページにて修正版OSデータの配布受付をしている様子です。

そこでOSを再インストールしてWindows 8.1 Pro x86 にしようかと (Baytrail 世代は 32bit UEFI のため x64 はインストールできない)。

※※※ 超重要:先に 回復メディアを作っておきましょう ※※※

  • OSを再インストールすると当然のようにドライバが一切ない状態になるので事前にドライバを集めておく。

OSのインストール後:
1. Z3700 series platform driver を入れてから再起動。
2. デバイス一覧から不明なデバイスを一つ一つ開いて 環境特有ドライバのフォルダを検索させて登録する。
3. Sensors 以下に隠れた 不明なデバイスがあるので Kionix の kxfusion ドライバを適用して再起動。
4. レジストリに以下の値を追加する。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ROOT\SENSOR\0000\Device Parameters\kxfusion]
"Orientation"=hex:01,01,00,00,01,01,02
再起動すると画面の回転が自動で行われるようになる。
5. 保存しておいた TouchSettings.gt を \Windows\inf に戻して再起動するとタッチパネルが正しく動作するようになる。
6. 最後にネットワーク接続を設定した上で Intel Driver Update Utility を入れておくと GPU の最新ドライバを検出してくれる。

ここまでの必須ファイルはこちら。
https://www.dropbox.com/s/encr642fggq9g86/KEM-89B%20Drivers.rar?dl=0

rpmb対策

  • Venue 8 Pro の eMMC には Replay Protected Memory Block (rpmb) なる領域があって、これは専用コマンドで無いと読み書きができないため普通にアクセスしようとするとエラーが多発する。
  • エラーが一度発生すると 8 秒ほどI/Oがブロックするので操作性が著しく悪くなる。
  • カーネルパッチして除外すると正しく動作するらしい。

https://dev-nell.com/rpmb-emmc-errors-under-linux.html
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1333140

いまのところここまで。

.koの読み込み

  • ただし、ubuntuインストーラーでは .ko の読み込みが不十分なので eMMC が検出されない。
  • ↓を参考にして insmod で mmc_block.ko 、 sdhci.ko、sdhci-acpi.ko を読み込むと認識される。

http://eelsden.net/blog/kc0a2c/bihqoy#.VJ0ojl4hA

Dell Venue 8 Pro に Ubuntu を入れる際のメモ

  • Dell Venue 8 Pro は 32bit EFI からの起動しかサポートしていないのでインストーラーの起動には bootia32.efi が必要。
  • インストール手順とbootia32.efiの配布については↓が詳しい。

http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/

  • 落とした bootia32.efi を USB メディアの /EFI/BOOT にコピーする。
  • ただし、bootia32.efi はUSB起動用なので本体にインストールする場合は grubの32bit版を後でMakeする必要がある。

Book☆Walker の Windows用クライアントなるものがいつのまにかあったので使ってみた。

  • ネットからページを都度取得するのではなくて、ダウンロード型。ファイル形式はEPUB3(OEBPS)でコンテンツの取得がめっちゃ速い上に画像はとても綺麗。
  • 見開きページが綺麗に隙間なく表示されていてとても好感度よし。
  • ただし、テキストのフォントがかなり汚い。これは残念。
  • ファイルの暗号化も高度になって、各ファイルが個別のsaltで暗号化されている模様。
  • ヘルプ→バージョン情報→ライセンス情報で大量に情報が表示される。
    • 表示エンジンは ACCESS PUBLUSとか Readium.js とか。
    • Bootstrap + jQuery + Chromium でウェブブラウザ内蔵方式っぽい。尚、ソースファイルは全部暗号化されている。
    • Print screen には耐性あり。Bitbltは普通にできる。
    • これだけライセンスで引用されているけどなんか多くね?
      • Almost Native Graphics Layer Engine
      • Android
      • Apple sample code
      • BSDiff
      • BarcodeLib.dll
      • Binary-, RedBlack- and AVL-Trees in Python and Cython
      • Breakpad, An open-source multi-platform crash reporting system
      • Chinese and Japanese Word List
      • Chromium embedded framework
      • Chromium
      • Cocoa extension code from Camino
      • Compact Language Detection
      • Darwin
      • David M. Gay's floating point routines
      • Expat XML Parser
      • Flot Javascript/JQuery library for creating graphs
      • GIMP Toolkit
      • Google Cache Invalidation API
      • Google code support upload script
      • IAccessible2 COM interfaces for accessibility
      • ISimpleDOM COM interfaces for accessibility
      • International Phone Number Library
      • Internationalization Library for v8
      • Ionic.Zip.dll
      • Java Native Interface from Android NDK
      • Khronos header files
      • LZMA SDK
      • LevelDB: A Fast Persistent Key-Value Store
      • MSDN sample code
      • ManagedOpenSsl.dll, libeay32.dll, ssleay32.dll
      • MathJax
      • Mongoose webserver
      • Mozc Japanese Input Method Editor
      • Mozilla Personal Security Manager
      • NSBezierPath additions from Sean Patrick O'Brien
      • NVidia Control X Extension Library
      • Native Client SDK
      • Netscape Plugin Application Programming Interface (NPAPI)
      • Netscape Portable Runtime (NSPR)
      • Network Security Services (NSS)
      • Network Security Services (NSS)
      • OTS (OpenType Sanitizer)
      • OpenGL ES 2.0 Programming Guide
      • OpenMAX DL
      • OpenMAX IL
      • PLY (Python Lex-Yacc)
      • PPAPI
      • Protocol Buffers
      • Python FTP server library
      • Quick Color Management System
      • Readium.js
      • SMHasher
      • Simplified Wrapper and Interface Generator (SWIG)
      • Snappy: A fast compressor/decompressor
      • Strongtalk
      • Sudden Motion Sensor library
      • The USB ID Repository
      • URI.js
      • V8 JavaScript Engine
      • WebKit private system interface
      • WebKit
      • WebP image encoder/decoder
      • WebRTC
      • Webdriver
      • XUL Runner SDK
      • XZ Utils
      • backbone.js
      • bootstrap.js
      • bsdiff
      • bspatch
      • bzip2
      • codesighs
      • dynamic annotations
      • eyesfree
      • ffmpeg
      • flac
      • google-glog's symbolization library
      • google-jstemplate
      • google-safe-browsing
      • google-url
      • gpsd
      • harfbuzz-ng
      • hunspell dictionaries
      • hunspell
      • hyphen
      • iccjpeg
      • icon_family
      • icu
      • jemalloc
      • jquery
      • json2.js
      • jsoncpp
      • launchpad-translations
      • libevent
      • libexif
      • libjingle
      • libjpeg-turbo
      • libjpeg
      • libpng
      • libsrtp
      • libusb
      • libva
      • libvpx
      • libxml
      • libxslt
      • libyuv
      • log4net.dll
      • mach_override
      • mesa
      • mock4js
      • mock
      • modernizr.js
      • modp base64 decoder
      • mt19937ar
      • mtpd
      • native client
      • ocmock
      • open-vcdiff
      • opus
      • re2 - an efficient, principled regular expression library
      • seccompsandbox
      • sfntly
      • simplejson
      • sizzle
      • skia
      • speex
      • sqlite
      • talloc
      • tcmalloc
      • tlslite
      • underscore
      • undoview
      • valgrind
      • wtl
      • x86inc
      • xdg-mime
      • xdg-user-dirs
      • yasm
      • zlib