Marc Andre Tanner wrote:
My current build scripts can be found at:
git://repo.or.cz/qi-bootmenu-system.git
It would be nice if someone could try it out by following the
instructions
in the README and reporting back the results.
The attached patch makes a working rootfs for me, including ssh, booting
into my gui (see below), and chainloading a target system image.
Currently I've been using a pre-built kernel, my next step is to use the
kernel integrated in the build scripts, and switch to an initrd rather
than SD based rootfs.
changes:
- use a git snapshot of kexec, including your uImage support
- add /mnt and /etc/dropbear to rootfs
- remount rw so dropbear can create it's key.
- tweak packages and compilation options for my GUI.
- include my gui.
I also started a bootmenu application which scans the available
partitions
for bootable images.
git://repo.or.cz/qi-bootmenu.git
It doesn't yet include a GUI but Dave Ball started a prototype based on
evas which is basically option #2 from raster
My gui is very basic [1] - and based on Marc's qi-bootmenu application.
Currently it scans partitions on the SD card, looking for
/boot/uImage-GTA02.bin /boot/append-GTA02 and /boot/bootlogo.png. It
displays these PNG's in a grid, and boots the target system when the
image is clicked on.
Still to do:
- use our own kernel build & initrd
- gui improvements
- see if I can strip more out of the build
What are people looking for from a bootmenu GUI? My implementation
needs some improvement (feedback when you press a logo, better
presentation with less than 6 logos), but is designed to be very basic.
I've only used evas/ecore, so don't have any of elementary's widgets, or
access to edje / transition effects etc. My menu doesn't scroll or
describe which partition your booting (except through the logo).
Ecore/evas works very well for a simple gui like this, but a more
complicated gui would make more sense in edje & elementary.
The trade off for a more complex GUI will be the image size, and likely
some impact on boot speed. Currently my image takes 12 seconds from
power on to the gui, though that should go down when we're using a
minimal kernel and initrd - rather than rootfs. I've no idea what the
difference in boot speed will be between an evas/ecore gui and an
edje/elementary gui.
To try it out as a rootfs:
- grab Marc's bootmenu build system
git://repo.or.cz/qi-bootmenu-system.git
- Apply my patch
- Follow his README to build the rootfs
- put this rootfs in the first partition of an SD card
- add an appropriate kernel to that partition as /boot/uImage-GTA02.bin
- configure your other distributions on other partitions
- add /boot/bootlogo.png to each partition. Sample images can be found in
qi-bootmenu-system/build/packages/qi-bootmenu/samplelogos/ though any
200x180 png should work fine.
It'd be great to hear if this works for anyone!
Cheers,
Dave
[1] http://i48.tinypic.com/1zd8907.jpg
diff --git a/build.sh b/build.sh
index a30bac3..c220ea6 100755
--- a/build.sh
+++ b/build.sh
@@ -30,12 +30,13 @@ fi
if [[ ! -d "$ROOT_DIR" || ! -d "$ROOT_DIR/usr" ]]
then
- mkdir -p "$ROOT_DIR"/{tmp,proc,sys,dev,home/root} || dienow
- for i in bin sbin lib etc
+ mkdir -p "$ROOT_DIR"/{tmp,proc,sys,dev,mnt,home/root} || dienow
+ for i in bin sbin lib etc
do
mkdir -p "$ROOT_DIR/usr/$i" || dienow
ln -s "usr/$i" "$ROOT_DIR/$i" || dienow
done
+ mkdir -p "$ROOT_DIR"/usr/etc/dropbear || dienow
fi
if [ $# -ne 0 ]
@@ -53,17 +54,19 @@ build_package busybox
build_package kexec-tools
build_package zlib
build_package libjpeg
+build_package libpng
build_package tslib
build_package freetype
build_package eina
build_package eet
build_package evas
build_package ecore
-build_package embryo
-build_package lua
-build_package edje
-build_package elementary
+#build_package embryo
+#build_package lua
+#build_package edje
+#build_package elementary
build_package dropbear
-build_package dialog-elementary
+#build_package dialog-elementary
+build_package qi-bootmenu
echo "Build complete now run ./initramfs.sh"
diff --git a/download.sh b/download.sh
index 29f4e93..371a111 100755
--- a/download.sh
+++ b/download.sh
@@ -32,8 +32,13 @@ URL=http://www.busybox.net/downloads/busybox-1.15.2.tar.bz2 \
SHA1=2f396a4cb35db438a9b4af43df6224f343b8a7ae \
download || dienow
-URL=http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/kexec-tools-2.0.1.tar.bz2 \
-SHA1=d3711794a2161bb88c75b74b5d6b41596e505b25 \
+#URL=http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/kexec-tools-2.0.1.tar.bz2 \
+#SHA1=d3711794a2161bb88c75b74b5d6b41596e505b25 \
+#download || dienow
+
+URL='http://git.kernel.org/?p=linux/kernel/git/horms/kexec-tools.git;a=snapshot;h=aee54c10512b494747b03121fb0b3b1e91f63645;sf=tgz' \
+SHA1= \
+RENAME="s/.*h=(.*);.*/kexec-tools-\1.tar.gz/" \
download || dienow
URL=http://www.zlib.net/zlib-1.2.3.tar.bz2 \
@@ -106,10 +111,15 @@ URL=http://ftp.gnu.org/gnu/gdb/gdb-7.0.tar.bz2 \
SHA1=8aed621b7ddb8c82b6ff213b56c028787db90582 \
download || dienow
-URL=http://repo.or.cz/w/qi-bootmenu.git/snapshot/7c88eea111d6d83a556a21f3347392c10d9ac6df.tar.gz \
+#URL=http://repo.or.cz/w/qi-bootmenu.git/snapshot/7c88eea111d6d83a556a21f3347392c10d9ac6df.tar.gz \
+#SHA1= \
+#RENAME="s/(.*)/qi-bootmenu-\1/" \
+#download || dienow
+
+URL=http://davesbox.ball-home.co.uk/qi-bootmenu-0.0.1.tar.gz \
SHA1= \
-RENAME="s/(.*)/qi-bootmenu-\1/" \
-download || dienow
+download || dienow
+
echo === Got all source.
diff --git a/rootfs-overlay/etc/init.d/rcS b/rootfs-overlay/etc/init.d/rcS
index 2217b65..137446c 100755
--- a/rootfs-overlay/etc/init.d/rcS
+++ b/rootfs-overlay/etc/init.d/rcS
@@ -15,9 +15,14 @@ mdev -s
[ ! -d /dev/input ] && mkdir /dev/input
+mount -n -o remount,noatime,rw /
+
cd $HOME
-nice -n -20 dialog "HELLO WOLRD" &
+/sbin/qi-bootmenu &
+
+
+#nice -n -20 dialog "HELLO WOLRD" &
sleep 5
diff --git a/sources/sections/evas.sh b/sources/sections/evas.sh
index ee34b18..bc7172c 100644
--- a/sources/sections/evas.sh
+++ b/sources/sections/evas.sh
@@ -31,9 +31,9 @@ LDFLAGS="$CROSS_LDFLAGS $LDFLAGS" CFLAGS="$CFLAGS_HEADERS" ./configure $CROSS_CO
--enable-image-loader-eet \
--disable-image-loader-edb \
--disable-image-loader-gif \
- --disable-image-loader-png \
+ --enable-image-loader-png \
--disable-image-loader-pmaps \
- --enable-image-loader-jpeg \
+ --disable-image-loader-jpeg \
--disable-image-loader-tiff \
--disable-image-loader-xpm \
--disable-image-loader-svg \
diff --git a/sources/sections/kexec-tools.sh b/sources/sections/kexec-tools.sh
index 725c0cc..c0ace24 100644
--- a/sources/sections/kexec-tools.sh
+++ b/sources/sections/kexec-tools.sh
@@ -1,5 +1,7 @@
setupfor kexec-tools
+./bootstrap
+
./configure $CROSS_CONFIGURE_FLAGS --prefix=/usr \
--exec-prefix=/usr &&
make &&
_______________________________________________
devel mailing list
devel@lists.openmoko.org
https://lists.openmoko.org/mailman/listinfo/devel