diff --git a/recipes/pkg/boot2java/README b/recipes/pkg/boot2java/README new file mode 100644 index 0000000..9fc6e85 --- /dev/null +++ b/recipes/pkg/boot2java/README @@ -0,0 +1 @@ +boot2java installation diff --git a/recipes/pkg/boot2java/archives b/recipes/pkg/boot2java/archives new file mode 100644 index 0000000..78b8afa --- /dev/null +++ b/recipes/pkg/boot2java/archives @@ -0,0 +1,8 @@ +_/src/jdk +_/src/libc +_/src/stdcxx +_/src/rump +_/src/vfs +_/src/vfs_lxip +_/src/zlib + diff --git a/recipes/pkg/boot2java/hash b/recipes/pkg/boot2java/hash new file mode 100644 index 0000000..d13ba1d --- /dev/null +++ b/recipes/pkg/boot2java/hash @@ -0,0 +1 @@ +2019-02-22 eaffd812d91012abb59c2269dc28204455954e5f diff --git a/run/boot2java.run b/run/boot2java.run new file mode 100644 index 0000000..b98e753 --- /dev/null +++ b/run/boot2java.run @@ -0,0 +1,323 @@ +proc check_config {bin xml_file xsd_file label avail_xsd_files xsd_inc nesting_level} { } + +if {![have_spec nit6_solox]} { + puts "Run script is only supported on nit6_solox"; exit 0 } + + +set build_components { + core init timer + + app/jdk/lib/generated + app/log_core + + drivers/nic + drivers/gpio + drivers/sd_card + + server/fs_log + server/fs_rom + server/nic_router + server/part_block + server/report_rom +} + +lappend_if [have_spec gpio] build_components drivers/gpio + +source ${genode_dir}/repos/base/run/platform_drv.inc +append_platform_drv_build_components + +build $build_components +create_boot_directory + +import_from_depot [depot_user]/pkg/boot2java + +append config { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nameserver 1.1.1.1 + + + 2000-01-01 00:00 + + + + + + + -server KNOWN +-client IGNORE + + + + + + + + + + + + + + + + + + + + + +} + +append_platform_drv_config + +append config { + +} + +install_config $config + +set boot_modules { + core init ld.lib.so timer + + gpio_drv sd_card_drv part_block + + fs_rom report_rom fs_log log_core + + nic_router +} + +append boot_modules [nic_drv_binary] + +append_platform_drv_boot_modules + +build_boot_image $boot_modules + +# +# Prepare disk image +# +set image jdk_demo.img +set dd [installed_command dd] +set sfdisk [installed_command sfdisk] +set mkfsext2 [installed_command mkfs.ext2] +set losetup [installed_command losetup] + +# return jdk_generated port path +proc jdk_generated { } { + set ::env(MAKEFLAGS) s + set jdk_generated_path [exec [genode_dir]/tool/ports/current jdk_generated] + return $jdk_generated_path +} + +# create file and partition table +exec $dd if=/dev/zero of=[run_dir].img bs=1M count=64 2> /dev/null +exec echo ";" | $sfdisk [run_dir].img + +# scan file +set dev [exec sudo $losetup --partscan --show --find [run_dir].img] + +# mount and copy data to image +exec mkdir -p [run_dir].tmp +exec sudo $mkfsext2 -q "${dev}p1" +exec sudo mount "${dev}p1" [run_dir].tmp + +foreach f [glob -directory [jdk_generated]/src/app/jdk/bin *] { + exec sudo cp -rf $f [run_dir].tmp } + +exec sudo cp -f [run_dir]/uImage [run_dir].tmp + +# unmount +exec sudo umount "${dev}p1" +exec sudo $losetup -d $dev +exec rm -rf [run_dir].tmp + +puts "The image can be found under '[run_dir].img'" diff --git a/src/app/jdk/lib/generated/target.mk b/src/app/jdk/lib/generated/target.mk new file mode 100644 index 0000000..92141cc --- /dev/null +++ b/src/app/jdk/lib/generated/target.mk @@ -0,0 +1 @@ + PORT_DIR := $(call select_from_ports,jdk_generated)