U-Boot SPL 2013.10-rc3-g9329ab16a204 (Jun 26 2014 - 09:43:22) SDRAM H5TQ2G83CFR initialization... done U-Boot 2013.10-rc3-g9329ab16a204 (Jun 26 2014 - 09:43:22) Board: ci20 (Ingenic XBurst JZ4780 SoC) DRAM: 1 GiB NAND: 8192 MiB MMC: jz_mmc msc1: 0 In: eserial3 Out: eserial3 Err: eserial3 Net: dm9000 ci20# dhcp ERROR: resetting DM9000 -> not responding dm9000 i/o: 0xb6000000, id: 0x90000a46 DM9000: running in 8 bit mode MAC: d0:31:10:ff:7e:89 operating at 100M full duplex mode BOOTP broadcast 1 DHCP client bound to address 192.168.0.47 *** Warning: no boot file name; using 'C0A8002F.img' Using dm9000 device TFTP from server 192.168.0.44; our IP address is 192.168.0.47 Filename 'C0A8002F.img'. Load address: 0x88000000 Loading: ################################################################# ####################################### 347.7 KiB/s done Bytes transferred = 1519445 (172f55 hex) ci20# bootm ## Booting kernel from Legacy Image at 88000000 ... Image Name: evbmips 7.99.5 (CI20) Image Type: MIPS NetBSD Kernel Image (gzip compressed) Data Size: 1519381 Bytes = 1.4 MiB Load Address: 80020000 Entry Point: 80020000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK subcommand not supported ci20# g 80020000 ## Starting applicatipmap_steal_memory: seg 0: 0x3b3 0x3b3 0xffff 0xffff Loaded initial symtab at 0x80304754, strtab at 0x8032d934, # entries 10499 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 7.99.5 (CI20) #170: Sat Mar 7 10:43:03 EST 2015 ml@blackbush:/home/build/obj_evbmips32/sys/arch/evbmips/compile/CI20 Ingenic XBurst total memory = 256 MB avail memory = 247 MB mainbus0 (root) cpu0 at mainbus0: 1200.00MHz (hz cycles = 120000, delay divisor = 12) cpu0: Ingenic XBurst (0x3ee1024f) Rev. 79 with unknown FPC type (0x330000) Rev. 0 cpu0: 32 TLB entries, 16MB max page size cpu0: 32KB/32B 8-way set-associative L1 instruction cache cpu0: 32KB/32B 8-way set-associative write-back L1 data cache com0 at mainbus0: Ingenic UART, working fifo com0: console apbus0 at mainbus0 dwctwo0 at apbus0: USB controller jzgpio at apbus0 not configured jzfb at apbus0 not configured usb0 at dwctwo0: USB revision 2.0 starting timer interrupt... uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1 uhub1 at uhub0 port 1: vendor 1a40 USB 2.0 Hub [MTT], class 9/0, rev 2.00/1.00, addr 2 uhub1: multiple transaction translators umass0 at uhub1 port 1 configuration 1 interface 0 umass0: LaCie P'9220 Mobile Drive, rev 2.10/0.06, addr 3 scsibus0 at umass0: 2 targets, 1 lun per target sd0 at scsibus0 target 0 lun 0: disk fixed sd0: 465 GB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors umass1 at uhub1 port 2 configuration 1 interface 0 umass1: Apple Inc. iPod, rev 2.00/0.01, addr 4 scsibus1 at umass1: 2 targets, 1 lun per target sd1 at scsibus1 target 0 lun 0: disk removable uhidev0 at uhub1 port 4 configuration 1 interface 0 uhidev0: vendor 04d9 VISENTA V1, rev 1.10/1.00, addr 5, iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd0 at ukbd0 (mux ignored) uhidev1 at uhub1 port 4 configuration 1 interface 1 uhidev1: vendor 04d9 VISENTA V1, rev 1.10/1.00, addr 5, iclass 3/1 uhidev1: 3 report ids ums0 at uhidev1 reportid 1: 3 buttons, W and Z dirs wsmouse0 at ums0 (mux ignored) uhid0 at uhidev1 reportid 2: input=2, output=0, feature=0 uhid1 at uhidev1 reportid 3: input=1, output=0, feature=0 sd1: fabricating a geometry sd1: 7601 MB, 950 cyl, 64 head, 32 sec, 4096 bytes/sect x 1946049 sectors uhub2 at uhub1 port 6: vendor 03eb Standard USB Hub, class 9/0, rev 1.10/3.00, addr 6 axe0 at uhub2 port 1 axe0: D-LINK CORPORAION DUB-E100, rev 2.00/10.01, addr 7 axe0: Ethernet address 00:80:c8:37:00:e1 ukphy0 at axe0 phy 3: OUI 0x0009c3, model 0x0005, rev. 4 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto root on sd0a dumps on sd0b kern.module.path=/stand/evbmips/7.99.5/modules WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE! init: copying out path `/sbin/init' 11 pid 1(init): ABI set to O32 (e_flags=0x70001007) Thu Mar 5 18:27:33 UTC 2015 Not checking /: fs_passno = 0 in /etc/fstab swapctl: adding /dev/sd0b as swap device at priority 0 Starting file system checks: random_seed: /var/db/entropy-file: Not present Setting tty flags. Setting sysctl variables: ddb.onpanic: 1 -> 0 Starting network. Hostname: ci20 IPv6 mode: autoconfigured host Configuring network interfaces: axe0. Adding interface aliases:. add net default: gateway 192.168.0.1 Waiting for DAD to complete for statically configured addresses... axe0: link state UP (was UNKNOWN) Building databases: dev, utmp, utmpx. Starting syslogd. Starting rpcbind. Mounting all file systems... Clearing temporary files. Checking quotas: done. Setting securelevel: kern.securelevel: 0 -> 1 Starting virecover. Checking for core dump... savecore: no core dump Starting local daemons:. Updating motd. Starting sshd. Starting inetd. Starting cron. Thu Mar 5 18:27:55 UTC 2015 NetBSD/evbmips (ci20) (console) login:
Recent commits just added support for the Raspberry Pi 2 inside NetBSD.
It comes with all the peripherals and GPU acceleration features that are available on the first Raspberry Pi, together with a Cortex A7 processor capable of running at 900MHz.
Head directly to the installation notes available in Raspberry Pi's entry in the NetBSD Wiki for a quick way to get your system up and rolling.
Stay tuned for multiprocessor support!
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 7.99.5 (RPI2) #6: Fri Mar 6 16:33:41 GMT 2015 nick@zoom:/wrk/commit/obj.evbearmv7hf-el/wrk/commit/src/sys/arch/evbarm/compile/RPI2 total memory = 944 MB avail memory = 928 MB sysctl_createv: sysctl_create(machine_arch) returned 17 timecounter: Timecounters tick every 10.000 msec mainbus0 (root) cpu0 at mainbus0 core 0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core) cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu0: isar: [0]=0x2101110 [1]=0x13112111 [2]=0x21232041 [3]=0x11112131, [4]=0x10011142, [5]=0 cpu0: mmfr: [0]=0x10101105 [1]=0x40000000 [2]=0x1240000 [3]=0x2102211 cpu0: pfr: [0]=0x1131 [1]=0x11011 cpu0: 32KB/32B 2-way L1 VIPT Instruction cache cpu0: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache cpu0: 512KB/64B 8-way write-through L2 PIPT Unified cache vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals vfp0: mvfr: [0]=0x10110222 [1]=0x11111111 cpu1 at mainbus0 core 1: disabled (unresponsive) cpu2 at mainbus0 core 2: disabled (unresponsive) cpu3 at mainbus0 core 3: disabled (unresponsive) obio0 at mainbus0 bcmicu0 at obio0 armgtmr0 at obio0: ARMv7 Generic 64-bit Timer (19200 kHz) armgtmr0: interrupting on irq 99 timecounter: Timecounter "armgtmr0" frequency 19200000 Hz quality 500 bcmmbox0 at obio0 intr 65: VC mailbox vcmbox0 at bcmmbox0 vchiq0 at obio0 intr 66: BCM2835 VCHIQ bcmpm0 at obio0: Power management, Reset and Watchdog controller bcmdmac0 at obio0: DMA0 DMA2 DMA4 DMA5 DMA8 DMA9 DMA10 bcmrng0 at obio0: RNG plcom0 at obio0 intr 57 plcom0: txfifo disabled plcom0: console genfb0 at obio0: switching to framebuffer console genfb0: framebuffer at 0x3d6fa000, size 1280x1024, depth 32, stride 5120 wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation) wsmux1: connecting to wsdisplay0 wsdisplay0: screen 1-3 added (default, vt100 emulation) sdhc0 at obio0 intr 62: SDHC controller sdhc0: interrupting on intr 62 dwctwo0 at obio0 intr 9: USB controller bcmspi0 at obio0 intr 54: SPI spi0 at bcmspi0: SPI bus bsciic0 at obio0 intr 53: BSC0 iic0 at bsciic0: I2C bus bsciic1 at obio0 intr 53: BSC1 iic1 at bsciic1: I2C bus bcmgpio0 at obio0: GPIO [0...31] gpio0 at bcmgpio0: 32 pins bcmgpio1 at obio0: GPIO [32...53] gpio1 at bcmgpio1: 22 pins usb0 at dwctwo0: USB revision 2.0 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0 sdhc0: SD Host Specification 3.0, rev.153 sdhc0: using DMA transfer sdmmc0 at sdhc0 slot 0 uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1 uhub0: 1 port with 1 removable, self powered ld0 at sdmmc0: <0x03:0x5344:SL08G:0x80:0x0bcb2d39:0x08a> ld0: 7580 MB, 3850 cyl, 64 head, 63 sec, 512 bytes/sect x 15523840 sectors ld0: 4-bit width, bus clock 50.000 MHz uhub1 at uhub0 port 1: vendor 0424 product 9514, class 9/0, rev 2.00/2.00, addr 2 uhub1: multiple transaction translators uhub1: 5 ports with 4 removable, self powered usmsc0 at uhub1 port 1 usmsc0: vendor 0424 product ec00, rev 2.00/2.00, addr 3 usmsc0: Ethernet address b8:27:eb:13:82:0f ukphy0 at usmsc0 phy 1: OUI 0x00800f, model 0x000c, rev. 3 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto boot device: ld0 root on ld0a dumps on ld0b mountroot: trying nfs... mountroot: trying msdos... mountroot: trying ext2fs... mountroot: trying ffs... root file system type: ffs kern.module.path=/stand/evbarm/7.99.5/modules vchiq: local ver 6 (min 3), remote ver 6. vcaudio0 at vchiq0: auds vchiq_get_state: g_state.remote->initialised != 1 (0) vchiq: vchiq_initialise: videocore initialized after 1 retries WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE!
The Hardkernel ODROID-C1 is a quad-core ARMv7 development board that features an Amlogic S805 SoC (quad-core Cortex-A5 @ 1.5GHz), 1GB RAM and gigabit ethernet for $35 USD.
The ODROID-C1 is the first Cortex-A5 board supported by NetBSD. Matt Thomas (matt@) added initial Cortex-A5 support to the tree, and based on his work I added support for the Amlogic S805 SoC.
NetBSD -current (and soon 7.0) includes support for this board with the ODROID-C1 kernel. The following hardware is supported:
- Cortex-A5 (multiprocessor)
- CPU frequency scaling
- L2 cache controller
- Interrupt controller
- Cortex-A5 global timer
- Cortex-A5 watchdog
- UART console
- USB OTG controller
- Gigabit ethernet
- SD card slot
- Hardware random number generator
More information on the NetBSD/evbarm on Hardkernel ODROID-C1 wiki page.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 7.99.5 (ODROID-C1) #350: Wed Mar 18 19:45:17 ADT 2015 Jared@Jared-PC:/cygdrive/d/netbsd/src/sys/arch/evbarm/compile/obj/ODROID-C1 total memory = 1024 MB avail memory = 1008 MB sysctl_createv: sysctl_create(machine_arch) returned 17 mainbus0 (root) cpu0 at mainbus0 core 0: 1512 MHz Cortex-A5 r0p1 (Cortex V7A core) cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu0: 32KB/32B 2-way L1 VIPT Instruction cache cpu0: 32KB/32B 4-way write-back-locking-C L1 PIPT Data cache cpu0: 512KB/32B 8-way write-back L2 PIPT Unified cache vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals cpu1 at mainbus0 core 1 cpu2 at mainbus0 core 2 cpu3 at mainbus0 core 3 armperiph0 at mainbus0 armgic0 at armperiph0: Generic Interrupt Controller, 256 sources (245 valid) armgic0: 32 Priorities, 224 SPIs, 5 PPIs, 16 SGIs a9tmr0 at armperiph0: A5 Global 64-bit Timer (378 MHz) a9tmr0: interrupting on irq 27 a9wdt0 at armperiph0: A5 Watchdog Timer, default period is 12 seconds arml2cc0 at armperiph0: ARM PL310 r3p3 L2 Cache Controller (disabled) arml2cc0: cache enabled amlogicio0 at mainbus0 amlogiccom0 at amlogicio0 port 0: console amlogiccom0: interrupting at irq 122 amlogicrng0 at amlogicio0 dwctwo0 at amlogicio0 port 0: USB controller dwctwo1 at amlogicio0 port 1: USB controller awge0 at amlogicio0: Gigabit Ethernet Controller awge0: interrupting on irq 40 awge0: Ethernet address: 00:1e:06:c3:7e:be rgephy0 at awge0 phy 0: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 6 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto rgephy1 at awge0 phy 1: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 6 rgephy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto amlogicsdhc0 at amlogicio0 port 1: SDHC controller amlogicsdhc0: interrupting on irq 110 usb0 at dwctwo0: USB revision 2.0 usb1 at dwctwo1: USB revision 2.0 cpu3: 1512 MHz Cortex-A5 r0p1 (Cortex V7A core) cpu3: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu3: 32KB/32B 2-way L1 VIPT Instruction cache cpu3: 32KB/32B 4-way write-back-locking-C L1 PIPT Data cache cpu3: 512KB/32B 8-way write-back L2 PIPT Unified cache vfp3 at cpu3: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals cpu2: 1512 MHz Cortex-A5 r0p1 (Cortex V7A core) cpu2: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu2: 32KB/32B 2-way L1 VIPT Instruction cache cpu2: 32KB/32B 4-way write-back-locking-C L1 PIPT Data cache cpu2: 512KB/32B 8-way write-back L2 PIPT Unified cache vfp2 at cpu2: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals cpu1: 1512 MHz Cortex-A5 r0p1 (Cortex V7A core) cpu1: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu1: 32KB/32B 2-way L1 VIPT Instruction cache cpu1: 32KB/32B 4-way write-back-locking-C L1 PIPT Data cache cpu1: 512KB/32B 8-way write-back L2 PIPT Unified cache vfp1 at cpu1: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals sdmmc0 at amlogicsdhc0 uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1 uhub1 at usb1: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1 ld0 at sdmmc0: <0x03:0x5344:SU08G:0x80:0x1cda770b:0x0ca> ld0: 7580 MB, 3850 cyl, 64 head, 63 sec, 512 bytes/sect x 15523840 sectors ld0: 4-bit width, bus clock 50.000 MHz uhub2 at uhub1 port 1: vendor 05e3 USB2.0 Hub, class 9/0, rev 2.00/32.98, addr 2 uhub2: multiple transaction translators boot device: ld0 root on ld0f dumps on ld0b root file system type: ffs kern.module.path=/stand/evbarm/7.99.5/modules WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE! Wed Mar 18 22:45:46 UTC 2015 Starting root file system check: /dev/rld0f: file system is clean; not checking Starting file system checks: /dev/rld0e: 5 files, 52556 free (13139 clusters) random_seed: /var/db/entropy-file: Not present Setting tty flags. Setting sysctl variables: ddb.onpanic: 1 -> 0 Starting network. Hostname: empusa IPv6 mode: host Configuring network interfaces:. Adding interface aliases:. Waiting for DAD completion for statically configured addresses... Starting dhcpcd. Building databases: dev, utmp, utmpx. Starting syslogd. Mounting all file systems... Clearing temporary files. Updating fontconfig cache: done. Creating a.out runtime link editor directory cache. Checking quotas: done. Setting securelevel: kern.securelevel: 0 -> 1 Starting virecover. Starting local daemons:. Updating motd. Starting ntpd. Starting sshd. Starting mdnsd. Mar 18 22:46:07 empusa mdnsd: mDNSResponder (Engineering Build) starting Starting inetd. Starting cron. Wed Mar 18 22:46:08 UTC 2015 NetBSD/evbarm (empusa) (console) login:
AsiaBSDCon 2015 was held in Tokyo on 12-15 March. It was my first time attending, and with a big NetBSD community in Japan I was very interested to go. Links to most of the talks and slides mentioned below are on the main NetBSD presentations site.
On Friday we had both a closed NetBSD developer session in the morning and an open NetBSD birds of a feather session in the evening. We had developers from Europe, the US and Canada as well as Japan. The BoF session, with around 25 attendees, had a talk by Kazuya Goda, who is not yet a developer but will apply soon, on Development of vxlan(4) using rumpkernel. Vxlan tunnels ethernet frames over UDP and is often used in datacentre multi-tenant applications and for VPN applications. Using the rump kernel made porting from the FreeBSD code extremely easy, with the code being tested in userspace with a tunnel to a FreeBSD box to test interoperability and no changes needed to make it run in kernel.
Taylor Campbell (riastradh@) talked about the staus of DRM/KMS, the direct rendering framework for graphics that is in NetBSD current and will be in 7.0. He had fixed several bugs in the days before the talk, so now is a good time to try out the code on your hardware before 7.0 is out. Porting to non x86 platforms that have compatible cards (radeon) would also be useful at this point.
Makoto Fujiwara (mef@) and Ryo Onodera (ryoon@) talked about pkgsrc, including how to package up software in github, which is now really easy. With the closure of Google Code an whole lot more projects are moving to Github, so it is useful that packaging is so easy.
Jun Ebihara (jun@) gave an overview of the Japan NetBSD users group, which travels all around Japan to a large number of events with a large collection of mainly very small machines which run NetBSD current. These include new machines like the Raspberry Pi and Cubieboard as well as old favourites such as the Zaurus, Jornada and Dreamcast. These were also on display at the conference, and got rather more attention than the very noisy blade server running FreeBSD opposite.
The conference proper, on Friday and Saturday had many NetBSD related talks. A highlight was Dennis Ferguson's (dennis@) keynote on modernising the BSD network stack, based on his experience building commercial BSD based routers; he was a founding engineer at Juniper. We got some history, as well as some detailed recommendations about structuring the network stack structures to match modern protocol hierarchies.
Still on networking, Ryota Ozaki (ozaki@) talked about the work that IIJ, conference sponsors and home to many of the Japanese developers, were doing on supporting MSI interrupts and multi-queue devices, improving performance on multicore systems. Martin Husemann (martin@) talked about running big endian ARM on new hardware, a platform that is not used much and found some bugs.
On Sunday, Taylor talked about doing cross compilation in pkgsrc properly. FreeBSD has taken the aproach of using qemu userspace emulation, but there are problems with this that have to be fudged around, while almost everything can be cross compiled properly with dedication. Perl and Python are an issue, and need volunteers. I (justin@) gave a talk about the rump kernel, and how to make driver development and debugging easier.
There was also lots of excellent food, interesting talks about the rest of the BSD family, and a lot of conversations about many aspects of NetBSD. I highly recommend coming along next year. The call for papers will be earlier, so start planning now.