Subject: Tests of mdsetimage -s
To: NetBSD-embed <tech-embed@NetBSD.org>
From: Marcin Jessa <email@example.com>
Date: 04/01/2005 22:27:25
On Fri, 1 Apr 2005 13:01:50 +0200
Jukka Salmi <firstname.lastname@example.org> wrote:
> BTW, I don't understand what the -s options to mdsetimage means. Where
> does it exactly write the size to? And what is this good for? Maybe it's
> needed in the case the image is larger than the md root?
OK, I made some testing.
Compiling kernel with MEMORY_DISK_ROOT_SIZE=100000 gives me kernel 51M of size.
Kernel with MEMORY_DISK_ROOT_SIZE=10000 is 6.9M of size.
Seems like the kernel reserves space for the ramdisk.
# makefs -s 11m custom.img image
# mdsetimage -v -s netbsd custom.img
got symbols from netbsd
mdsetimage: fs image (11534336 bytes) too big for buffer (5120000 bytes)
Looks like -s cannot dynamically change the value of MEMORY_DISK_ROOT_SIZE.
If the image is bigger than reserved space, it will get rejected.
I suppose it tells kernel the size of your image if it's smaller than the reserved kernel space.
If the -s flags is given, mdsetimage will write back the actual disk
image size back into kernel.
Please correct me if I am wrong.