.bootimage with GENERIC kernel (Re: (PReP 7248)
Makoto Fujiwara <[email protected]> Fri, 15 Aug 2014 15:23:43 +0900
| Newsgroups | gmane.os.netbsd.ports.prep |
|---|---|
| Message-ID | <yfmha1ez2xc.wl%[email protected]> |
I wrote in the mail: | To: [email protected] | Cc: [email protected] | Subject: (PReP 7248) battable address to align | Date: Sat, 05 Jul 2014 19:33:24 +0900 | 2. kernel is too large to boot. | (But my trial using small kernel for mkbootimage | does not affect the real kernel in effect, sorry | not knowning the mechanism to boot. The problem 2. is only on .bootimage put it in /def/rsd0e. You will see just cursor blinking at empty screen when boot supposed to run. It may be either - mkbootimage (runs at sysinst completion phase) won't handle large kernel or - boot.c won't work with large kernel is included (as in-kernel) There are serveral work around: 1. After sysinst completed, back to another cross machine, and run (cross) mkbootimage with small kernel, transfer and put it on PReP target by running MD_kernel again and run shell script. --- This is how I did to get dmesg: http://www.nycbug.org/index.cgi?action=dmesgd&do=view&id=2582 2. Use small kernel for entire sysinst until completion, and ask admin to replace /netbsd kernel with kern-GENERIC(.gz) after multi-user login: prompt. --- The SMALL config is copied from INSTALL_SMALL and deleted MEMORY_DISK lines: --- Another changes used for this test is attached at bottom of this mail | --- sys/arch/prep/conf/INSTALL_SMALL 2014-08-13 10:05:42.000000000 +0900 | +++ sys/arch/prep/conf/SMALL 2014-08-13 20:34:05.000000000 +0900 | @@ -9,13 +9,6 @@ | | makeoptions COPTS="-Os" # Reduce size. | | -# Enable the hooks used for initializing the ram-disk. | -options MEMORY_DISK_HOOKS | -options MEMORY_DISK_IS_ROOT # Force root on ram-disk | -options MEMORY_DISK_ROOT_SIZE=4096 # 2mb | -options MEMORY_DISK_SERVER=0 # don't need for install | -options MEMORY_DISK_RBFLAGS=RB_SINGLE # boot in single-user mode | - | maxusers 8 | | # Platform support 3. Install two kernels, kern-GENERIC as /netbsd, and kern-SMALL as /netbsd-SMALL and use latter for mkbootimage (at sysinst only) (change the line in function md_post_extract() of usr.sbin/sysinst/arch/prep/md.c) 4. fix boot or mkbootimage to run kern-GENERIC size kernel. --- I don't know how to do it. diff --git a/etc/etc.prep/Makefile.inc b/etc/etc.prep/Makefile.inc index fae52f3..7decfea 100644 --- a/etc/etc.prep/Makefile.inc +++ b/etc/etc.prep/Makefile.inc @@ -6,7 +6,7 @@ # If you change the list of distributed kernels, don't forget # to update the release documentation in distrib/notes/common/contents -KERNEL_SETS= GENERIC +KERNEL_SETS= GENERIC SMALL BUILD_KERNELS= INSTALL INSTALL_SMALL diff --git a/usr.sbin/sysinst/arch/prep/md.h b/usr.sbin/sysinst/arch/prep/md.h index caa7ae7..168868c 100644 --- a/usr.sbin/sysinst/arch/prep/md.h +++ b/usr.sbin/sysinst/arch/prep/md.h @@ -67,7 +67,7 @@ * or upgrade. The standard sets are: * base etc comp games man misc tests text xbase xcomp xetc xfont xserver */ -#define SET_KERNEL_1_NAME "kern-GENERIC" +#define SET_KERNEL_1_NAME "kern-SMALL" /* * Machine-specific command to write a new label to a disk. --- Makoto Fujiwara, Chiba, Japan, Narita Airport and Disneyland prefecture.