読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

qemuのデバイスの追加とか

qemuにSATAとかUSB接続のディスクをつけてみたりしたメモ。SATAコントローラーとかUSBコントローラーを追加。 -device ich9-ahci,id=ahci -device nec-usb-xhci,id=xhciドライブを作って上で作ったコントローラーにつなぐ。 -device ide-drive,drive=sata,bu…

bashのエラー処理とか

bashのエラー処理まわりわからないので適当にメモ。 #!/bin/bash -eu exec 3> >(tee e.log) >&3 2>&3 may_fail() { test $(( $1 % 3 )) -ne 1 } commands_may_fail() { may_fail $1 echo "may_fail err $?" } main() { local i= for i in `seq 0 9`; do echo…

qemuのネットワーク設定

qemuのネットワークの設定メモ。とりあえずホストと通信できるだけのやつ Networking - KVM を見ながら適当に yomi@xenial:~$ cat /etc/qemu-ifup #!/bin/sh -e [ -n "$1" ] || exit 1 sw=br0 tap=$1 #ip tuntap add $tap mode tap ip link set $tap up ip l…

PEヘッダのサブシステム

詳しくは IMAGE_OPTIONAL_HEADER structure (Windows) 10 IMAGE_SUBSYSTEM_EFI_APPLICATION 11 IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 12 IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 使いそうなのはこのあたりかしら。

WSLメモ

あとで読みたい(読みたいhttps://blogs.msdn.microsoft.com/wsl/ https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/

powershellからNVRAMよむやつ

Add-Type -Language CSharp -TypeDefinition @' using System; using System.Diagnostics; using System.Runtime.InteropServices; public class UefiNvram { [DllImport("advapi32.dll", SetLastError = true)] static extern bool OpenProcessToken( IntPt…

あけましておめでとうございました

() ^o^) ちくわ!

めも

このへん漁るとおもしろそう。 後で読む。Driver Programming Techniques - Windows 10 hardware dev

popcntのメモ

c

なんかおもしろそうなもの見つけたので。 ビットを数える・探すアルゴリズムなんでこれで動くんだろうな… ぜんぜんわからん……… #include <stdio.h> #include <stdint.h> uint16_t bs16[] = { 0x3548, 0x4aa2, 0x6f68, 0x2116, 0x7e1d, 0x5ac3, 0x3a23, 0x60c8, 0x6e8d, 0x1706, </stdint.h></stdio.h>…

WDFのキューとかのメモ

メモ。 見てたページを残しとく WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE function (Windows Drivers) WDF_IO_QUEUE_CONFIG structure (Windows Drivers) EvtIoDeviceControl function (Windows Drivers) WdfIoQueueCreate method (Windows Drivers) EvtIoSt…

ioctlコードの一覧

たまたま見つけた便利ページTechNet Wiki ついでに見つけたのでこれもDefining I/O Control Codes - Windows 10 hardware dev

WDFのめもとか

WDFでドライバ書くときのIRPのディスパッチャについて見てたページをメモしとく。 Differences Between WDM and WDF (Windows Drivers) Handling WDM IRPs Outside of the Framework (Windows Drivers) Preprocessing and Postprocessing IRPs (Windows Driv…

windowsの開発環境のめも

Visual StudioとかWDKとかは https://msdn.microsoft.com/ja-jp/windows/hardware/dn913721.aspx にまとまってた。サンプルもあるけど https://github.com/Microsoft/Windows-driver-samples 見たほうが便利な気がしないでもない。エディタは http://www.kao…

クライアントHyper-Vでwindbgをつなぐ

hyper-vマネージャーでVMの設定みても仮想コンソールがなくてわからなかった。 http://blogs.msdn.com/b/jpwdkblog/archive/2009/03/18/hyper-v-os-windbg.aspx http://blogs.msdn.com/b/jpwdkblog/archive/2014/02/27/hyper-v-guest-os-windbg.aspx あたり…

ext4のめもその3

http://yomi322.hateblo.jp/entry/2015/06/28/143213 のつづき。でかいファイルを置いたときにどうなるか見てみる。 % for i in {0..1000000}; do echo 0123456789; done | sudo tee /test.txt % stat /test.txt File: ‘/test.txt’ Size: 11000011 Blocks: 2…

ext4のめもその2

http://yomi322.hateblo.jp/entry/2015/06/28/094928のつづき。ディレクトリエントリを見るところから。 % sudo hexdump -C -s 0x2421000 /dev/dm-0 | head 02421000 02 00 00 00 0c 00 01 02 2e 00 00 00 02 00 00 00 |................| 02421010 0c 00 02…

ext4のめも

ext4のディスクレイアウトを見てみる。参考 Ext4 Disk Layout - Ext4 ext4:ディスクレイアウト調査中めも1 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ ext4:ディスクレイアウトのめも2 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ ext4:ディスクレイ…

edk2のビルドめも

メモ。参考 Using EDK II with Native GCC - Tianocore EDK2でUEFI Application開発環境整備とQEMU Virtual FAT - かーねる・う゛いえむにっき 技術者見習いの独り言: UEFIアプリケーション/ドライバー開発の話、メモ、その他 パッケージとか % sudo apt-get…

xubuntuでcapslockをctrlにする

めも。 xfceでcapsLockとctrlキーを入れ替える ~ プログラムのメモ これ見ながらやった。settings→session and start up で新規追加で /usr/bin/setxkbmap -option "ctrl:nocaps"を実行させる。

xubuntuインストールのメモ

インストールしたときのメモ。日本語入力 $ sudo apt-get install -fy fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5 $ im-config -n fcitxこれで再起動したら有効になる。再ログインでもいいのかも?ブラウザ $ sudo apt-get install -fy chromium-b…

windowsからssh越しにsambaに接続する

sshのポートフォワーディングを使ってsambaにアクセスするメモ。sftp net driveってのを使ってたんだけど、サーバ側(ubuntu)で日本語ファイル名が文字化けするのが気持ち悪かったのでいろいろ試してみた結果、とりあえずこれに落ち着いた。それにしてもwin…

windows serverでadministratorのアカウント名変更とか

めも。コントロールパネル→管理ツール→ローカルセキュリティポリシーを開く。 ローカルポリシー→セキュリティオプションを選択。Administratorアカウントの状態とかAdministratorアカウント名の変更とかがある。

ubuntuでwordpressを動かすまでのメモ

パッケージいろいろ入れる。 $ sudo apt-get install -fy apache2 apache2-utils libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql mysql-server途中でmysqlのrootユーザのパスワード聞かれる。デフォルトのサイト設定止める。 $ sudo a2dissite 0…

dockerでsambaを動かしてみる

やってみた。Dockerfile FROM ubuntu:trusty RUN rm -f /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime RUN rm -f /etc/apt/sources.list && \ echo 'deb http://jp.archive.ubuntu.com/ubuntu/ trusty main restricted universe m…

ioportにアクセスしたいんですが

よくわからん。 #include <stdio.h> #include <sys/io.h> int main(void) { unsigned char val; int ret; ret = ioperm(0x64, 1, 1); if (ret) { perror("ioperm 1"); return 1; } val = inb(0x64); printf("val=%02x\n", val); ret = ioperm(0x64, 1, 0); if (ret) { perror("i</sys/io.h></stdio.h>…

xenのハイパーコールを呼んでみる

linuxのカーネルモジュールからxenのハイパーコールを呼んでみる。 とりあえず、実行中のドメインの情報をとってみる。 #include <linux/module.h> #include <asm/xen/hypercall.h> MODULE_LICENSE("GPL"); typedef uint8_t xen_domain_handle_t[16]; struct xen_domctl_getdomaininfo { domid_t d</asm/xen/hypercall.h></linux/module.h>…

xenのハイパーコールをちょっと読んだメモ

xen

libxenctrlでxc_hvm_set_isa_irq_levelを実行したときにどうなってるのかちょっと見てみた。まず、libxenctrl。 int xc_hvm_set_isa_irq_level( xc_interface *xch, domid_t dom, uint8_t isa_irq, unsigned int level) { DECLARE_HYPERCALL; DECLARE_HYPERC…

libxenctrlのメモ #2

xen

xc_domain_getinfolistを見てみる。 xl listとかしたときに呼ばれるやつっぽい。 int xc_domain_getinfolist(xc_interface *xch, uint32_t first_domain, unsigned int max_domains, xc_domaininfo_t *info) { int ret = 0; DECLARE_SYSCTL; DECLARE_HYPERCA…

libxenctrlのメモ

xen

使ったのはxen-4.4.1のアーカイブで配布されてるやつ。libxenctrlをちょっと見てみる。 割り込みのハイパーコールまわりを見たかったのでxc_misc.cのxc_hvm_set_isa_irq_level()をみてみた。ここから/proc/xen/privcmdにioctlしてカーネルモードに移ってハイ…

割り込みハンドラのメモ

メモ。 #include <linux/module.h> #include <linux/interrupt.h> MODULE_LICENSE("GPL"); static int hello; static irqreturn_t hello_interrupt(int irq, void *dev) { printk(KERN_EMERG "hello interrupt\n"); return IRQ_HANDLED; } static int __init hello_init(void) { int err; printk</linux/interrupt.h></linux/module.h>…

xenの挙動がよくわからんのです

xen

カーネルはubuntu14.04のパッケージのやつで3.13.0-45-generic xenビルドした。 $ sudo apt-get install -fy bcc bin86 gettext git iasl \ libaio-dev libc6-dev-i386 libglib2.0-dev libncurses5-dev \ libpci-dev libpixman-1-dev libssl-dev libyajl-dev…

pythonでデーモンつくるやつ

メモ。 #!/usr/bin/python3 # -*- coding: utf-8 -*- import daemon import datetime import lockfile.pidlockfile import time def loop(): while True: with open('/test.txt', 'a', encoding='utf-8') as f: f.write(datetime.datetime.now().isoformat()…

pythonでircのログとるやつ

いちおう動くようになったっぽいのでメモ。 #!/usr/bin/python3 # -*- coding: utf-8 -*- import datetime import http.server import irc.client import os import sys import threading class IRCLogger(irc.client.SimpleIRCClient): def __init__(self, …

nginxでダイナミックにリバースプロキシするやつ

SD12月号のdocker特集にあったやつ。 ngixnxをリバースプロキシとして目的のdockerのコンテナにプロキシする。 dockerのコンテナの管理とかはfig使った。 meu@u01:~/docker/dproxy$ find . -type f ./linkd/Dockerfile ./linkd/linkd ./fig.yml ./redis/Dock…

nginxのリバースプロキシの設定

nginx.conf user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/ngin…

gollumをデーモンとして起動する

こんなかんじにした。 環境はraspberry piでraspbian。 これを/etc/init.d/gollumとかでおいておく。 #!/bin/sh ### BEGIN INIT INFO # Provides: gollum # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs …

gollum動かしてみた

ちょっとローカルで使うのにwikiがほしかったのでgollum動かしてみた。 githubのwikiエンジンだそうで。環境はubuntu trustyのサーバ版をインストールした。 githubのwikiエンジン"gollum"の導入と細かい設定 - yukke::noteがとても参考になった。パッケージ…

linuxでサウンドを再生したい

メモ。 yomi@ubuntu:~$ sudo aplay -l **** List of PLAYBACK Hardware Devices **** card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1] Su…

ubuntuでxenでパススルーするまでのメモ

とりあえずubuntuサーバインストールした。 アップデートしてsshd入れる。 あと、automakeとか。 $ sudo apt-get update -y && sudo apt-get dist-upgrade -fy $ sudo apt-get install -fy openssh-server $ sudo apt-get install -fy automake build-essent…

LVMを使う

LVMの使い方とかよく知らなかったので、調べながらいろいろやってみる。こういうときvirtualboxとか便利ですね。まず、用語から。 物理ボリューム(physical volume):ハードディスクに作ったLVM用のパーティションのこと。 ボリュームグループ(volume gro…

conohaにubuntu入れた

メモ。インストールしたのはubuntu 14.04。 インストールは特に何も考えずそのままポチポチっとするだけ。taskselのところはBasic Ubuntu ServerとOpenSSH Serverを選んだ。 Basic Ubuntu Serverが何なのかよくわかってないけど、What does the "Basic Ubunt…

VimConf2014に行ってきました

VimConf 2014 - connpassこういう勉強会とかは久しぶりの参加でした。楽しかったです。 ライブコーディングすごいなーとかincsearchすごいなーとかそんな感じでした。あと、歌はおもしろかったです。

arch linuxでxenをビルド

xenのパッケージは公式にはなくてAURにしかないみたいなのでビルドした。 PKGBUILDとか取ってきてそのままビルドしてインストールしただけ。参考ページ Xen - ArchWiki Arch User Repository - ArchWiki makepkg - ArchWiki # mkdir aur # cd aur # curl -L …

VGAパススルーしたいその2

kvm

archlinux入れてそっちでやってみた。kernel parameterにintel_iommu=onをつけないといけなかった。 # modprobe pci-stub # echo 8086 0412 > /sys/bus/pci/drivers/pci-stub/new_id # echo 0000:00:02.0 > /sys/bus/pci/drivers/i915/unbind # echo 0000:00…

VGAパススルーしたい

kvm

このへんみつつやってみる。 How to assign devices with VT-d in KVM - KVM VGA device assignment - KVM とりあえず簡単にできそうなUSBコントローラから。 yomi@haku02% lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Haswell DRAM Controlle…

raspberry piで簡易ルータのようなもの

raspbianをインストールした。raspi-configは パスワードの設定 Internationalization Optionsのロケールとタイムゾーンとキーボードの設定 Advanced Optionsのホスト名とsshdの設定 あたりを適当にやった。とりあえずアップデート。 $ sudo apt-get update …

ssh configメモ

ssh

ssh configのメモ。鍵ファイルの指定とか。 github に登録する公開鍵ファイルを id_rsa.pub じゃない名前で使いたい→ ~/.ssh/config で解決 - 刺身☆ブーメランのはてなダイアリー 前は、githubのヘルプのページにもあったような気がするけど、なくなっちゃっ…

qemuを使うメモ

自前でビルドしてみる。 % sudo apt-get install -fy automake build-essential pkg-config zlib1g-dev libglib2.0-dev libspice-server-dev libspice-protocol-dev % curl -O http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2 % tar -jxf qemu-2.…

tmuxでマウスを使う

マウスでスクロールとか選択してコピーとかできるようにする。参考 tmuxでマウス(trackpad)でバッファをスクロールする - ( ꒪⌓꒪) ゆるよろ日記 tmux+iTerm2でマウス(タッチパッド)利用時にマウスによるコピペができない問題の対処 - Qiita KDEのkonsoleだ…

debianパッケージを作ってみる

debianのパッケージを作ってみる。 qemuでqemu-system-x86だけをビルドする。IntroDebianPackaging - Debian Wikiとか参考に。ソースを取ってきてリネームして展開。 $ curl -O http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2 $ mv qemu-2.1.2.t…