[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 20020417-1.5ZC snapshot



<10204202246.AA29756@lachesis.sm.sony.co.jp>の記事において
shin@sm.sony.co.jpさんは書きました。

> FUKAUMI Naoki <naoki@fukaumi.org> writes:
> > (けどやっぱりこれ、 machdep.c で上書きじゃなくて、カーネルコンフィグの設
> >  定が有効の方がよくありませんか ? <- hpcmips の話)
 :
> root on mdの状態では、md上のカーネルでリブートするよりは、/mntにマウント
> したファイルシステム上のカーネルでリブートするほうが便利だと思われますが、
> GENERICの中で既にKLOADER_KERNEL_PATHが定義されているため、RAMDISKで再定
> 義することができません。

kloader ってちゃんとコード読んでませんが、
kloader を使うか使わないかの option を別に設定して、
KLOADER_KERNEL_PATH については default を "/netbsd" にして
options で上書き可能、ってすればいいんじゃないでしょうか。
(つまり GENERIC からは options KLOADER_KERNEL_PATH をはずす)
---
#ifdef KLOADER
#ifndef KLOADER_KENREL_PATH
#define KLOADER_KERNEL_PATH "/netbsd"
#endif
	if ((howto & RB_HALT) == 0)
		kloader_reboot_setup(KLOADER_KERNEL_PATH);
#endif
 :
#ifdef KLOADER
		kloader_reboot();
		/* NOTREACHED */
#endif
---
とかなんとか。で、 kloader*.[cS] とかも options KLOADER が
あるときだけ link するようにする、と。

reboot(2) には *bootstr で文字列も渡せるので、
kloader 専用の command を用意するか
reboot(8) を拡張するかしてそれで kernel の
path 渡すというほうが "/mnt/netbsd" なんて
magic を使うよりいいような気はします。

ところで kloader.c ってなんで arch/hpc/hpc/ 以下にあるんでしょう?
他の port では使えないんでしょうか?
standalone な bootloader がない port では kloader 使えると
かなり嬉しいんじゃないかと思うんですが。
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp