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

[debian-users:40088] Re: make-kpkg --initrd (Re: Kernel panic: No init found)



さとうふみやす です。

大分前の話。

At Tue, 20 Jan 2004 19:12:17 +0900,
Masatoshi Suehiro wrote:
> 一週間ほど前の話題で済みませんが...
> ちょっと面白そうなので調べてみました。

ありがとうございました。参考にさせていただきます。
# カーネルを読めるようになりたいなぁ

> On Tue, Jan 13, 2004 at 11:37:36AM +0900,
>  SATOH Fumiyasu wrote:
> 
> > つい最近、私も make-kpkg の --initrd オプションを試したことが
> > あるのですが、ブート時になぜか cramfs な initrd のマウントに失敗し
> > ブートできない (kernel panic) カーネルになってしまいます。
> > カーネルのソースは、cramfs な initrd に対応するパッチが
> > 取り込まれた Linux 2.4.22 と Linux 2.4.23 で試しました。
> > (Debian のカーネルソース (kernel-source-*) も試したような気がするが、
> >  記憶が定かではない…)

    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=238721

によると、カーネルに ramdisk_blocksize=4096 を指定すると
素の Linux 2.4.23 以降でも問題ないようです。まだ試してません。

> kernel-source-2.4.23ではcramfsなinitrdで無事にブートできました。
> debianのカーネルパッチの中で次の部分が効いているようです。
> # が、副作用がどれくらいあるのか良く分かりません。
> 
> ======================================================================
> diff -urN kernel-source-2.4.23/fs/block_dev.c kernel-source-2.4.23-1/fs/block_dev.c
> --- kernel-source-2.4.23/fs/block_dev.c	2003-06-14 00:51:37.000000000 +1000
> +++ kernel-source-2.4.23-1/fs/block_dev.c	2003-06-01 20:43:53.000000000 +1000
> @@ -95,7 +95,7 @@
>  	sync_buffers(dev, 2);
>  	blksize_size[MAJOR(dev)][MINOR(dev)] = size;
>  	bdev->bd_inode->i_blkbits = blksize_bits(size);
> -	kill_bdev(bdev);
> +	invalidate_bdev(bdev, 1);
>  	bdput(bdev);
>  	return 0;
>  }

*** snip ***

-- 
-- Name: SATOH Fumiyasu  -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya at net-thrust.com, samba.gr.jp, namazu.org or ...