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

はわわーっ

はわわわわっ

linux

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:ディスクレイ…

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>…

割り込みハンドラのメモ

メモ。 #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>…

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…

dmsetup snapshotメモ

$ dd if=/dev/zero of=mituski.img count=0 bs=1M seek=30000 $ dd if=/dev/zero of=mituski.img.$$ count=0 bs=1M seek=1024 $ sudo losetup -f mituski.img $ sudo losetup -f mituski.img.20222 $ sudo losetup -a /dev/loop0: [fe00]:4332326 (/home/yom…

aufs rootメモ

https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash見ながらやってみた。aufs.koをinitramfsに入れてswrootするまえにrootをaufsでマウントする。 $ echo aufs | sudo tee /usr/share/initramfs-tools/modules.d/aufs $ sudoedit /usr/share/i…

systemdメモ

自分で簡単なunitを作ってみる。 起動時にコマンドをいくつか実行するだけのサンプル。/lib/systemd/system/foobar.service [Unit] Description=systemd sample After=network.target [Service] Type=oneshot ExecStart=/bin/echo foo ExecStart=/bin/echo b…

インプットデバイスの情報を表示する

/dev/input/event* のデバイスの名前とかを表示する。 #include <dirent.h> #include <fcntl.h> #include <linux/input.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> int is_event_device(const struct dirent *dir) { return…</unistd.h></sys/types.h></sys/stat.h></sys/ioctl.h></string.h></stdlib.h></stdio.h></linux/input.h></fcntl.h></dirent.h>

カーネルモジュールを作ってみる

まず簡単なところから。 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); static int __init hello_init(void) { printk(KERN_ALERT "hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "bye\n"); } module_init(hello_i</linux/module.h></linux/init.h>…

gnomeでibusを無効にする

gnome3.6からibusがgnomeに統合されたらしく日本語入力環境作るのにハマったのでメモ。 ibusに環境変数とかをいじられて、他のIMEが使えなくなってたのでibusを無効化する。 % gsettings set org.gnome.settings-daemon.plugins.keyboard active falseってや…

urxvtを入れた

xtermからurxvtに変えてみた。インストールは # pacman -S rxvt-unicodeこれはurxvtdっていうデーモンを起動しておいてurxvtcでクライアントを使うことができるらしい。 デーモンの起動は ~/.xinitrc に urxvtd --quiet --fork --opendisplayを書いておく。 …

xmodmapの設定 その2

ついでなので、いろいろいじってみることにした。 わたしは日本語配列のキーボードを英語配列で認識させて使ってるのでキーに書いてあるものと実際に入力されるものが違ったり、何も割り当たってないキーがあったりする。まず、やりたいことは全角半角キー(…

xmodmapの設定

CapsLockをCtrlとして使うための設定とかやった。 xmodmapを使うとできるみたい。~/.Xmodmap に ! use CapsLock as Ctrl remove Lock = Caps_Lock keysym Caps_Lock = Control_L add Control = Control_Lこんな感じのを書く。最初の行の ! から始まってるの…

xmonadで日本語入力

gnomeからxmonadに移りつつあるんだけど、最初使ったときに日本語入力ができなかった。 いろいろ調べてみると、どうやらibusのデーモンを自分で起動しないといけないらしい。 gnomeのときは自動でやってくれていたんだろうか。ということで、~/.xinitrc に i…

xmonadを使ってみるよ

最近Haskellやりだしたので、いい機会だしxmonadを使ってみることにした。 Xmonad - ArchWikiを見つつインストールする。 とりあえず、xmonadとxmonad-contribのパッケージがあればいいみたい。 # pacman -S xmonad xmonad-contribで、~/.xinitrcを書き換え…