libcgroup無しで、cgroupによるプロセスへのCPU割り当て制限

LinuxカーネルにはCPUやメモリといったリソースをプロセス単位で制限できるcgroupという機能があります。


cgroupの使い方を紹介する多くの記事ではaptやyumでlibcgroupをインストールしていますが、
組み込みなどでは、apt/yumを使えず、ライブラリの追加が容易ではない環境もあります。


そこで、libcgroupを使わずにcgroupによるCPU割り当て制限を試してみました。

続きを読む

out of treeでライブパッチを試す、/dev/nullへのパッチ紹介

Linuxカーネルのバージョン4.0から追加されたライブパッチ(Livepatch)機能を今更ながら、試してみました。
(Linux4.0の記事でライブパッチに触れていますが、32bitのマシンしか無く、試せなかったんですね。。)


なお、本記事は「CLR/H #clrh101」のLTで発表させていただいた内容のまとめです。

続きを読む

ラズパイ3でベアメタル - QEMUでUART(PL011)

「キー入力と文字の画面表示」くらいはRaspberry Pi 3実機を使わずに、
QEMUで動作確認できると便利です。


現状のQEMU(Debian JessieでAPTでインストールできるもの)でも、
UARTでPL011(*1)が利用可能です。
(*1): PrimeCell UART(PL011) Technical Reference Manual


今回は、PL011 UART向けにこれまでのUARTのプログラムを書き換え、
QEMU上で動作確認してみます。


なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる
本シリーズの目次はコチラです。

続きを読む

Raspberry Pi 3で64bitベアメタル(bare metal)プログラミング

ラズパイ3で64bitベアメタルプログラミングを試してみるシリーズの目次ページです。
(ブログの使い方として間違っているのかも知れませんが。。。)

続きを読む

ラズパイ3でベアメタル - U-Bootでネットワーク起動

ラズパイ3での動作確認のために毎回microSDカードを書き換えるのは面倒なので、
U-Bootを使用してネットワーク経由でkernel8.imgをRAMの0x80000以降にダウンロードし、起動してみます。


なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる
本シリーズの目次はコチラです。

続きを読む

ラズパイ3でベアメタル - その4:シリアル通信(UART)でエコーバック(割り込みなし)

今回は、前回のプログラムに文字受信を追加して、
PCからラズパイ3へ送信した文字をそのまま送り返す(エコーバック)
を作ってみます。


なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる
本シリーズの目次はコチラです。

続きを読む

ラズパイ3でベアメタル - その3:シリアル通信(UART)でデータ送信(割り込みなし)

今回は、UARTを使用してシリアル通信で「ラズパイ3からPCへデータ送信」を作ってみます。
まずは割り込みは使用せずに作ってみます。


なお、Raspberry Pi 3で64bitベアメタル(bare metal)プログラミングを試してみる
本シリーズの目次はコチラです。

続きを読む