Re: Useless and missing kernel variants in our builds

Izumi Tsutsui <[email protected]>
Newsgroups gmane.os.netbsd.ports.arm
Message-ID <[email protected]>
I wrote:
> > What would be really usefull for this kernel would be a .ub variant.
> > For the real kernel we do exactly that - why not for the _INSTALL version?
> 
> Maybe we need the same ${TOOL_MKUBOOTIAMGE} magics in
> src/distrib/distrib/evbarm/instkernel/instkernel/Makefile
> as mk.marvell does?
> 
> > Can we find a simple way to drop the useless variants and add the missing
> > ones?
> 
> We should have a simple script to invoke ${OBJCOPY} and
> ${TOOL_MKUBOOTIMAGE} ant share it between mk.marvell and
> instkernel/Makefile?

On a build host (sd1 is a 32GB SD):
---
% ftp https://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/202407281510Z/evbarm-earmv5/installation/instkernel/netbsd-SHEEVAPLUG_INSTALL.img.gz
Trying [2a04:4e42:8c::262]:443 ...
Requesting https://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/202407281510Z/evbarm-earmv5/installation/instkernel/netbsd-SHEEVAPLUG_INSTALL.img.gz
100% |***********************************|  4230 KiB    1.73 MiB/s    00:00 ETA
4331699 bytes retrieved in 00:02 (1.73 MiB/s)
% gunzip netbsd-SHEEVAPLUG_INSTALL.img.gz
% /s/netbsd-10/src/obj.evbarm/tooldir.NetBSD-10.0-i386/bin/nbmkubootimage -A arm -T kernel -a 0x00008000 -n "NetBSD/sheevaplug 10.99.11" netbsd-SHEEVAPLUG_INSTALL.img netbsd-SHEEVAPLUG_INSTALL.ub
 image type:  uimg
 magic:       0x27051956
 time:        Mon Jul 29 03:03:19 2024
 size:        11158096
 load addr:   0x00008000
 entry point: 0x00008000
 data crc:    0xaea9acb1
 os:          2 (netbsd)
 arch:        2 (arm)
 type:        2 (kernel)
 comp:        0 (none)
 name:        NetBSD/sheevaplug 10.99.11
 header crc:  0xdb0534ac
% su
# fdisk -u sd1
fdisk: primary partition table invalid, no magic in sector 0
fdisk: Cannot determine the number of heads
Disk: /dev/rsd1
NetBSD disklabel disk geometry:
cylinders: 30720, heads: 64, sectors/track: 32 (2048 sectors/cylinder)
total sectors: 62914560, bytes/sector: 512

BIOS disk geometry:
cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 62914560

Partitions aligned to 16065 sector boundaries, offset 63

Do you want to change our idea of what BIOS thinks? [n] 

Partition table:
0: <UNUSED>
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector disabled.
No active partition.
Drive serial number: 0 (0x00000000)
Which partition do you want to change?: [none] 0
The data for partition 0 is:
<UNUSED>
sysid: [0..255 default: 169] 12
start: [0..3916cyl default: 63, 0cyl, 0MB] 2048
size: [0..3916cyl default: 62912512, 3916cyl, 30719MB] 260096
bootmenu: [] (space to clear)

Partition table:
0: Primary DOS with 32 bit FAT - LBA (sysid 12)
    start 2048, size 260096 (127 MB, Cyls 0/32/33-16/81/1)
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector disabled.
No active partition.
Drive serial number: 0 (0x00000000)
Which partition do you want to change?: [none] 

We haven't written the MBR back to disk yet.  This is your last chance.
Partition table:
0: Primary DOS with 32 bit FAT - LBA (sysid 12)
    start 2048, size 260096 (127 MB, Cyls 0/32/33-16/81/1)
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector disabled.
No active partition.
Drive serial number: 0 (0x00000000)
Should we write new partition table? [n] y
mirage# newfs_msdos /dev/rsd1e
/dev/rsd1e: 259808 sectors in 32476 FAT16 clusters (4096 bytes/cluster)
MBR type: 6
bps=512 spc=8 res=1 nft=2 rde=512 mid=0xf0 spf=127 spt=32 hds=64 hid=0 bsec=260096
# mount /dev/sd1e /mnt
# cp netbsd-SHEEVAPLUG_INSTALL.ub /mnt
# umount /mnt
# 
---

On SHEEVAPLUG:
---
U-Boot 2011.12 (Mar 11 2012 - 18:59:46)
Marvell-Sheevaplug - eSATA - SD/MMC

SoC:   Kirkwood 88F6281_A1
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot: 0 
Marvell>> mmc init
SDHC found. Card desciption is:
Manufacturer:       0x00, OEM "\x00\x00"
Product name:       "\x00\x00\x00\x00\x00", revision 0.0
Serial number:      1356
Manufacturing date: 10/2018
CRC:                0x00, b0 = 0
mmc1 is available
Marvell>> fatload mmc 0:1 0x00800000 /netbsd-SHEEVAPLUG_INSTALL.ub
reading /netbsd-SHEEVAPLUG_INSTALL.ub

11158160 bytes read
Marvell>> bootm 0x00800000
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   NetBSD/sheevaplug 10.99.11
   Image Type:   ARM NetBSD Kernel Image (uncompressed)
   Data Size:    11158096 Bytes = 10.6 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
## Transferring control to NetBSD stage-2 loader (at address 00008000) ...

[   1.0000000] NetBSD/evbarm (sheevaplug) booting ...
[   1.0000000] [ Kernel symbol table missing! ]
[   1.0000000] Loaded initial symtab at 0xc09b5cb0, strtab at 0xc09fe910, # entries 18611
[   1.0000000] pmap_postinit: Allocated 35 static L1 descriptor tables
[   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[   1.0000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[   1.0000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[   1.0000000]     2024
[   1.0000000]     The NetBSD Foundation, Inc.  All rights reserved.
[   1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[   1.0000000]     The Regents of the University of California.  All rights reserved.

[   1.0000000] NetBSD 10.99.11 (SHEEVAPLUG_INSTALL) #0: Sun Jul 28 14:55:30 UTC 2024
[   1.0000000] 	[email protected]:/usr/src/sys/arch/evbarm/compile/SHEEVAPLUG_INSTALL
[   1.0000000] total memory = 512 MB
[   1.0000000] avail memory = 490 MB
[   1.0000000] mainbus0 (root)
[   1.0000000] cpu0 at mainbus0 core 0: Sheeva 88SV131 rev 1 (ARM9E-S V5TE core)
[   1.0000000] cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled
[   1.0000000] cpu0: L1 16KB/32B 4-way (128 set) VIVT Instruction cache
[   1.0000000] cpu0: L1 16KB/32B 4-way (128 set) write-back-locking-C VIVT Data cache
[   1.0000000] mvsoc0 at mainbus0: Marvell 88F6281 Rev. A1  Kirkwood
[   1.0000000] mvsoc0: CPU Clock 1200.000 MHz  SysClock 400.000 MHz  TClock 200.000 MHz
[   1.0000000] mvsoctmr0 at mvsoc0 unit 0 offset 0x20300-0x203ff irq 65: Marvell SoC Timer
[   1.0000000] mvsocgpp0 at mvsoc0 unit 0 offset 0x10100-0x101ff irq 35: Marvell SoC General Purpose I/O Port Interface
[   1.0000000] mvsocgpp0: 50 gpio pins
[   1.0000000] mvsocgpp0: interrupts 96..103, intr 35
[   1.0000000] mvsocgpp0: interrupts 104..111, intr 36
[   1.0000000] mvsocgpp0: interrupts 112..119, intr 37
[   1.0000000] mvsocgpp0: interrupts 120..127, intr 38
[   1.0000000] mvsocgpp0: interrupts 128..135, intr 39
[   1.0000000] mvsocgpp0: interrupts 136..143, intr 40
[   1.0000000] mvsocgpp0: interrupts 144..151, intr 41
[   1.0000000] mvsocgpp0:   Data Out:                 	0x20000000
[   1.0000000] mvsocgpp0:   Data Out Enable Control:  	0xffffffff
[   1.0000000] mvsocgpp0:   Data Blink Enable:        	0x00000000
[   1.0000000] mvsocgpp0:   Data In Polarity:         	0x00000000
[   1.0000000] mvsocgpp0:   Data In:                  	0x00000080
[   1.0000000] mvsocgpp0:   Interrupt Cause:          	0x00000000
[   1.0000000] mvsocgpp0:   Interrupt Mask:           	0x00000000
[   1.0000000] mvsocgpp0:   Interrupt Level Mask:     	0x00000000
[   1.0000000] mvsocgpp0:   High Data Out:            	0x00020000
[   1.0000000] mvsocgpp0:   High Data Out Enable Ctrl:	0xffffffff
[   1.0000000] mvsocgpp0:   High Blink Enable:        	0x00000000
[   1.0000000] mvsocgpp0:   High Data In Polarity:    	0x00000000
[   1.0000000] mvsocgpp0:   High Data In:             	0x00014000
[   1.0000000] mvsocgpp0:   High Interrupt Cause:     	0x00000000
[   1.0000000] mvsocgpp0:   High Interrupt Mask:      	0x00000000
[   1.0000000] mvsocgpp0:   High Interrupt Level Mask:	0x00000000
[   1.0000000] gpio0 at mvsocgpp0: 50 pins
[   1.0000000] mvsocrtc0 at mvsoc0 unit 0 offset 0x10300-0x10317: Marvell SoC Real Time Clock
[   1.0000000] com0 at mvsoc0 unit 0 offset 0x12000-0x1201f irq 33: ns16550a, 16-byte FIFO
[   1.0000000] com0: console
[   1.0000000] com1 at mvsoc0 unit 1 offset 0x12100-0x1211f irq 34: ns16550a, 16-byte FIFO
[   1.0000000] ehci0 at mvsoc0 unit 0 offset 0x50000-0x50fff irq 19: Marvell USB 2.0 Interface
[   1.0000000] usb0 at ehci0: USB revision 2.0
[   1.0000000] gtidmac0 at mvsoc0 unit 0 offset 0x60000-0x60fff: Marvell IDMA Controller/XOR Engine
[   1.0000000] gtidmac0: XOR Engine 4 channels, intr 5, 6, 7, 8
[   1.0000000] gttwsi0 at mvsoc0 unit 0 offset 0x11000-0x110ff irq 29: Marvell TWSI controller
[   1.0000000] iic0 at gttwsi0: I2C bus
[   1.0000000] mvcesa0 at mvsoc0 unit 0 offset 0x3d000-0x3dfff irq 22: Marvell Cryptographic Engines and Security Accelerator
[   1.0000000] mvgbec0 at mvsoc0 unit 0 offset 0x70000-0x73fff: Marvell Gigabit Ethernet Controller
[   1.0000000] mvgbe0 at mvgbec0 port 0 irq 11
[   1.0000000] mvgbe0: Ethernet address 02:50:43:a7:8e:bf
[   1.0000000] makphy0 at mvgbe0 phy 0: Marvell 88E1318S Gigabit PHY, rev. 0
[   1.0000000] makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
[   1.0000000] mvgbec1 at mvsoc0 unit 1 offset 0x74000-0x77fff: Marvell Gigabit Ethernet Controller
[   1.0000000] mvgbe at mvgbec1 port 0 not configured
[   1.0000000] mvpex0 at mvsoc0 unit 0 offset 0x40000-0x41fff irq 9: Marvell PCI Express Interface
[   1.0000000] pci0 at mvpex0
[   1.0000000] vendor 11ab product 6281 (miscellaneous memory, revision 0x03) at pci0 dev 0 function 0 not configured
[   1.0000000] mvsata0 at mvsoc0 unit 0 offset 0x80000-0x87fff irq 21: Marvell Serial-ATA Host Controller (SATAHC)
[   1.0000000] mvsata0: GenIIe, 1hc, 2port/hc
[   1.0000000] atabus0 at mvsata0 channel 0
[   1.0000000] atabus1 at mvsata0 channel 1
[   1.0000000] mvsdio0 at mvsoc0 unit 0 offset 0x90000-0x9ffff irq 28: Marvell Secure Digital Input/Output Interface
[   1.0000000] sdmmc0 at mvsdio0
[   1.0000030] WARNING: system needs entropy for security; see entropy(7)
[   1.0299705] uhub0 at usb0: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[   1.1399639] sdmmc0: SD card status: 4-bit, C10
[   1.1399639] ld0 at sdmmc0: <0x00:0x0000::0x00:0x0000054c:0x04a>
[   1.1399639] ld0: 30720 MB, 7801 cyl, 128 head, 63 sec, 512 bytes/sect x 62914560 sectors
[   1.1599749] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz
[   2.1299611] boot device: <unknown>
[   2.1299611] root on md0a dumps on md0b
[   2.1299611] mountroot: trying ffs...
[   2.1299611] root file system type: ffs
[   2.1299611] kern.module.path=/stand/evbarm/10.99.11/modules
[   2.1516262] init: copying out flags `-s' 3
[   2.1516262] init: copying out path `/sbin/init' 11
erase ^?, werase ^W, kill ^U, intr ^C

 :

---
Izumi Tsutsui
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.