Port-prep archive

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

.bootimage with GENERIC kernel (Re: (PReP 7248)



I wrote in the mail:
| To: port-prep%NetBSD.org@localhost
| Cc: port-powerpc%NetBSD.org@localhost
| 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.


Home | Main Index | Thread Index | Old Index