シリアルコンソール経由で Debian12 amd64 をインストールする必要があるため、調べたところ、isolinux(BIOS) と grub(UEFI) の起動メニューを変更する必要がある様でした。そこでrufusで作成したUSBインストーラに変更を加えたところシリアル経由 ( 115200/8/parity non/stopbit 1) でインストーラーを起動できたので備忘録として挙げてみることにしました。
2025/06/02修正: uefiブート時( grub 使用時 )シリアコンソールおよびグラフィックの両方を使用できるようにしました。
具体的な変更点(diff)は以下の通りです。
BIOS起動の場合 UEFI起動の場合(2025/06/02差し替え) なお、Debian 12の場合シリアルコンソール経由では、言語は English/C しか選択できませんでした。
2025/04追記:最小インストールの場合、~/.profilにLANGがCで設定されてしまいますので、例えば、~/.profileを以下のように設定してください。
2025/06/02修正: uefiブート時( grub 使用時 )シリアコンソールおよびグラフィックの両方を使用できるようにしました。
具体的な変更点(diff)は以下の通りです。
--- grub.cfg.orig 2025-05-19 03:27:26.000000000 +0900
+++ grub.cfg 2025-06-03 13:15:50.000000000 +0900
@@ -27,9 +27,24 @@
set menu_color_highlight=white/blue
fi
+serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
+terminal_input serial gfxterm
+terminal_output serial gfxterm
+terminfo -v serial vt100-color
+
insmod play
play 960 440 1 0 4 440 1
set theme=/boot/grub/theme/1
+menuentry --hotkey=s 'Serial terminal install / シリアル端末インストール' {
+ set background_color=black
+ linux /install.amd/vmlinuz vga=788 console=tty0 console=ttyS0,115200n8 blacklist=acpi_pad
+ initrd /install.amd/initrd.gz
+}
+menuentry --hotkey=t 'Serial terminal rescue / シリアル端末レスキュー' {
+ set background_color=black
+ linux /install.amd/vmlinuz vga=788 console=tty0 console=ttyS0,115200n8 blacklist=acpi_pad rescue/enable=true
+ initrd /install.amd/initrd.gz
+}
menuentry --hotkey=g 'Graphical install' {
set background_color=black
linux /install.amd/vmlinuz vga=788 --- quiet
--- isolinux/isolinux.cfg.orig 2025-02-20 17:58:00.000000000 +0900
+++ isolinux/isolinux.cfg 2025-02-20 16:58:44.000000000 +0900
@@ -1,4 +1,6 @@
# D-I config version 2.0
+serial 0 115200
+console 0
# search path for the c32 support libraries (libcom32, libutil etc.)
path
prompt 0
--- isolinux/menu.cfg.orig 2025-02-03 17:25:04.000000000 +0900
+++ isolinux/menu.cfg 2025-02-20 17:05:38.000000000 +0900
@@ -3,6 +3,7 @@
menu title Debian GNU/Linux installer menu (BIOS mode)
include stdmenu.cfg
+include ser.cfg
include gtk.cfg
include txt.cfg
menu begin advanced
--- isolinux/gtk.cfg.orig 2025-02-03 17:25:02.000000000 +0900
+++ isolinux/gtk.cfg 2025-02-20 17:57:08.000000000 +0900
@@ -1,6 +1,4 @@
-default installgui
label installgui
menu label ^Graphical install
- menu default
kernel /install.amd/vmlinuz
append vga=788 initrd=/install.amd/gtk/initrd.gz --- quiet
--- isolinux/ser.cfg.orig 2025-02-21 09:55:00.000000000 +0900
+++ isolinux/ser.cfg 2025-02-21 09:55:36.000000000 +0900
@@ -0,0 +1,6 @@
+default installser
+label installser
+ menu label ^Terminal install
+ menu default
+ kernel /install.amd/vmlinuz
+ append vga=788 console=tty0 console=ttyS0,115200n1 initrd=/install.amd/initrd.gz --- noquiet
変更箇所は以上です。これをたとえば /tmp/seriall.diff として保存し、USBインストーラが/mntにマウントされている場合、変更を適用するには以下のようにします。
cd /mnt patch -p0 < /tmp/serial.diff md5sum `find ! -name "md5sum.txt" ! -path "./boot/grub/*" -follow -type f ! -path "./isolinux/*" -follow -type f` > md5sum.txtrufusでインストーラを作成した場合は以上です。同様にddでインストーラを作成する場合は以下の様にします。
apt-get intall libarchive-tools xorriso pv mkdir wrk bsdtar -C wrk/ -xf debian-12.9.0-amd64-netinst.iso chmod -R +w wrk cd wrk patch -p0 < /tmp/serial.diff cd .. cd wrk; md5sum `find ! -name "md5sum.txt" ! -path "./boot/grub/*" -follow -type f ! -path "./isolinux/*" -follow -type f` > md5sum.txt; cd .. chmod -R -w wrk dd if=debian-12.9.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin xorriso -as mkisofs -o custom-debian12.9-amd64.iso \ -isohybrid-mbr isohdpfx.bin \ -c isolinux/boot.cat -b isolinux/isolinux.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table ./wrk # /dev/sdcに書き込む場合 # dd if=custom-debian12.9-amd64.iso | pv | dd of=/dev/sdc bs=4096以下スクショです。
BIOS起動の場合 UEFI起動の場合(2025/06/02差し替え) なお、Debian 12の場合シリアルコンソール経由では、言語は English/C しか選択できませんでした。
2025/04追記:最小インストールの場合、~/.profilにLANGがCで設定されてしまいますので、例えば、~/.profileを以下のように設定してください。
LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8また最小限のUTF-8対応の日本語のフォントは、筆者の場合、以下のようにしてインストールしています。
apt-get install fonts-vlgothic今回は以上です。それでは。


コメント
コメントを投稿