😎

busyboxでinitramfsを作成する

2022/09/10に公開

busyboxを使いinitramfsを作成します。

wget https://busybox.net/downloads/busybox-1.35.0.tar.bz2 
tar xf busybox-1.35.0.tar.bz2 
cd busybox-1.35.0 

make defconfig 
make menuconfig 

設定変更する
Settings ---> Build static binary (no shared libs) ---> yes

.config修正

CONFIG_TC=n
$ make -j72 
$ make install       ./_installディレクトリを作成し、インストール
$ cd _install
$ mkdir -p bin sbin etc proc sys usr/bin usr/sbin 
$ mkdir dev
$ mkdir dev/{tty1,tty2,tty3,tty4}

vi init

#!/bin/sh 
mount -t proc none /proc 
mount -t sysfs none /sys 

exec /bin/sh

一つ上のディレクトリにinitramfs.cpio.gzを作成する

$ chmod +x init
$ sudo find . -print0 | cpio --null -ov --format=newc   | gzip -9 > ../initramfs.cpio.gz 

リンク
https://gist.github.com/chrisdone/02e165a0004be33734ac2334f215380e

Discussion