diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2010-01-12 11:15:42 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-01-14 10:06:16 +0100 |
commit | 46348b5d65ce6911b9d936f684828b2760cf2a14 (patch) | |
tree | 3de4c47dda6a5ba66b7c5f751ae83bc65a4d86ef /board/x86_generic/env/bin/boot | |
parent | 7dcc15e8197e647abc80b1d3298a91edd45a8c2d (diff) | |
download | barebox-46348b5d65ce6911b9d936f684828b2760cf2a14.tar.gz barebox-46348b5d65ce6911b9d936f684828b2760cf2a14.tar.xz |
Add a generic PC platform
This code adds a generic x86 platform, enabling barebox to act as a
bootloader like 'GRUB'. Very minimalistic, yet. Supports only a serial console
and is tested with QEMU only.
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'board/x86_generic/env/bin/boot')
-rw-r--r-- | board/x86_generic/env/bin/boot | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/board/x86_generic/env/bin/boot b/board/x86_generic/env/bin/boot new file mode 100644 index 0000000000..fcfffe3194 --- /dev/null +++ b/board/x86_generic/env/bin/boot @@ -0,0 +1,37 @@ +#!/bin/sh + +. /env/config + +if [ x$1 = xdisk ]; then + root=disk + kernel=disk +fi + +if [ x$1 = xnet ]; then + root=net + kernel=net +fi + +if [ x$ip = xdhcp ]; then + bootargs="$bootargs ip=dhcp" +else + bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::" +fi + +if [ x$root = xdisk ]; then + bootargs="$bootargs root=$rootpart_disk rootfstype=$rootpart_fs rw" +else + bootargs="$bootargs root=/dev/nfs nfsroot=$eth0.serverip:$nfsroot,v3,tcp rw" +fi + +if [ $kernel = net ]; then + if [ x$ip = xdhcp ]; then + dhcp + fi + tftp $uimage uImage || exit 1 + bootm uImage +else + bootargs="BOOT_IMAGE=$kernel_device auto $bootargs" + linux16 $kernel_device +fi + |