RE: Problems creating an install kernel for the hpcarm platform

"Jason Mitchell" <[email protected]>
Newsgroups gmane.os.netbsd.devel.installation,gmane.os.netbsd.ports.hpcarm
Message-ID <[email protected]>
I figured it out. My crunchgened binary was set up to with mount_ffs as a
link to mount. That was true in 1.6, but is no longer the case in 3.0.

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Jason Mitchell
> Sent: Sunday, April 01, 2007 11:24 PM
> To: [email protected]
> Cc: [email protected]
> Subject: Problems creating an install kernel for the hpcarm platform
>
>
> Hello,
>
> 	I'm trying to create an install kernel for the hpcarm
> platform and I'm
> running in to some difficulties. The hpcarm platform is a bit
> challenging in
> that the kernel (including embedded ram disk) can't be bigger than around
> 3.7Mbytes. If the kernel is too big it won't boot. On the hpcarm platform
> the NetBSD kernel is launched from WinCE using a program called
> hpcboot. If
> the kernel is too big hpcboot loads the kernel and then hangs --
> there might
> be some output on the serial port, I'm not sure. This problem has been
> around in the hpcarm port since at least NetBSD 1.6.
>
> 	I've managed to create a kernel with a 3400block (1.7MByte)
> embedded RAM
> disk. I did this by stripping out most of the options and all but one
> network card. On the embedded ramdisk is a crunchgened binary. The kernel
> boots up, gives the "Enter pathname of shell or press RETURN for /bin/sh:"
> prompt, then tries to run .profile. .profile tries to mount the md0a slice
> read/write and gives the following error message:
>
> 	proc: table is full - increase kern.maxproc or NPROC
> 	mount_ffs: vfork: Resource temporarily unavailable
>
> 	If I run sysctl -w kern.maxproc=512 then try the mount
> again I get a uvm
> fault:
>
> uvm_fault(0xc0380e54, e59ff000, 2, 0) -> e
> Fatal kernel mode data abort: 'Translation Fault (S)'
> trapframe: 0xc2bdac54
> FSR=c0491005, FAR=e59ff11c, spsr=a0000013
> r0 =c2bb30c8, r1 =e59ff114, r2 =c2bb30e0, r3 =e59ff114
> r4 =c0382120, r5 =c0000000, r6 =c2ba9544, r7 =00000000
> r8 =c0000000, r9 =c2bdad60, r10=00000003, r11=c2bdacc0
> r12=00000000, ssp=c2bdaca0, slr=c015efc8, pc =c015decc
>
> Stopped in pid 922.1 (gumby) at netbsd:pmap_alloc_11+0x1c:
> strne   r3,
> [r1, #0x008]
>
> 	The uvm fault has the same first three lines and the same
> last line every
> time. Some but not all of the registers are the same too. If I
> recompile the
> kernel with MAXUSERS=32, then I get this message:
>
> UVM: pid 10 (sh), uid 0 killed: out of swap
>
> 	If I do a ps awux, there are 10 processes running. 7 are
> names with []'s
> around them (kernel processes?) and the three are init, sh, and
> ps awux. By
> the way, gumby is the name of my crunchgen binary. I tried recompiling a
> kernel with more memory (the default kernel using 32MBytes, but
> the machine
> I'm testing on has 64MBytes) and that produced no change.
>
> 	My current theory is that when I created the install kernel
> I commented out
> some necessary option. My other choice is that this is a problem with
> versions. The kernel is 3.0.2 (I couldn't get cross compiling
> tools to build
> for 3.0) while the crunchgened binary comes from 3.0. Also the machine I'm
> doing the cross compiling on is an i386 running NetBSD 2.0.2.
> I've tried the
> kernel on multiple machines with no change in results. Also the
> standard 3.0
> kernel boots fine on an hpcarm box and NetBSD 3.0 runs without complaint.
>
> 	I'm attaching my kernel config. Please let me know if
> there's some option I
> need to enable or if there's some other fault in my set up. I'm
> setting this
> to tech-install, because I don't have any reason to believe this
> problem is
> specific to hpcarm. If there's another list I should send this to, please
> let me know.
>
> Thanks,
>
> Jason M.
>
>
> INSTALLv8
> #       $NetBSD: JORNADA720,v 1.41.2.1 2005/07/18 21:14:54 riz Exp $
> #
> #       JORNADA -- Windows-CE based jornada 720
> #
>
> include "arch/hpcarm/conf/std.hpcarm"
>
> #options        INCLUDE_CONFIG_FILE     # embed config file in
> kernel binary
>
> #ident          "GENERIC-$Revision: 1.41.2.1 $"
>
> # estimated number of users
> maxusers        8
>
> #options      DRAM_PAGES=16384 # 64Mb of memory is standard on Jornada728s
>
> # Standard system options
>
> options         RTC_OFFSET=0    # hardware clock is this many
> mins. west of
> GMT
> #options        NTP             # NTP phase/frequency locked loop
>
> # CPU options
>
> options         CPU_SA1110      # Support the SA1110 core
>
> # Architecture options
>
> # FPA options
>
> #options        ARMFPE          # ARM Ltd FPE
>
> # File systems
>
> file-system     FFS             # UFS
> #file-system    LFS             # log-structured file system
> file-system     MFS             # memory file system
> file-system     NFS             # Network file system
> #file-system    ADOSFS          # AmigaDOS-compatible file system
> #file-system    EXT2FS          # second extended file system (linux)
> #file-system    CD9660          # ISO 9660 + Rock Ridge file system
> file-system     MSDOSFS         # MS-DOS file system
> #file-system    FDESC           # /dev/fd
> #file-system    FILECORE        # Acorn filecore file system
> file-system     KERNFS          # /kern
> #file-system    NULLFS          # loopback file system
> #file-system    OVERLAY         # overlay filesystem
> #file-system    PORTAL          # portal filesystem (still experimental)
> file-system     PROCFS          # /proc
> #file-system    UMAPFS          # NULLFS + uid and gid remapping
> #file-system    UNION           # union file system
>
> # File system options
> #options        QUOTA           # UFS quotas
> #options        FFS_EI          # FFS Endian Independant support
> options         SOFTDEP         # FFS soft updates support.
> #options        FFS_NO_SNAPSHOT # ffs snapshots
> #options        NFSSERVER
>
> # Networking options
>
> #options        GATEWAY         # packet forwarding
> options         INET            # IP + ICMP + TCP + UDP
> #options        INET6           # IPV6
> #options        IPSEC           # IP security
> #options        IPSEC_ESP       # IP security (encryption part; define
> w/IPSEC)
> #options        IPSEC_NAT_T     # IPsec NAT traversal (NAT-T)
> #options        IPSEC_DEBUG     # debug for IP security
> #options        MROUTING        # IP multicast routing
> #options        PIM             # Protocol Independent Multicast
> #options        NS              # XNS
> #options        NSIP            # XNS tunneling over IP
> #options        ISO,TPIP        # OSI
> #options        EON             # OSI tunneling over IP
> #options        CCITT,LLC,HDLC  # X.25
> #options        NETATALK        # AppleTalk networking
> #options        PFIL_HOOKS      # pfil(9) packet filter hooks
> #options        PPP_BSDCOMP     # BSD-Compress compression support for PPP
> #options        PPP_DEFLATE     # Deflate compression support for PPP
> #options        PPP_FILTER      # Active filter support for PPP (requires
> bpf)
> #options        TCP_DEBUG       # Record last TCP_NDEBUG packets with
> SO_DEBUG
>
> # Compatibility options
>
> #options        COMPAT_43       # 4.3BSD compatibility.
> options         COMPAT_20       # NetBSD 2.0 compatibility.
> options         COMPAT_16       # NetBSD 1.6 compatibility.
> #options        COMPAT_14       # NetBSD 1.4 compatibility.
> #options        COMPAT_13       # NetBSD 1.3 compatibility.
> #options        COMPAT_12       # NetBSD 1.2 compatibility.
> #options        COMPAT_11       # NetBSD 1.1 compatibility.
> #options        COMPAT_10       # NetBSD 1.0 compatibility.
> #options        COMPAT_09       # NetBSD 0.9 compatibility.
> #options        TCP_COMPAT_42   # 4.2BSD TCP/IP bug compat. Not
> recommended.
> #options                COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.
>
> # Shared memory options
>
> #options        SYSVMSG         # System V-like message queues
> #options        SYSVSEM         # System V-like semaphores
> #options        SYSVSHM         # System V-like memory sharing
> #options        SHMMAXPGS=1024  # 1024 pages is the default
>
> # Device options
>
> options         MEMORY_DISK_HOOKS       # boottime setup of ramdisk
> options         MEMORY_DISK_ROOT_SIZE=3400      # Size in blocks
> options         MEMORY_DISK_IS_ROOT     # use memory disk as root
>
> # Miscellaneous kernel options
> #options        KTRACE          # system call tracing, a la ktrace(1)
> #options        IRQSTATS        # manage IRQ statistics
> #options        LKM             # loadable kernel modules
> #options        KMEMSTATS       # kernel memory statistics
> #options        SCSIVERBOSE     # Verbose SCSI errors
> #options        USERCONF        # userconf(4) support
> #options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)
> #options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in
> kernel
>
> #options        NFS_BOOT_DHCP
>
> # Development and Debugging options
>
> #options        BOOT_DUMP       # Enable memorydump at boot
> #options        PORTMASTER      # Enable PortMaster only options
> options         DIAGNOSTIC      # internal consistency checks
> #options        PMAP_DEBUG      # Enable pmap_debug_level code
> #options        IPKDB           # remote kernel debugging
> options         DDB             # in-kernel debugger
> #options        DDB_HISTORY_SIZE=100    # Enable history editing in DDB
> #makeoptions    DEBUG="-g"      # compile full symbol table
>
> config          netbsd  root on ? type ?
> #options        COMCONSOLE=0,CONADDR=0x3f8,CONUNIT=0
>
> # The main bus device
> mainbus0 at root
>
> # The boot CPU
> cpu0 at mainbus?
>
> saip0   at mainbus?
>
> # Serial
> options         CONSPEED=19200
> sacom*  at saip? addr 0xd000d000 size 0x24      intr 17
>
> #OS Timer
> saost*  at saip? addr 0x90000000 size 0x20
>
> # SA1111 companion chip
> sacc0   at saip? addr 0x40000000 size 0x2000
>
> # PCMCIA bus support
> sacpcic*        at sacc?
> pcmcia*         at sacpcic?
>
> # PCMCIA serial interfaces
> com*    at pcmcia? function ?           # Modems and serial cards
>
> # PCMCIA IDE controllers and disks
> wdc*    at pcmcia? function ?
> atabus* at ata?
> wd*     at atabus? drive ?
>
> # PCMCIA network interfaces
> #an*    at pcmcia? function ?           # Aironet PC4500/PC4800 (802.11)
> #awi*   at pcmcia? function ?           # BayStack 650/660 (802.11FH/DS)
> #cnw*   at pcmcia? function ?           # Xircom/Netwave AirSurfer
> #ep*    at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
> #mbe*   at pcmcia? function ?           # MB8696x based Ethernet
> ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
> #ray*   at pcmcia? function ?           # Raytheon Raylink (802.11)
> #sm*    at pcmcia? function ?           # Megahertz Ethernet
> #wi*    at pcmcia? function ?           # Lucent WaveLan IEEE (802.11)
> #xi*    at pcmcia? function ?           # Xircom CreditCard Ethernet
>
> #mhzc*  at pcmcia? function ?           # Megahertz Ethernet/Modem combo
> cards
> #com*   at mhzc?
> #sm*    at mhzc?
>
> # MII/PHY support
> #acphy* at mii? phy ?                   # DAltima AC101 and AMD Am79c874
> PHYs
> #amhphy*        at mii? phy ?                   # AMD 79c901 Ethernet PHYs
> #bmtphy*        at mii? phy ?                   # Broadcom BCM5201 and
> BCM5202 PHYs
> #brgphy*        at mii? phy ?                   # Broadcom BCM5400-family
> PHYs
> #dmphy* at mii? phy ?                   # Davicom DM9101 PHYs
> #exphy* at mii? phy ?                   # 3Com internal PHYs
> #glxtphy* at mii? phy ?                 # Level One LXT-1000 PHYs
> #gphyter* at mii? phy ?                 # NS83861 Gig-E PHY
> #icsphy*        at mii? phy ?                   # Integrated
> Circuit Systems
> ICS189x
> #inphy* at mii? phy ?                   # Intel 82555 PHYs
> #iophy* at mii? phy ?                   # Intel 82553 PHYs
> #lxtphy*        at mii? phy ?                   # Level One LXT-970 PHYs
> #makphy*        at mii? phy ?                   # Marvell Semiconductor
> 88E1000 PHYs
> nsphy*  at mii? phy ?                   # NS83840 PHYs
> nsphyter* at mii? phy ?                 # NS83843 PHYs
> #pnaphy*        at mii? phy ?                   # generic HomePNA PHYs
> #qsphy* at mii? phy ?                   # Quality Semiconductor
> QS6612 PHYs
> #sqphy* at mii? phy ?                   # Seeq 80220/80221/80223 PHYs
> #tlphy* at mii? phy ?                   # ThunderLAN PHYs
> #tqphy* at mii? phy ?                   # TDK Semiconductor PHYs
> ukphy*  at mii? phy ?                   # generic unknown PHYs
> #urlphy* at mii? phy ?                  # Realtek RTL8150L internal PHYs
>
> # Peripheral IO Controller
> #pioc0  at mainbus? base 0x00210000
>
> # Serial ports
> #com*   at pioc? offset 0x03f8 irq 10
> #com*   at pioc? offset 0x02f8 irq -1
> #com*   at pioc? offset 0x0338 irq -1
> #com*   at pioc? offset 0x0238 irq -1
>
> # Parallel ports
> #lpt*   at pioc? offset 0x0278 irq 0
> #lpt*   at pioc? offset 0x0378 irq -1
> #lpt*   at pioc? offset 0x03bc irq -1
>
> options         WSEMUL_VT100
> options         WSDISPLAY_DEFAULTSCREENS=2
> # see arch/hpcarm/dev/j720kbdmap.c for implemented layouts
> #options        J720KBD_LAYOUT=KB_FR
> options         FONT_VT220L8x10
> # The X server requires theses two options
> options         WSDISPLAY_COMPAT_USL
> options         WSDISPLAY_COMPAT_RAWKBD
>
> # physical console
> sed0            at saip?
> hpcfb*          at sed?
> wsdisplay*      at hpcfb?
> j720ssp0        at saip?        addr 0x80070000 size 0x100
> wskbd*          at j720ssp?     mux 1
> wsmouse*        at j720ssp?     mux 0
>
> pseudo-device   loop    1               # network loopback
> #pseudo-device  bpfilter 8              # packet filter
> #pseudo-device  sl      2               # CSLIP
> #pseudo-device  ppp     2               # PPP
> #pseudo-device  tun     2               # network tunneling over tty
> #pseudo-device  gre             2       # generic L3 over IP tunnel
> #pseudo-device  ipfilter 1              # ip filter
> #pseudo-device  gif     4               # IPv[46] over IPv[46] tunnel
> (RFC1933)
> #pseudo-device  faith   1               # IPv[46] tcp relay
> translation i/f
> #pseudo-device  stf     1               # 6to4 IPv6 over IPv4
> encapsulation
> #pseudo-device  strip   4               # STarmode Radio IP (Metricon
> Ricochet)
> #pseudo-device  vlan                    # IEEE 802.1q encapsulation
> pseudo-device   pty                     # pseudo-terminals
> #pseudo-device  tb      1               # tablet line discipline
> pseudo-device   vnd     4               # disk-like interface to files
> #pseudo-device  ccd     2               # concatenated disk devices
> #pseudo-device  cgd     2               # cryptographic disk devices
> #pseudo-device  raid    4               # RAIDframe disk driver
> #options        RAID_AUTOCONFIG         # auto-configuration of RAID
> components
> #pseudo-device  fss     4               # file system snapshot device
>
> pseudo-device   biconsdev 1             # build-in console device
> pseudo-device   wsmux
>
> pseudo-device   md      1               # Ramdisk driver
> pseudo-device   rnd                     # /dev/random and in-kernel
> generator
> #pseudo-device  clockctl                # user control of clock subsystem
>
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.