python3: base-nova compatibility

The vfs is now populated with the python libs using a tar file system.
This is necessary because providing the zip from the rom did not work on NOVA.
The issue here is that python's zipimporter uses fseek with SEEK_END to
find the zip header. Unfortunately, the file size cannot be correctly
determined from the ROM session (see #1920) so that the fseek fails.
This commit is contained in:
Johannes Schlatow
2018-06-26 17:35:57 +02:00
committed by Norman Feske
parent e6ee017e18
commit ea789fda0c
4 changed files with 21 additions and 8 deletions

View File

@@ -35,6 +35,7 @@ set config {
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="IO_PORT"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
@@ -51,7 +52,7 @@ set config {
<start name="python3">
<resource name="RAM" quantum="16M"/>
<config>
<pythonpath name="lib/python3.zip" />
<pythonpath name="/python/Lib:" />
<file name="hello.py" />
<vfs>
<dir name="dev">
@@ -61,8 +62,8 @@ set config {
<rtc/>
<zero/>
</dir>
<dir name="lib">
<rom name="python3.zip" />
<dir name="python">
<tar name="python3.tar" />
</dir>
<inline name="hello.py">
print(" \r\n\r");
@@ -93,12 +94,12 @@ install_config $config
# generic modules
set boot_modules {
core init
ld.lib.so libc.lib.so libm.lib.so python3.lib.so posix.lib.so
ld.lib.so libc.lib.so libm.lib.so python3.lib.so
python3
vfs_jitterentropy.lib.so
timer
rtc_drv
python3.zip
python3.tar
vfs.lib.so
}