* Add new platform: Linux4Tegra(L4T) base
* L4T: Add Nintendo Switch device to L4T Project
* L4T: Add support for Nintendo Switch bootloader package to build system
* Script Update: Extract Add support for tbz2 extension
* Package Update: Update pulseaudio to latest building version, add patches to support ucm2 as that is what lakka is shipping.
* New Package: Add rewritefs package, because we need to edit filenames on the fly, when using nintendo switch, as all data is saved to fat32 partition, where : is not a valid character in file names. eg. Bluetooth Configs
* Package Update: Linux Add support for nintendo switch l4t kernel
* Package Update: Busybox: Allow L4T device builds to just dump files in initramfs, such as firmware or new init script
* New Package: Mergerfs
* Package Update: Retroarch Bump version, and Add Nintendo Switch support, add support for X display server to retroarch start enviornment
* New Package: xf86-video-nouveau
* Package Update: libxkbcommon L4T fixes
* Dockerfile: Add needed build dependencies for L4T Platform stuff.
* Update Scripts: Add support for building L4T Switch to build_all script
* Package Update: Mupen64plus_next Add Nintendo Switch build support
* Package Update: Mame2015 Add support for building on Nintendo Switch
* Package Update: Bluez Add support for Nintendo Switch
* Package Update: libdrm remove libdrm.so.2 symlink with L4T boards, as nvidia supplies their own
This is essentially an OGA clone with a bigger (640x480) non-rotated
screen. Requires a joypad kernel patch (a copy of OGA's + small bits) and a new
DTB.
Changed a bit the way splash screens work, now you can specify proper
resolutions (instead of just vertical res) so that it works well for
cases like rotated screens.
Tweaked Retroarch to ship both drivers (DRM + GO2 DRM) and the GO2
driver to inhibit itself in case the console has a non-rotated display.
This should work for any console as long as the resolution is reported
correctly. The regular DRM driver should have 1 frame less latency!
What's not working: Console is still rotated (minor issue) and kernel
panics on poweroff :) Debugging it, but I'll need to solder the UART for
that.
Using the soft timeout option for NFS mounts is a really bad idea
and the nfs(5) manpage explicitly warns about it's issues:
NB: A so-called "soft" timeout can cause silent data
corruption in certain cases. As such, use the soft op‐
tion only when client responsiveness is more important
than data integrity. Using NFS over TCP or increasing
the value of the retrans option may mitigate some of the
risks of using the soft option.
So don't enable it by default, anyone who feels keen to take the
risk can specify it manually on kernel command line.
Signed-off-by: Matthias Reichl <hias@horus.com>
This allows us to use the default debug-shell.service provided
by systemd and cut down on custom made services. This will also
always provide a debug shell as there is no reason we shouldn't
have access to one.
journald on systemd versions up to 242 don't close the persistent
journal files on shutdown which leads to a harmless but annoying
Failed unmounting message during shutdown
https://github.com/systemd/systemd/issues/867
Set LazyUnmount=yes on the persistent log mount unit as a temporary
workaround until systemd is updated to 243 or newer.
Signed-off-by: Matthias Reichl <hias@horus.com>
The ancient approach of symlinking /var/log to /storage/log doesn't
play nice with systemd as it doesn't setup proper dependencies and
unmounting /storage during shutdown may fail because systemd doesn't
know that it's needed for /var/log.
Use a conditional bind mount instead so systemd can automatically
create proper dependencies and unmount filesystems in the correct order.
Also store the persistent logfiles on /storage in a .cache/log
directory instead of log to avoid confusing users - users can access
logfiles via /var/log.
Note: we can't use tmpfiles.d to create the .cache/log directory on
/storage because that would run after local-fs.target but we need
the .log directory before that so it has to be done via a one-shot
service.
Signed-off-by: Matthias Reichl <hias@horus.com>
to have a full set of binaries in the init process as early as possible
it now mounts the squashfs direct after mounting /flash.
there is also a hook /flash/post-sysroot.sh for custom scripting.
i will use this e.g. for lvm2 and cryptsetup in the init process,
because they are very big and i dont like them in initramfs.
Copying SYSTEM to RAM eats up precious memory that'd be better used
for kernel filesystem cache and other things and can takes quite some
time on slower storage devices like SD cards.
Instead of having two options to define a minimum RAM size (below
which SYSTEM won't be copied) and the "noram" option (which disables
copying completely) reverse the logic and use a single "toram" option
which users can set on kernel command line if they want SYSTEM copied
to RAM.
Signed-off-by: Matthias Reichl <hias@horus.com>
In some systems, xpad times out during suspend:
[ 4470.773651] xpad 2-1.5:1.6: timed out waiting for output URB to complete, killing
[ 4475.892774] xpad 2-1.5:1.4: timed out waiting for output URB to complete, killing
[ 4481.011717] xpad 2-1.5:1.2: timed out waiting for output URB to complete, killing
[ 4486.130707] xpad 2-1.5:1.0: timed out waiting for output URB to complete, killing
[ 4486.288630] PM: suspend devices took 20.880 seconds
This causes suspend to take a long time to complete. Unloading/reloading
the module during suspend/wakeup successfully works around this issue.