From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <20130601071926.GA2936@polynum.com> References: <20130601071926.GA2936@polynum.com> Date: Sat, 1 Jun 2013 21:06:55 -0700 Message-ID: From: Steven Stallion To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=047d7b2e0b618e245204de23fa81 Subject: Re: [9fans] ARM and u-boot Topicbox-Message-UUID: 5ec816b4-ead8-11e9-9d60-3106f5b1d025 --047d7b2e0b618e245204de23fa81 Content-Type: text/plain; charset=ISO-8859-1 On Sat, Jun 1, 2013 at 12:19 AM, wrote: > Since it has u-boot installed and that the mapping of the flash is given > does one know if one could build a Plan9 kernel, write it (via > u-boot) to the flash and be able to boot? > It's quite possible. I even have it working. :-) A couple of months ago I submitted a patch to the U-Boot mainline to add formal support for Plan 9 kernels. It has since been accepted. At the same time I also submitted a patch to Geoff which has been gathering dust to add uImage support to 5l (patch/arm-uboot) - a requirement to exist nicely with the loader. The exynos5 port that I am working on (Arndale Board, Samsung Chromebook) relies on this exclusively. If you are familiar with setting up a BSP for U-Boot, it's fairly straightforward to boot a Plan 9 kernel from either a filesystem (ie. FAT, ext2, etc.) or via TFTP. I tend to use TFTP while testing new kernels, though longer lived kernels will likely end up sitting in a FAT - I haven't quite decided yet. Since you seem to be keen console spew, this is what a booted Arndale looks like with the above patches: U-Boot 2013.01.-rc1-00002-g67fd7e7-dirty (May 10 2013 - 23:58:01) for ARNDALE5250 CPU: Exynos5250@1000MHz Board: for ARNDALE5250 I2C: ready DRAM: 2 GiB WARNING: Caches not enabled Checking Boot Mode ... SDMMC MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1, EXYNOS DWMMC: 2 In: serial Out: serial Err: serial Net: No ethernet found. (Re)start USB... USB0: USB EHCI 1.00 scanning bus 0 for devices... 4 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found Hit any key to stop autoboot: 0 Waiting for Ethernet connection... done. Using asx0 device TFTP from server 10.0.0.8; our IP address is 10.0.0.10 Filename '/sys/src/9/exynos/9arndale'. Load address: 0x42000000 Loading: ################################################################# ############################################### done Bytes transferred = 1510728 (170d48 hex) ## Booting kernel from Legacy Image at 42000000 ... Image Name: 9arndale Image Type: ARM Plan 9 Kernel Image (uncompressed) Data Size: 1510664 Bytes = 1.4 MiB Load Address: b1000000 Entry Point: b1000000 Verifying Checksum ... OK Loading Kernel Image ... OK OK ## Transferring control to Plan 9 (at address b1000000) ... Plan 9 from Bell Labs ... Cheers, Steve --047d7b2e0b618e245204de23fa81 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Sat, Jun 1, 2013 at 12:19 AM, <tlaronde@polynum.co= m> wrote:
Since it has u-boot installed and that the mapping of the flash is given does one know if one could build a Plan9 kernel, write it (via
u-boot) to the flash and be able to boot?

It's quite possible. I even have it working. :-)

A couple of months ago I submitted a patch to the U= -Boot mainline to add formal support for Plan 9 kernels. It has since been = accepted. At the same time I also submitted a patch to Geoff which has been= gathering dust to add uImage support to 5l (patch/arm-uboot) - a requireme= nt to exist nicely with the loader. The exynos5 port that I am working on (= Arndale Board, Samsung Chromebook) relies on this exclusively.

If you are familiar with setting up a BSP f= or U-Boot, it's fairly straightforward to boot a Plan 9 kernel from eit= her a filesystem (ie. FAT, ext2, etc.) or via TFTP. I tend to use TFTP whil= e testing new kernels, though longer lived kernels will likely end up sitti= ng in a FAT - I haven't quite decided yet.

Since you seem to be keen console spew, thi= s is what a booted Arndale looks like with the above patches:

U-Boot 2013.01.-rc1-00002-g67fd7e7-dirty (May = 10 2013 - 23:58:01) for ARNDALE5250

CPU: = Exynos5250@1000MHz

Board: =A0for ARNDALE5250
=
I2C: =A0 ready
DRAM: =A02 GiB
WARNING: Caches not = enabled

Checking Boot Mode ... SDMMC
MMC: =A0 EXYNOS = DWMMC: 0, EXYNOS DWMMC: 1, EXYNOS DWMMC: 2
In: =A0 =A0serial
Out: =A0 serial
Err: =A0 serial
Net: =A0 No ether= net found.
(Re)start USB...
USB0: =A0 USB EHCI 1.00
scanning = bus 0 for devices... 4 USB Device(s) found
=A0 =A0 =A0 =A0scannin= g usb for storage devices... 0 Storage Device(s) found
=A0 =A0 = =A0 =A0scanning usb for ethernet devices... 1 Ethernet Device(s) found
Hit any key to stop autoboot: =A00=A0
Waiting for Ethernet c= onnection... done.
Using asx0 device
TFTP from server 1= 0.0.0.8; our IP address is 10.0.0.10
Filename '/sys/src/9/exy= nos/9arndale'.
Load address: 0x42000000
Loading: ##########################= #######################################
###############################################<= /div>
done
Bytes transferred =3D 1510728 (170d48 hex)
##= Booting kernel from Legacy Image at 42000000 ...
=A0 =A0Image Na= me: =A0 9arndale
=A0 =A0Image Type: =A0 ARM Plan 9 Kernel Image (= uncompressed)
=A0 =A0Data Size: =A0 =A01510664 Bytes =3D 1.4 MiB
=A0 =A0Lo= ad Address: b1000000
=A0 =A0Entry Point: =A0b1000000
= =A0 =A0Verifying Checksum ... OK
=A0 =A0Loading Kernel Image ... = OK
OK
## Transferring control to Plan 9 (at address b1000000) ...

<= /div>
Plan 9 from Bell Labs
...
<= br>
Cheers,

Steve
--047d7b2e0b618e245204de23fa81--