#
# \brief Run the demo scenario with Android running in a liquid_fb.
# Virtualbox and Nitpicker+Launchpad need to run on seperate CPUs,
# otherwise Android does not boot up. For an unknown reasopn Virtualbox
# only runs on CPU 0.
# \author Christian Menard
# \date 2014-07-08
#
#
# Build
#
# base components
set build_components { core init drivers/timer }
# basic driver components
append build_components {
drivers/acpi
drivers/pci
drivers/framebuffer
drivers/usb
server/fb_switcher
}
# nitpicker components
append build_components {
server/nitpicker
app/pointer
app/status_bar
server/report_rom
}
# application components
append build_components {
server/liquid_framebuffer
server/nitlog
test/nitpicker
app/launchpad
app/scout
}
# android components
append build_components {
drivers/rtc
virtualbox
server/liquid_framebuffer
}
build $build_components
create_boot_directory
#
# Generate config
#
# Basic configuration
set config {
}
# Basic driver configuration
append config {
}
# Nitpicker configuration
append config {
}
# Application configuration
append config {
}
# Android configuration
append config {
}
append config {
}
install_config $config
#
# Create launchpad configuration
#
set launchpad_config_fd [open "bin/launchpad.config" w]
puts $launchpad_config_fd {
}
close $launchpad_config_fd
#
# Boot modules
#
# generic modules
set boot_modules { core init timer }
# basic driver modules
append boot_modules {
acpi_drv pci_drv pci_device_pd
fb_drv
usb_drv
fb_switcher
}
# nitpicker modules
append boot_modules {
nitpicker
pointer
status_bar
report_rom
}
# application modules
append boot_modules {
liquid_fb
scout
testnit
nitlog
launchpad launchpad.config
}
# android modules
append boot_modules {
virtualbox android.iso
rtc_drv
liquid_fb
ld.lib.so libc.lib.so
libm.lib.so pthread.lib.so
libc_lock_pipe.lib.so libc_terminal.lib.so
libiconv.lib.so
}
build_boot_image $boot_modules
#
# Execute test case
#
set builddir [pwd]
set tooldir [file dirname $argv0]
exec $tooldir/create_grub2_entry_nova.perl $builddir toughpad-android-demo
exec $tooldir/run_on_toughpad.sh $builddir toughpad-android-demo