NetBSD-Bugs archive

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

port-macppc/54916: 9.0_RC1 macppc GENERIC_MD install kernel doesn't boot



>Number:         54916
>Category:       port-macppc
>Synopsis:       9.0_RC1 macppc GENERIC_MD install kernel doesn't boot
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-macppc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 01 15:35:00 +0000 2020
>Originator:     Izumi Tsutsui
>Release:        NetBSD 9.0_RC1
>Organization:
>Environment:
System: NetBSD 9.0_RC1 macppc
Architecture: powerpc
Machine: macppc
>Description:
GENERIC_MD kernel (GENERIC with embedded installation Memory Disk)
does not boot on my Apus2000: 

---
>> NetBSD/macppc OpenFirmware Boot, Revision 1.13 (Thu Nov 15 13:23:51 UTC 2018)
Cannot use bootpath
Using boot-device instead
Boot: netbsd-macppc-9.0_RC1-GENERIC_MD
no active packageno active package13972860DEFAULT CATCH!, code=FFF00700 at   %SRR0: 00E00680   %SRR1: 00083070 
 ok
0 >   ok
0 > 
---

The address "00E00680" is where bootloader itself loaded and it looks
overwritten by a loading GENREIC_MD kernel because it becomes too large.

% size -Ax netbsd-GENERIC_MD 
netbsd-GENERIC_MD  :
section                        size       addr
.text                      0x6ce1b4   0x100000
.rodata                    0x23ed47   0x7ce1b8
link_set_sysctl_funcs          0xb0   0xb3a218
link_set_modules              0x268   0xb3a2c8
link_set_domains               0x2c   0xb3a530
link_set_ieee80211_funcs       0x10   0xb3a55c
link_set_ah_chips              0x1c   0xb3a56c
link_set_ah_rfs                0x1c   0xb3a588
link_set_evcnts                0x2c   0xb3a5a4
link_set_dkwedge_methods        0x8   0xb3a5d0
link_set_prop_linkpools        0x20   0xb3a5d8
.data                      0x318f7c   0xb3a600
.sbss                           0x8   0xe53580
.bss                        0x288ec   0xe535c0
.note                          0x6c        0x0
.gnu.attributes                0x10        0x0
.note.netbsd.ident             0x18        0x0
Total                      0xc4ebdf
---

The bss section is at 0xe535c0 so loading data segment overwrites
bootloader (at 0xe00000) itself.

Note 8.1 GENERIC_MD works:
---
% size -Ax netbsd-macppc-8.1-GENERIC_MD 
netbsd-macppc-8.1-GENERIC_MD  :
section                        size       addr
.text                      0x62e848   0x100000
.rodata                    0x21de6f   0x72e848
link_set_sysctl_funcs          0x9c   0xa223a8
link_set_modules              0x188   0xa22444
link_set_ieee80211_funcs       0x10   0xa225cc
link_set_domains               0x24   0xa225dc
link_set_ah_chips              0x1c   0xa22600
link_set_ah_rfs                0x1c   0xa2261c
link_set_evcnts                0x2c   0xa22638
link_set_dkwedge_methods        0x8   0xa22664
link_set_prop_linkpools        0x20   0xa2266c
.data                      0x2c678c   0xa226c0
.sbss                           0x8   0xce8e60
.bss                        0x297cc   0xce8e80
.note                          0x6c        0x0
.gnu.attributes                0x10        0x0
.note.netbsd.ident             0x18        0x0
Total                      0xb3c98f

---
The end address is 0xce8e80 + 0x297cc = 0xd1264c in this case.

>How-To-Repeat:
Boot 9.0_RC1 GENERIC_MD kernel on macppc.

>Fix:
- Shring unnecessary options by "no options" in
  src/sys/arch/macppc/config/GENERIC_MD as src/sys/arch/arc/conf/RAMDISK ?
- Use "COPTS="-Os" etc?



Home | Main Index | Thread Index | Old Index