<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6005928841320502765</id><updated>2011-04-21T21:06:00.195-07:00</updated><title type='text'>Firmware for repurposed devices</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://embedexpert.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6005928841320502765/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://embedexpert.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>luasi</name><uri>http://www.blogger.com/profile/16929291497306297870</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6005928841320502765.post-786468450942123442</id><published>2008-08-03T17:37:00.000-07:00</published><updated>2008-08-03T17:45:21.413-07:00</updated><title type='text'>The DNS323 dmesg output</title><content type='html'>Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,&lt;br /&gt;    2006, 2007, 2008&lt;br /&gt;    The NetBSD Foundation, Inc.  All rights reserved.&lt;br /&gt;Copyright (c) 1982, 1986, 1989, 1991, 1993&lt;br /&gt;    The Regents of the University of California.  All rights reserved.&lt;br /&gt;&lt;br /&gt;NetBSD 4.99.70 (DNS323) #1: Mon Jul 28 17:05:56 UTC 2008&lt;br /&gt;    luasi@tbox:/usr/obj/sys/arch/evbarm/compile/DNS323&lt;br /&gt;total memory = 65536 KB&lt;br /&gt;avail memory = 60644 KB&lt;br /&gt;timecounter: Timecounters tick every 10.000 msec&lt;br /&gt;mainbus0 (root)&lt;br /&gt;cpu0 at mainbus0: ARM926EJ-S rev 0 (ARM9EJ-S core)&lt;br /&gt;cpu0: DC enabled IC enabled WB enabled EABT branch prediction enabled&lt;br /&gt;cpu0: 32KB/32B 1-way Instruction cache&lt;br /&gt;cpu0: 32KB/32B 1-way write-back-locking-C Data cache&lt;br /&gt;orion0 at mainbus0: Marvell MV88F5182 SoC Rev. A0 Orion1&lt;br /&gt;orion0: CPU Clock 500.000 MHz  SysClock 166.666 MHz  TClock 166.664 MHz&lt;br /&gt;oriontmr0 at orion0 addr 0xf1020300-0xf10203ff: Marvell Orion Timer&lt;br /&gt;timecounter: Timecounter "oriontmr" frequency 0 Hz quality 100&lt;br /&gt;oriongpp0 at orion0 addr 0xf1010100-0xf10101ff: Marvell Orion General Purpose I/O Port Interface&lt;br /&gt;oriongpp0:   Data Out:                     0x00000006&lt;br /&gt;oriongpp0:   Data Out Enable Control:      0x0000c6c1&lt;br /&gt;oriongpp0:   Data Blink Enable:            0x00000010&lt;br /&gt;oriongpp0:   Data In Polarity:             0x00000000&lt;br /&gt;oriongpp0:   Data In:                      0x000006d7&lt;br /&gt;oriongpp0:   Data Interrupt Cause:         0x00000000&lt;br /&gt;oriongpp0:   Data Interrupt Mask:          0x00000000&lt;br /&gt;oriongpp0:   Data Interrupt Level Mask:    0x00000000&lt;br /&gt;com0 at orion0 addr 0xf1012000-0xf101201f irq 3: ns16550a, working fifo&lt;br /&gt;com0: console&lt;br /&gt;mvsata0 at orion0 addr 0xf1080000-0xf1085fff irq 29: Marvell Serial-ATA Host Controller (SATAHC)&lt;br /&gt;mvsata0: GenIIe, 1hc, 2port/hc&lt;br /&gt;atabus0 at mvsata0 channel 0&lt;br /&gt;atabus1 at mvsata0 channel 1&lt;br /&gt;ehci0 at orion0 addr 0xf1050000-0xf1051fff irq 17: Marvell Orion USB 2.0 Interface&lt;br /&gt;ehci0: EHCI version 1.0&lt;br /&gt;usb0 at ehci0: USB revision 2.0&lt;br /&gt;ehci1 at orion0 addr 0xf10a0000-0xf10a1fff irq 12: Marvell Orion USB 2.0 Interface&lt;br /&gt;ehci1: EHCI version 1.0&lt;br /&gt;usb1 at ehci1: USB revision 2.0&lt;br /&gt;orionpex0 at orion0 addr 0xf1040000-0xf1041fff irq 11: Marvell Orion PCI Express Interface&lt;br /&gt;pci0 at orionpex0&lt;br /&gt;pci0: i/o space, memory space enabled&lt;br /&gt;vendor 0x11ab product 0x5182 (miscellaneous memory, revision 0x02) at pci0 dev 0 function 0 not configured&lt;br /&gt;oriongbe0 at orion0 addr 0xf1072000-0xf1073fff: Marvell Orion Gigabit Ethernet Controller&lt;br /&gt;oriongbe0: Ethernet address 00:00:00:00:00:00&lt;br /&gt;makphy0 at oriongbe0 phy 8: Marvell 88E1111 Gigabit PHY, rev. 2&lt;br /&gt;makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto&lt;br /&gt;oriontwsi0 at orion0 addr 0xf1011000-0xf101101f irq 5: Orion TWSI controller&lt;br /&gt;iic0 at oriontwsi0: I2C bus&lt;br /&gt;rs5c372rtc0 at iic0 addr 0x32: RICOH RS5C372[AB] Real-time Clock&lt;br /&gt;oriontwsi_check_status: 18 != 20&lt;br /&gt;rs5c372rtc0: rs5c372rtc_reg_write: failed to write reg15&lt;br /&gt;oriontwsi_check_status: 18 != 20&lt;br /&gt;rs5c372rtc0: rs5c372rtc_reg_write: failed to write reg14&lt;br /&gt;m41t80rtc0 at iic0 addr 0x68: M41T80 Real-time Clock&lt;br /&gt;todr_attach: TOD already configured&lt;br /&gt;g760a0 at iic0 addr 0x3e: G760A Fan Controller&lt;br /&gt;timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0&lt;br /&gt;uhub0 at usb0: vendor 0x0000 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1&lt;br /&gt;uhub0: 1 port with 1 removable, self powered&lt;br /&gt;uhub1 at usb1: vendor 0x0000 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1&lt;br /&gt;uhub1: 1 port with 1 removable, self powered&lt;br /&gt;mvsata0 port 0: device present, speed: 3.0Gb/s&lt;br /&gt;wd0 at atabus0 drive 0: &lt;wdc&gt;&lt;br /&gt;wd0: drive supports 16-sector PIO transfers, LBA48 addressing&lt;br /&gt;wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors&lt;br /&gt;wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)&lt;br /&gt;wd0(mvsata0:0:0): using PIO mode 4&lt;br /&gt;boot device: &lt;unknown&gt;&lt;br /&gt;root on wd0a dumps on wd0b&lt;br /&gt;oriontwsi_check_status: 18 != 20&lt;br /&gt;rs5c372rtc0: rs5c372rtc_clock_read: failed to read rtc&lt;br /&gt;WARNING: preposterous TOD clock time&lt;br /&gt;WARNING: using filesystem time&lt;br /&gt;WARNING: CHECK AND RESET THE DATE!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6005928841320502765-786468450942123442?l=embedexpert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://embedexpert.blogspot.com/feeds/786468450942123442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6005928841320502765&amp;postID=786468450942123442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6005928841320502765/posts/default/786468450942123442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6005928841320502765/posts/default/786468450942123442'/><link rel='alternate' type='text/html' href='http://embedexpert.blogspot.com/2008/08/dns323-dmesg-output.html' title='The DNS323 dmesg output'/><author><name>luasi</name><uri>http://www.blogger.com/profile/16929291497306297870</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6005928841320502765.post-7657282185583100741</id><published>2008-08-03T15:54:00.000-07:00</published><updated>2008-08-03T17:33:28.438-07:00</updated><title type='text'>Installing a NetBSD kernel on DNS 323</title><content type='html'>&lt;span style="font-weight: bold;"&gt; THIS WILL ERASE YOUR LINUX FIRMWARE AND BRICK YOUR DNS 323.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;To install a NetBSD kernel permanently in flash, I create a Linux ramdisk with a load address and entry point identical to that of the linux kernel. Instead of a linux filesystem, this image contains a  NetBSD kernel. Here is the &lt;span style="font-style: italic;"&gt;mkimage&lt;/span&gt; command that I used on my box:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; mkimage -A arm -O linux -T ramdisk -C none -a 0x00008000 -e 0x00008000 -n "NetBSD kernel" -d   /usr/src/sys/arch/evbarm/compile/obj/DNS323/netbsd.bin dns323.img&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The following u-boot command will replace the ramdisk with dns323.img permanently. If you brick your device it is your fault 100% of the time. &lt;span style="font-weight: bold;"&gt; THIS WILL ERASE YOUR LINUX FIRMWARE AND BRICK YOUR DNS 323. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Marvell&gt;&gt;&lt;br /&gt;Marvell&gt;&gt;&lt;br /&gt;Marvell&gt;&gt;&lt;span style="font-weight: bold;"&gt; loadb r&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;You will have to use kermit to upload the dns323.img at this point.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;At boot time u-boot loads the linux kernel and then overwrites it with the NetBSD kernel. When u-boot jumps into the entry point, NetBSD is started. I have captured the boot process below. &lt;span class="results-bar"&gt;&lt;b&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/b&gt;&lt;em&gt;** LOADER **&lt;br /&gt;** MARVELL BOARD: RD-88F5182-NAS-2 LE&lt;br /&gt;&lt;br /&gt;U-Boot 1.1.1 (Oct 12 2007 - 17:19:14) Marvell version: 1.7.3.001&lt;br /&gt;&lt;br /&gt;DRAM CS[0] base 0x00000000   size  64MB&lt;br /&gt;DRAM Total size  64MB&lt;br /&gt;[8192kB@ff800000] Flash:  8 MB&lt;/em&gt;&lt;/span&gt;&lt;span class="results-bar"&gt;&lt;em&gt;   Load Address: 00008000&lt;br /&gt;Entry Point:  00008000&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="results-bar"&gt;&lt;em&gt;Addresses 20M - 0M are saved for the U-Boot usage.&lt;br /&gt;Mem malloc Initialization (20M - 16M): Done&lt;br /&gt;*** Warning - bad CRC, using default environment&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Soc: MV88F5182 Rev 2&lt;br /&gt;CPU: ARM926 (Rev 0) running @ 500Mhz&lt;br /&gt;SysClock = 166Mhz , TClock = 166Mhz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;USB 0: host mode&lt;br /&gt;USB 1: host mode&lt;br /&gt;PCI 0: PCI Express Root Complex Interface&lt;br /&gt;PCI 1: Conventional PCI, speed = 33000000&lt;br /&gt;Hit any key to stop autoboot:  3 ^H^H^H 2 ^H^H^H 1 ^H^H^H 0&lt;br /&gt;## Booting image at ff820000 ...&lt;br /&gt;Image Name:   Linux-2.6.12.6-arm1&lt;br /&gt;Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;Data Size:    1426600 Bytes =  1.4 MB&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   Load Address: 00008000&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;   Entry Point:  00008000&lt;br /&gt;&lt;/span&gt;   Verifying Checksum ... OK&lt;br /&gt;OK&lt;br /&gt;## Loading Ramdisk Image at ff9a0000 ...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   Image Name:   NetBSD kernel&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;   Image Type:   ARM Linux RAMDisk Image (uncompressed)&lt;/span&gt;    Data Size:    2690748 Bytes =  2.6 MB&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   Load Address: 00008000&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;   Entry Point:  00008000&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;   Verifying Checksum ... OK&lt;br /&gt;&lt;br /&gt;Starting kernel ...&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;b&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/b&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6005928841320502765-7657282185583100741?l=embedexpert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://embedexpert.blogspot.com/feeds/7657282185583100741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6005928841320502765&amp;postID=7657282185583100741' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6005928841320502765/posts/default/7657282185583100741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6005928841320502765/posts/default/7657282185583100741'/><link rel='alternate' type='text/html' href='http://embedexpert.blogspot.com/2008/08/installing-netbsd-on-dns-323.html' title='Installing a NetBSD kernel on DNS 323'/><author><name>luasi</name><uri>http://www.blogger.com/profile/16929291497306297870</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
