Linux

LinuxでWindows PEのLive USBを作る

BIOSの更新プログラムや、CPUのファームウェアの更新プログラムはWindowsしかサポートしていないものが多い。 PC環境がLinuxしかない場合、以下のような記事に従い、isoをUSBに書き込むことでBIOSのアップデートができる。 How to update Lenovo BIOS from L…

Linux kernel moduleビルドのメモ

ArchLinux(4.17.10)上でのkernel moduleビルドを試したメモ。 Linux kernelのソースコードを入手する prepare_kernel_source.sh #!/usr/bin/env sh set -eu KERNEL_VERSION=`uname -r | sed -r 's/([0-9]+\.[0-9]+\.[0-9]+).*$/\1/'` LINUX_VERSION=linux-${…

Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話

長いタイトル…。 こないだ書いたgorepっていう検索ツール、もうちょっと速くしたいなと思ってファイル読み込みの部分をmmap()で置き換える検討中。(ちょっぱやのagもmmap()を使っている) mmap()での高速化確認用にCとGoで簡単なコード書いて実験していたら、…

C言語とGo言語で標準出力が端末を参照しているかどうかを判定する

標準出力のディスクリプタを取得して、それが端末を参照しているかどうかを判定する。 使いどころは端末に出力する時と、ファイルにリダイレクト出力する時とで表示の仕方を変えたいとき。 例えば、以下のページの方法でターミナルの文字をカラーにできる。 …