1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-17 13:10:29 +03:00
Commit Graph

172 Commits

Author SHA1 Message Date
Samuel Dionne-Riel
4060dd5af5 kernel-builder: Implement kernel normalization as a nix build
This uses the actual output expected by the build, rather than hoping
menuconfig gives the same result.

For kernels prior to 5.8 it wasn't an issue.

Starting with 5.8 the build environment will influence the actual
configuration used.

We're stripping some information when comparing.

The exact TEXT_VERSION string will change according to whether it's a
native or cross compilation.

Finally, minor version bumps are not relevant here.
2020-09-30 02:11:47 -04:00
Samuel Dionne-Riel
c708340e8e kernel-builder: Fix correctness with makeFlags and menuconfig 2020-09-29 20:46:14 -04:00
Samuel Dionne-Riel
5b14ef0650 kernel-builder: Prepend diff on normalization error 2020-09-29 20:40:20 -04:00
Samuel Dionne-Riel
e0834f7ee9 kernel-builder: Force configuration to be normalized 2020-09-27 22:03:29 -04:00
Samuel Dionne-Riel
af98ded034
Merge pull request #189 from samueldr-wip/feature/periodic-gui-refresh
Updates for the boot GUI
2020-07-27 23:26:05 -04:00
Samuel Dionne-Riel
6a16d3aad7 mruby-lvgui: Update to latest version 2020-07-25 21:56:50 -04:00
Samuel Dionne-Riel
e34ecbf29b lvgui: 2020-07-02 -> 2020-07-25 2020-07-25 21:56:50 -04:00
Samuel Dionne-Riel
739aeaa05a mruby-lvgui: Use the proper pkg-config 2020-07-23 18:09:06 -04:00
Samuel Dionne-Riel
f47f74499d kernel-builder/menuconfig: Use pkg-config wrapper
This works around an issue with upstream Nixpkgs and the way pkg-config
is now (admitedly rightly so) prefixed.

In actuality, the kernel build should be fixed upstream, but this would
be a non-trivial thing to get into the kernel.
2020-07-16 20:23:02 -04:00
Samuel Dionne-Riel
e7426cc3bb
Merge pull request #175 from samueldr-wip/device/asus-x018d
device: add asus-x018d
2020-07-05 22:31:35 -04:00
Samuel Dionne-Riel
ab53f09061 mruby-lvgui: 2020-02-05 -> 2020-07-02
This update knows about $PKG_CONFIG
2020-07-02 21:03:38 -04:00
Samuel Dionne-Riel
8c98bf6c9c mruby: Work around pkg-config cross-compilation changes
This will be fixed more appropriately once work on integrating the
upcoming build-system changes for 2.2 is done. With an upstream patch.
2020-07-02 21:03:38 -04:00
Samuel Dionne-Riel
6554371388 msm-fb-handle: Drop workaround 2020-06-28 23:54:14 -04:00
Samuel Dionne-Riel
322fdb9847
Merge pull request #171 from samueldr-wip/device/xiaomi-begonia
device: add xiaomi-begonia
2020-06-28 23:53:07 -04:00
adisbladis
04ae1487e9
mruby: 2.1.0 -> 2.1.1 2020-06-26 12:55:52 +02:00
adisbladis
f3bde61126
mruby: Fix bison 3.6 compatibility 2020-06-26 12:55:27 +02:00
Samuel Dionne-Riel
0dab276c3f kernel-builder: Add kernel-builder-clang_9 2020-06-26 01:17:41 -04:00
Samuel Dionne-Riel
5b5cf641f8 mkbootimg: 2019.04.13 -> 2020.05.18
This is needed to produce boot images that will not brick some MTK
devices, namely xiaomi-begonia.
2020-06-26 01:17:41 -04:00
Samuel Dionne-Riel
9de525b8a2 mruby-os: Fix native ARM build
Well, the build wasn't good either with cross, but no tests ran, so it
wasn't caught.
2020-06-11 22:07:43 -04:00
Samuel Dionne-Riel
d617424ded boot/gui: review build with a proper derivation
Then, the simulator is re-tooled to use it, and the new wrapper thingy.
2020-05-31 18:54:07 -04:00
Samuel Dionne-Riel
94981be08f stage-1: Package up script loader in overlay
It will end up re-used soon.
2020-05-31 18:54:07 -04:00
Samuel Dionne-Riel
31dbeb2599 mruby-builder: Pass passthru through 2020-05-31 18:54:07 -04:00
Samuel Dionne-Riel
e5360ea54f mruby-lvgui: Update to latest version 2020-05-31 18:54:07 -04:00
Samuel Dionne-Riel
cebc037590 boot/gui: Update mruby-lvgui to the fiddle-enabled one 2020-05-23 01:56:00 -04:00
Samuel Dionne-Riel
199201df98 mruby-lvgui: update lvgui version
Main changes are:

 * Dynamic build support
 * Minimal introspection
 * "better" makefile which handles the .pc file
2020-05-23 01:56:00 -04:00
Samuel Dionne-Riel
db10391e13 mruby: Use all gems, and not only direct depdencies
Otherwise we lose dependency management on transitive dependencies.
2020-05-19 23:29:38 -04:00
Samuel Dionne-Riel
d89521ab98 mrbgems: Add mruby-fiddle
Bindings to libffi, with (approximatively) the same API as the Ruby
Fiddle stdlib.

This uses a fork with fixes, and hopefully improvements and
maintainership in the future.
2020-05-18 22:44:56 -04:00
Samuel Dionne-Riel
74611efdcd mruby: Builder re-uses buildInputs from its mruby...
Thus re-using buildInputs from gems, thus closing the circle.
2020-05-18 22:44:04 -04:00
Samuel Dionne-Riel
168d7bc11c seabios: Remove, to rely on qemu EDID support 2020-04-22 22:47:56 -04:00
Samuel Dionne-Riel
8a41ca03f5 kernel-builder: Fix menuconfig for more recent kernels
While staying compatible with older ones.

These changes are required since recent kernels' nconfig expect that the
Makefile will have setup the environment for *many* things.

We can't simply run nconfig directly anymore.

What's that about `run-nconfig`?

Well, `make nconfig` tries to build again, in a situation where it won't
be able to build. *sigh*. With this, we take the assumedly-fine-to-run
nconfig that is already in our botched up source tree.
2020-03-27 16:33:08 -04:00
Samuel Dionne-Riel
4976412278 kernel-builder: Provide patched sources to menuconfig
Important, otherwise we lose additional options that may have been
patched-in!
2020-03-27 16:32:47 -04:00
Samuel Dionne-Riel
84aa84e606 kernel-builder: Add menuconfig passthrough. 2020-03-26 22:34:07 -04:00
Samuel Dionne-Riel
c92c5923b9 Fix libhybris regression following gcc target-specific libraries split
This Nixpkgs commit introduced the breaking change:

 * e1831ebea3
2020-03-18 21:30:05 -04:00
Samuel Dionne-Riel
022f3dc754 mruby-lvgui: update lvgui (read more)
This adds the necessary support to better handle other pointing-type
inputs.

 * Cursor for non-touch devices
 * Handle abs min/max
 * Handle touchpads

With this, a tablet-type input, like used by QEMU, now works.
2020-03-08 17:01:31 -04:00
Samuel Dionne-Riel
fe6d03701d mruby-builder: Pass through the mruby build 2020-03-01 22:02:27 -05:00
Samuel Dionne-Riel
660804cdf7 boot-gui-simulator: init package 2020-03-01 17:28:50 -05:00
Samuel Dionne-Riel
d6001ae0f6 mruby-lvgui: Fix build with simulator 2020-03-01 17:28:16 -05:00
Samuel Dionne-Riel
637c8a019d mrbgems: Add mruby-inotify 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
85ae42266f mrbgems: Add mruby-lvgui 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
5f2ac45740 mrbgems: Allow paths as src
Useful for development purposes, mainly.
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
0f30176e75 mrbgems: export mkGem 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
89024424de mrbgems: work around issue with mruby-require and musl libc
See the patch for more context.
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
0194fc8e76 mrbgems: fix mruby-dir-glob dependency 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
2d52a54e65 mrbgems: add mruby-time-strftime 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
67cbe055fc mruby-file-stat: disable bogus test 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
c86dd4aa49 mrbgems: don't run patch hooks twice 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
6dcde0b081 mrbgems: Fix issue with accidentally triggered phase 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
eed5f36e8f mruby: Builder now uses saved flags 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
cc0561b040 mruby: change order gems are collected
This ensures no dependencies for a gem end up after `mruby-require`.
This is important since anything after `mruby-require` is implicitly
built as a shared library.
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
3631ed1882 mruby: Allow gems to define native build inputs 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
97c333b160 mruby: Save linker flags for future re-use
This will be used by `makeBin` so that using mrbgems requiring external
dependencies stays ergonomic.
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
7eeee77f71 mruby-builder: stub handles ARGV and PROGRAM_NAME 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
47d0914a49 mruby-builder: Move stub.c to a discrete file 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
8e57a91279 mruby-builder: Make use of those cores 2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
50849b0598 bootlogd: Init at 2020-01-02 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
1e21263c7e mkbootimg: Fix build with compiler updates 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3dacbdeb26 mrbgems: Cleanup + licenses 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
18ab51c6b9 mrbgems: Remove dead code 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
deb42937dc mrbgems: Fixup mruby-file-stat test failures 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d0829910f8 mrbgems: Make mruby-file-stat cross-compile
It relied on running ./configure but didn't know about our Nixpkgs
specifics.

This is not an upstream-worthy fix.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
61b7a9237c mrbgems: Add mruby-singleton 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
0a37f6b2e9 mrbgems: Add more gems 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e5aa1ad3c6 overlay: Import mruby 2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
6f8a8ee208 mruby-builder: Import mruby-builder
This overlay allows building bespoke binaries using mruby with a
custom-made builder.

This may evolve a bit with *actual* use.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
27fe769fcc hardshutdown: init at 0.0.1 2020-01-10 00:46:02 -05:00
Samuel Dionne-Riel
5fa2110c7b hard-{shutdown,reboot}: remove
This will be replaced with a better utility.
2020-01-10 00:45:39 -05:00
Samuel Dionne-Riel
920e4991ca adbd: Use legacy properties with hybris 2019-12-10 13:57:32 -05:00
Samuel Dionne-Riel
87c5c4793c libhybris: Work around a failing test 2019-12-10 13:57:32 -05:00
Samuel Dionne-Riel
d004fb988a libhybris: Allow relying on legacy properties
This is used to get a slimmer libhybris for adbd for stage-1.

The previous behaviour (before 35976c201741cfc21c114615b8524db5367e034a)
was to rely on a "homegrown" system to get properties.

Starting with that new properties system, it will rely on the vendor
libraries, thus requiring all of them, plus the linker, to get
properties.

Turns out, adbd doesn't actively need anything from the vendor libraries
or from the actual propeties system.

So, it's fine to revert the change to get a working libhybris for
stage-1.

Though, what would be even better is to strip out only the minimum
requirements for adbd, and make a "mini hybris" that we can rely on for
adbd.
2019-12-10 00:13:51 -05:00
Samuel Dionne-Riel
49234e9c76 libhybris: 2018-06-18 -> 2019-12-02 2019-12-10 00:13:34 -05:00
Samuel Dionne-Riel
31902140cf seabios: build vgabios for qemu use, with custom resolution 2019-12-04 17:16:09 -05:00
Samuel Dionne-Riel
0ede24f2c4 hack: Add hack to fbdev to ignore initialization failure
This makes X11 work just fine on xiaomi-lavender.
2019-12-03 20:36:55 -05:00
Samuel Dionne-Riel
4c5b4b6a2c kernel-builder: Add gcc49 variant
Some kernel builds may require it.
2019-12-03 20:36:48 -05:00
Samuel Dionne-Riel
680aa87967
Merge pull request #54 from samueldr-wip/fix/make_ext4fs_workaround
make_ext4fs: Fix issue with read-only filesystems
2019-11-23 18:09:03 -05:00
Samuel Dionne-Riel
bd0220acc2 make_ext4fs: Fix issue with read-only filesystems
This may trip newer kernels, under some unknown circumstances.

As shown here:

[   10.016001] c7    604 EXT4-fs error (device sda45): ext4_has_uninit_itable:2895: comm mount: Inode table for bg 0 marked as needing zeroing

This happens with the google-walleye device, and unvalidated due to
lack of logs, might be affecting xiaomi-lavender
2019-11-23 17:51:57 -05:00
Samuel Dionne-Riel
3d93a9b72d kernel-builder: Allow passing additional make flags 2019-11-16 21:21:03 +01:00
Samuel Dionne-Riel
b52dd792dd msm-fb-refresher: 0.1 -> 0.2 2019-09-24 23:00:02 -04:00
Samuel Dionne-Riel
546dce59a8 overlay: picks up unused changes 2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
6d0b820318 overlay: Adds imageBuilder 2019-09-21 17:32:16 -04:00
Samuel Dionne-Riel
3c1408c82d Merge branch 'master' into feature/stage-2 2019-09-18 16:14:30 -04:00
Samuel Dionne-Riel
474f3caa0a overlay: vboot_reference cross-compilation fix 2019-09-18 15:40:01 -04:00
Samuel Dionne-Riel
ca99d75be0 kernel-builder: Use the platform's kernel target 2019-09-18 15:29:15 -04:00
Samuel Dionne-Riel
039f2c24a0 overlay: updates make_ext4fs with the missing meta 2019-09-05 22:30:31 -04:00
Samuel Dionne-Riel
56d04dcb1e make_ext4fs: init at unstable-2017-05-21 2019-08-29 18:14:18 -04:00
Samuel Dionne-Riel
2f9853f496 kernel-builder: Reviews dtb detection 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
41af579ea5 hard-*: Adds hard-shutdown script
On my qualcomm devices, it really shuts down the device even when
plugged into power.
2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
42b797d9e8 mkbootimg: Updates to latest version 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
ac2ad419f7 kernel-builder: Adds a WIP Pre-init logo
When using CONFIG_LOGO, this "pre-init" logo will be shown in the
center. This abuses the Linux mascot logo feature to help end-users
figure out without console logging whether the kernel is hung really
early, or after the framebuffer kicked-in. The initrd is expected to
replace the logo ASAP.

This is to be changed for something better integrated into the style
guide once written up.
2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
d737e0fd3e mobile-nixos.kernel-builder 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
3ddb53c6fd bootimg: Makes the build more resilient across devices...
This is because sometimes the final kernel image isn't named as
expected...

Also adds an important note about our mkbootimg.
2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
0acd0f54e2 Removes unneeded patches 2019-06-09 22:16:43 -04:00
Samuel Dionne-Riel
e0573bea77 Adds local overrides to get fbterm compiling.
It will not work as-is with stage-1.
2018-07-11 14:32:29 -04:00
Samuel Dionne-Riel
74dea85237 adbd: Inits adbd from ubports.
There are a bunch of patches to remove some stuff.

Some of those may become optional (through settings) so security and
features are available in the full system, but a slimmer version is
available in boot.img.
2018-07-08 21:14:16 -04:00
Samuel Dionne-Riel
499a347799 libhybris: Adds libhybris. 2018-07-08 21:14:13 -04:00
Samuel Dionne-Riel
e0674ad6d6 stage-1: Fixes use of stripDirs
https://github.com/NixOS/nixpkgs/pull/43169
2018-07-08 21:11:50 -04:00
Samuel Dionne-Riel
aafae19269 extra-utils: more debug printing. 2018-07-08 21:10:00 -04:00
Samuel Dionne-Riel
c6c8eb9f18 android-headers: inits at 23. 2018-07-06 22:43:03 -04:00
Samuel Dionne-Riel
44ab8fe3ed msm-fb-handle: Adds quirk for msm_mdss_fb. 2018-07-06 19:53:57 -04:00
Samuel Dionne-Riel
56458a477c ply-image: Adds hack for framebuffer flipping...
This is more specifically for msm devices.

Let's hope it won't cause issues down the line, otherwise we'll have to
make it configurable.
2018-07-05 15:08:57 -04:00
Samuel Dionne-Riel
4a5896322d ply-image: Adds additional debug information.
This is to help figure out framebuffer RGBA/BGRA issues.
2018-07-04 20:20:02 -04:00