QEMU上で'_'(アンダーバー)を入力できない問題の解決法(debian packageへのコード修正・再ビルド)
少し早いですが、本記事はDebian/Ubuntu Advent Calendar 2017の12/7(木)の記事として書いてみたものです。
qemu-system-x86_64(qemu-system-x86パッケージ、バージョン:1:2.1+dfsg-12+deb8u6)を使用していて、ゲスト上で'_'(アンダーバー)を入力できないという問題がありました。
ソースコードの修正が必要で、以下の記事等で修正方法が紹介されています。
Debianパッケージのソースコードを取得して、ソースコード修正し、debパッケージ再生成を行ってみましたので、
この記事ではその手順をまとめておきます。
手順1. パッケージのビルドに必要なパッケージをインストール
$ sudo apt-get build-dep qemu-system-x86
手順3. ソースコード修正
qemu-2.1+dfsg/ui/x_keymap.c を以下のように修正
--- a/ui/x_keymap.c 2013-08-09 07:40:09.530318381 +0900 +++ b/ui/x_keymap.c 2013-08-09 07:38:27.310309931 +0900 @@ -94,7 +94,7 @@ */ static const uint8_t evdev_keycode_to_pc_keycode[61] = { - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */ + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */ 0, /* 98 EVDEV - KATA (Katakana) */ 0, /* 99 EVDEV - HIRA (Hiragana) */ 0x79, /* 100 EVDEV - HENK (Henkan) */
手順4. debパッケージ再生成
$ cd qemu-2.1+dfsg $ dpkg-buildpackage -rfakeroot -uc -b
自作OS(OS5)のUEFI+x86_64対応でやったこと/やっていること(そして-fPIEの謎挙動)
少し早いですが、この記事は「自作OS Advent Calendar 2017」の12/3(日)の記事です。
自作OS(OS5、GitHub)の「UEFI + x86_64」対応で
- やったこと(masterブランチへマージ済の内容)
- やっていること(作業ブランチで作業中の内容)、そして-fPIEの謎挙動
を紹介します。
続きを読む技術書典3でフルスクラッチのUEFIベアメタルプログラミング本 パート2出します!
技術書典3へ、サークル名"へにゃぺんて"、配置場所"か13"で↑の本を出します!
(相変わらず、PC画面の写真が表紙です。)
EDK2やgnu-efiといった開発環境やツールチェインを使わず、
エディタとコンパイラのみのフルスクラッチでUEFIファームウェアを叩く本のパート2です。
前著で紹介しきれなかったTIPS等を紹介する本になっています。
既刊の"Ohgami's Commentary on OS5"と、
前著"フルスクラッチで作る!UEFIベアメタルプログラミング"(パート1)も持っていきますので、
技術書典3へお越しの際、ご興味があればぜひお立ち寄りください!
(既刊同様に、PDF版は頒布日以降に http://yuma.ohgami.jp で公開します。)
目次は↓の"続きを読む"から
続きを読むLinux 4.12: livepatch: 適用したライブパッチを無効化する機能の動作確認
久々のLinuxの記事です。
一つ前のリリースですが、Linux 4.12でライブパッチ(livepatch)へ機能追加がなされ、
適用したライブパッチを無効化することができるようになりました。
サンプルに記載のとおりですが、試してみたので記事にしてみます。
なお、ライブパッチについてはLinux 4.0で追加されてからちょこちょこと記事を書いていますので、良ければ見てみてください
- Linux 4.0ビルド・起動確認と、ライブパッチソースの在り処 - へにゃぺんて@日々勉強のまとめ
- out of treeでライブパッチを試す、/dev/nullへのパッチ紹介 - へにゃぺんて@日々勉強のまとめ
UEFIベアメタルプログラミング - マルチコアを制御する
UEFIベアメタルプログラミング - Hello UEFI!(ベアメタルプログラミングの流れについて) - へにゃぺんて@日々勉強のまとめ
こちらの記事の続きです。
UEFIでマルチコアを扱う方法が分かったので、
この記事ではその方法をまとめてみます。