宇宙ドーナツ研究会

セキュリティ系お勉強メモ

LTPメモ

準備 ここの通りに環境準備。/opt/ltp に配置される。 ltp/ltp-run-files.txt at master · linux-test-project/ltp · GitHub 詳しい説明は docs/ にある。 実行 システムコールに関するテスト実行はこんな感じ。 sudoでやらないと、幾つかのテストが失敗する…

LTPについて

準備 ここの通りに環境準備。/opt/ltp に配置される。 GitHub - linux-test-project/ltp: Linux Test Project 詳しい説明は docs/ にある。 実行 システムコールに関するテスト実行はこんな感じ。 $ ./runltp -f syscalls runtest/syscalls に、テストの内容…

yoctoデバッグ

do_install とかしているときに、任意のコマンドを実行する方法。 bitbakeで使う変数も表示できる。 do_install_append () { // ここはシェルコード s="S = ${S}\n" printf "${s} > /dev/pts/3" } レシピの中で定義する関数は、シェル関数かpython関数。 シ…

LXCコンテナの移動

lxcコンテナを、デフォルトの /var/lib/lxc ではなく、/mnt/container に移したい。 コンテナの作成 ここの通りにやる。 CentOS7でLXC - Qiita コンテナのアーカイブ化 コンテナをアーカイブ化する。 --numeric-owner は、ファイルの所有者やグループの情報…

シェルスクリプトメモ

read read value 標準入力から受け取った文字列を、valueに格納。 EOLを受け取ったら終了。 これがわかれば、 while read line do echo "$line" done

layers.conf について

$ poky/scripts/yocto-layer create my-recipe を実行することで、my−recipe というサンプルレイヤを作成できる。 ここで作成されたlayer.confについて、いろいろ考察。 === BBPATH .= ":${LAYERDIR}" BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}…

gitメモ

rebase ここ参照。 Git - リベース # git rebase 統合先 git rebase master gitリポジトリについて なんとなく使ってたけど、本質を理解した方がいろいろと使いこなせるので、メモ。 ここがめっちゃ詳しい。 Gitのリポジトリの中身をなるべく正確に理解する …

MACのvirtualbox上でARM用Linuxを動かす話

ここ参照。 KVMを使う(インストール編) « さくらインターネット研究所 QEMU によるシステムのエミュレーション 環境 ホストOS – MAC上で動くVirtual Box 上で動くCentOS 7.3 ゲストOS – ARM用にビルドしたFedora FedoraってRHEL系らしい。 FedoraとRHELとC…

ubuntu 16.04.2 について

ubuntu16.04.2 は、デスクトップ用であれば、デフォでHWEカーネルが入るらしい。 kernel4.8 を使っており、以前のLTS(多分、ubuntu16.04)以降に出たハードウェアをサポートしてるとのこと。 今後も6ヶ月ごとに、ハードウェアのサポートを更新していくとの…

ARM用にLinuxをビルドする

ここ を参考にした。 必要なパッケージをインストール $ sudo yum -y groupinstall "development tools" $ sudo yum -y install tetex gawk sqlite-devel vim-common redhat-lsb xz \ m4 make wget curl ftp tar bzip2 gzip python-devel \ unzip perl texin…

VNCでqemu上のマシンにリモートデスクトップする話

CentOSのQEMU上でFreeBSDを動かしている。 それを、Windowsサーバからリモートデスクトップする方法。 CentOS側の準備 VNC Serverを入れる ここを参考に、VNC Serverを入れる。 VNC Serverを起動できればOK vncserver設定する インストール $ yum -y install…

VirtualBoxでは仮想マシンの入れ子がNGな話

Virtual Box 上で動くCentOSで、KVMを使おうと思った。 Linux でkvmを使うためには、下の2つのモジュールをロードする必要がある。 modprobe kvm modprobe kvm-intel しかし2つ目でエラーが出る。 operation not supported みたいなやつ。どうやら、Virtua…

カーネルデバッグ

デバッガの種類 ユーザ空間でのデバッグ – gdb – newmatch, YAMD メモリ周りのデバッグができる(メモリリークとか) – strace コールスタック確認など。 カーネル空間でのデバッグ – kgdb など kgdbをカーネルに組み込んでブートさせたサーバを、他サーバか…

カーネル再構築メモ

そもそもカーネル再構築ってナニ? カーネルやモジュールを、機能追加や削除するために作り直すこと 何も考えずに CentOS をイメージからインストールすると、組み込まれていない機能が結構ある。 それらを後から追加したい時は、カーネル再構築が必要になる…

RPMファイルとrpmbuildについて

RPMパッケージ 一発でインストールできるようにしたパッケージファイル。 種類は2つある。 – バイナリパッケージ(RPMファイル) – ソースパッケージ(SRPMファイル) バイナリパッケージ コンパイル済みのバイナリファイル。拡張子は.rpm ソースパッケージ…

関数ポインタについて

宣言方法 カッコで括るのは、int * 型変数を返す関数と区別するため。 int (*pfunc)(int a,int b); // 関数ポインタ int *pfunc(int a, int b); // int * 型変数を返す関数 例 #include <stdio.h> void add(int i, int j){ printf("add:%d\n", i + j); } void sub(int</stdio.h>…

mmapでファイルとマッピングしたメモリへの書き込み後、msyncは必要か

mmap でマッピングされたメモリ領域に対して書き込みをしても、 msyncは絶対必要というわけではない。 書き込みをすれば、それはいずれ(カーネル側の都合の良いタイミングで)、ファイルに反映されるから。 #include <stdlib.h> #include <fcntl.h> #include <stdio.h> #include <sys/mman.h> int ma</sys/mman.h></stdio.h></fcntl.h></stdlib.h>…