Commit Graph

748 Commits

Author SHA1 Message Date
The-going
8693b355eb
Bugfix for packages/armbian/builddeb, packages/bsp/common/etc/kernel/preinst.d/initramfs-cleanup (#3511)
* Fix the standard location of dtb files

This fix allows standard system scripts from flash-kernel,
u-boot-menu packages to search in this location

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Bugfix: No need to unmount a separate partition for the /boot

These issues should be solved by system scripts.
In the future, this check should be removed.

* Remove unused generated file 'initrd.img-*' 'uInitrd-*'

These files were generated by initramfs-tools script
called postinst.d scripts.
And should be removed in the postrm.d or postinst.d scripts
and should be run after the initramfs-tools script
and under the same conditions.
2022-02-26 15:04:24 +01:00
Vyacheslav
5d3271dc3a
JetHub H1: dirty userland fix for net interface does not up at boot (#3507) 2022-02-25 19:27:57 +01:00
Oleg
3305d45b81
add firmware wifi for p2\m2 (#3493) 2022-02-15 10:35:52 +01:00
The-going
484c6f04f7
Packaging (#3487)
* Revert "rpi: copy DTBs to Debian/Ubuntu standard location /lib/firmware/$version/device-tree; remove build-time-only hacks (#3462)"

This reverts commit 2f2d10c04a.

* Revert "Fix rpi upgrades to kernel and dtbs (#3461)"

This reverts commit 3b7f5b1f34.

Copying dtb files to a folder that cannot belong to a dtb package
creates additional clutter. If this is required for an individual
family, then it is necessary to implement it at the level of system
scripts. And only for this family.

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
2022-02-14 19:04:57 +01:00
Igor Pečovnik
84944eaaf4
Enable audio on Rpi in config (#3479)
* Enable audio on Rpi in config
* Add asound.state
2022-02-12 19:36:06 +01:00
Oleg
a037db891e
add utils ddbr for create\restore full backup eMMC (#3406) 2022-02-10 15:32:57 +01:00
Oleg
43daaea590
fix disable u-boot and initramfs hooks (#3470)
Close https://github.com/armbian/build/issues/3457
2022-02-10 14:59:05 +01:00
Vyacheslav
e8480e9705
Add support for JetHub D1 new revision with AP6256 WiFi/BT (#3471) 2022-02-10 14:57:57 +01:00
Ricardo Pardini
2f2d10c04a
rpi: copy DTBs to Debian/Ubuntu standard location /lib/firmware/$version/device-tree; remove build-time-only hacks (#3462)
- this allows us to remove the most horrible hack
- should allow for correctly working DTB upgrades
- should NOT impact other families
2022-02-07 11:36:22 +01:00
Ricardo Pardini
3b7f5b1f34
Fix rpi upgrades to kernel and dtbs (#3461)
* rpi: fix: flash-kernel fix to ignore kernel 'flavour' for all raspi's

- use uppercase RPICFG label, so it shows up on Windows/Mac (FAT requires uppercase)

* builddeb: fix indenting of heredocs and shellfmt

* rpi: add DTB symlink in Debian/Ubuntu standard location /lib/firmware/$version/device-tree; remove build-time-only hacks

- this allows us to remove the most horrible hack
- should allow for correctly working DTB upgrades
- should NOT impact other families, although a new symlink will be created, nothing uses it.
2022-02-06 09:24:13 +01:00
Oleg
7d69cfeb6e
fix install u-boot to eMMC (#3448) 2022-02-02 10:49:41 +01:00
Igor Pecovnik
1d80b5cde3
Revert "When checking for shell, use strict grep (#3437)"
This reverts commit b77bd30460.
2022-01-26 20:18:46 +01:00
Igor Pečovnik
b77bd30460
When checking for shell, use strict grep (#3437) 2022-01-25 23:26:05 +01:00
Aristo Chen
21b4d4bd42
Ask user again if the response is not expected (#3411) 2022-01-20 14:44:40 +01:00
Vyacheslav
f230b5fca5
JetHome: add jethome package repository (#3399) 2022-01-17 18:09:37 +01:00
The-going
23afccf56e
Bugfix: debugging package for kernel are not created #3405 (#3409)
Build a debugging package for the kernel if the CONFIG_DEBUG_INFO=y parameter is set in the kernel configuration.
Issues: packages are not created #3405
2022-01-17 14:51:19 +03:00
Oleg
6b490e1694
move kernel edge to 5.16 (#3387) 2022-01-11 15:26:11 +01:00
Vyacheslav
41a761281d
JetHome: update bsp package for AP6255 firmware match (#3388) 2022-01-11 11:49:55 +01:00
Igor Pečovnik
310495ddf1
Refactor armbian-bsp-cli package creation (#3378)
* Refactor armbian-bsp-cli package creation

- added general distro status for all in separate file inside BSP
- remove branch and distro specifics

* Looking for prebuild pack

* Small fixes
2022-01-06 11:50:24 +01:00
Igor Pečovnik
e76a5b0bfe
Improve fist login UX (#3375)
* Improve 1st login script

* Update packages/bsp/common/usr/lib/armbian/armbian-firstlogin

Co-authored-by: Manuel Rüger <manuel@rueg.eu>

* Address accessibility issue

Co-authored-by: Manuel Rüger <manuel@rueg.eu>
2022-01-05 17:55:10 +01:00
Oleg
3f8da052e8
fixes the manual launch of the installation script from USB media (#3377) 2022-01-05 17:54:30 +01:00
Igor Pecovnik
181d0e2fc3
Limit sunxi-tools install to Allwinner family only
Close https://github.com/armbian/build/issues/2941
2022-01-03 19:11:37 +01:00
The-going
fedc9c1f58
Install debian packages using a special function (#3368)
* Add new function install_pkg_deb

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Use the install_pkg_deb function

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* sunxi-tools: Calculate build dependencies

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* hostapd, hostapd-realtek: Calculate build dependencies

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Clean Environment for building as default

* upgrading: Repack a clean Environment archive

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
2021-12-27 14:23:35 -05:00
Oleg
08568a6005
add station m2\p2 (#3352) 2021-12-26 16:37:49 +01:00
iav
37662d8ed3
helios64: fix udev rules to let fancontrol work again (#3367) 2021-12-25 21:53:53 +01:00
Vyacheslav
5efc78b531
JetHome JetHub D1/H1 patch/bsp updates (#3348)
* JetHome: Update u-boot patches: fix emmc work on JetHub D1
* JetHome: update kernel patches with last updates for JetHub devices.
* JetHome: Update Bluetooth init script to more stable start.
2021-12-14 12:08:26 +01:00
Paolo Sabatino
e1a88959f8 rk322x: add bluetooth overlay, updated rk322x-config 2021-12-10 21:53:57 +01:00
Igor Pecovnik
20e3da18e7
Orangepi Zero2 legacy - adjust memory voltage according to manufacturer's recommendation 2021-12-08 21:41:23 +01:00
Leo
3c5e8820d1
Source /etc/armbian-release before the motd conf file (#3326)
That way the user can set $BOARD_NAME in /etc/default/armbian-motd. This is useful because e.g. the Odroid HC2 is internally an Odroid XU4, and in /etc/armbian-release it shows up as Odroid XU4.
2021-12-07 20:13:34 +01:00
Ricardo Pardini
90e0fe0ba2
extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300)
* extensions framework (née "fragments")

- this should actually change nothing at this point, just add capabilities
- the framework is implemented in lib/extensions.sh
- the "if function x exists then call x" replaced with call_extension_method()
  - +inline documentation
  - +compatibility names

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; meta-extensions: auto-docs and sample extension gen

- 2 extensions dealing with extensibility itself
  - detect-unused-extensions: shows which extensions are enabled, but never called.
  - gen-sample-extension-docs: generates a sample empty extension & Markdown documentation for extensions

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* new extension methods and features via config variables in core Armbian

- `SKIP_EXTERNAL_TOOLCHAINS=yes` - does not download or use any linaro toolchains, only build host-installed ones
- `SKIP_BOOTSPLASH=yes` - does not patch kernel for splash file
- `EXTRA_BSP_NAME=xyz` - allows for BSP variants, useful for when extensions modify the BSP
- `EXTRA_ROOTFS_MIB_SIZE=x` - add x mib's to rootfs size, for use with very small images
- `KERNEL_EXTRA_TARGETS` - what extra targets to make kernel for, default to "modules dtbs"
- `BOOTCONFIG=none` - does not build nor install u-boot; also doesn't handle bootscripts et al
- `unset KERNELSOURCE` - does not build nor install kernel, nor build initrd, nor build nor install firmware
- `ARMHF_ARCH=skip` - does not add armhf to apt/dpkg, thus pure arm64
- `SKIP_ARMBIAN_REPO=yes` - results in armbian.list.disabled in the final image
- define `APT_EXTRA_DIST_PARAMS` with apt-cacher-ng options and use it for `PACKAGE_LIST_INSTALL/REMOVE` et al
- initial support for targeting x86/amd64 UEFI and BIOS
    - some do's/don'ts for x86/amd64, like a different `UBUNTU_MIRROR` default
    - GPT/EFI(ESP) partitions (fat, `UEFISIZE=256` to enable, mount `UEFI_MOUNT_POINT=/boot/efi`, first on disk but ends
      up at `$uefipart`=15)
    - GPT/BIOS partitions (fat, `BIOSSIZE=1` to enable, second on disk but ends up at partition 14)
    - `UEFI_FS_LABEL="armbiefi"` - to set the FAT label for the EFI partition, visible in Win/Mac
    - hard-requires gdisk package host-side
- add add_host_dependencies() extension method; fill `EXTRA_BUILD_DEPS="pkg pkg2"` to install to host before toolchains
  download
- add pre_prepare_partitions() extension method, for custom partition size calculations
- add create_partition_table() extension method, used to do full-custom partitioning if `USE_HOOK_FOR_PARTITION=yes`
- add post_create_partitions() extension method, mostly for easy debugging
- add post_write_sdcard() extension method, where you can also set `SKIP_VERIFY=yes` to skip sdcard verification
- add post_install_kernel_debs() extension method.
- multiple fixes to bsp to avoid spurious errors when files are not where it expects
- v4: detect `update-initramfs` failure and abort build with useful message if it does
- v4: show useful stacktrace in `exit_with_error`
  - if `ERROR_DEBUG_SHELL=yes`, drop into a shell before unmounting/deleting everything, so we can inspect what went wrong
- v4: display a message before `apt-get remove PACKAGE_LIST_BOARD_REMOVE` packages, so any errors while removing are easy to understand
- v4: preserve kernel .config's dates when copying

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; refactor tool fetching/building into extensions

- a few examples of core refactoring using extensions
- sunxi-tools extension, enabled by 2 different sunxi family includes ("reuse" example)
- marvel-tools extension, enabled by 2 different mvebu family includes
- rkbin-tools extension, enabled by rockship64_common family include
- amlogic-fip/c2-blobs stuff refactored directly into meson64_common.inc ("single-use" example)
- removed the 'testings' fetch_from_repo completely since not used anywhere.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip's for UEFI arm64 and UEFI/BIOS x86 via new GRUB extension

- v3: added `growroot`-awareness to `armbian-resize-filesystem`
    - the partition-growing part of `armbian-resize-filesystem` does not deal correctly with the UEFI layout
    - `growroot` is installed on UEFI images by default, that handles growing partition during initramfs
    - now `armbian-resize-filesystem` handles `resize2fs` only, and works.
- v4: reworked UEFI board/family/include structure:
    - use Distro's `linux-generic` kernel only for `current`
    - `edge` now builds it's own pure-mainline `5.15.y` kernel, for both x86 and arm64
        - `.config` taken from Ubuntu, probably needs tuning for EXTRAWIFI=yes et al
- v4: introduce `SKIP_KERNEL_SYMLINK=yes`, tested in `builddeb`
    - to avoid symlinking kernel; u-boot likes it, but grub and flash-kernel hates it
- v5: many fixes
- v7: more small fixes.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip for the RaspberryPi 4B via new flash-kernel extension

- this does not build it's own kernel "yet", but uses default linux-raspi kernel from Ubuntu
- flash-kernel is not really a bootloader
    - it just prepares kernel et al a FAT partition for booting by the RPi4b bootloader
    - flash-kernel is standard Debian package, but has only been tested on Ubuntu releases
- it is really only known-working since Hirsute release.
  - Debian's rpi kernel is armhf only, so out of scope here, at least until we add source-built kernels.
- v3: fixed focal rootfs build. untested.
- v3: better variable names, preparing for source-built kernel.
- v5: new edge build with pure mainline kernel.
- v6: many fixes and some hacks for packaging and layout, also firmware (using Ubuntu's)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Added first patch to edge x86 related to wifi drivers

* extensions: leave hostapd alone; remove hackish ext; block reentrancy

- package-list-utils does not belong in this PR
- grub or bcm2711 is not the place to remove hostapd
- block recursive enable_extension() calls, for now.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* gen-sample-extension-docs: fix: avoid counter in generated sample

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: dependencies: enable_extension() in extensions with a stack

- and better stacktraces, I hope

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Remove code from package list since we don't have it in repository
Adjust kernel config to disable driver that needs further polishing.

* Allow amd64 to build the same desktops as aarch64. We only have this limit for armhf, where some desktops don't work

* amd64: allow building amd64 on aarch64 with system toolchain

- conditionally add gcc-x86-64-linux-gnu to hostdeps

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* add libelf-dev directly to hostdeps (and Dockerfile), remove extension

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: remove SKIP_KERNEL_SYMLINK hack, fix the root cause

- which was the missing $image_name for non-arm64 & non-arm, so: x86 for example

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* flash-kernel: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: add host_dependencies_ready() hook

- this passes FINAL_HOST_DEPS containing all hostdeps for the run after they're installed

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add verification functions for correct selection.

* If UEFI Skip symlink creation

* Do not create dtb package for amd64

* Skip scripts folder cleaning if build process native.

Skip creating  postinst prerm scripts  for headers.

* Skip applying headers-debian-byteshift.patch if build native

* Fix architecture syntax as x86_64

* Revert "amd64: allow building amd64 on aarch64 with system toolchain"

This reverts commit 0c5ee20bb1.

* Compare architectures before starting compilation.



Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* extensions: cleanups after fixes by the-Going

- packaging:
  - there is _no need_ anymore for the symlink hack, CONFIG_EFI or no. But check is great, see below
  - it's not `amd64` that has no DTB's, it's all UEFI, thus: `is_enabled CONFIG_EFI`, thanks!
- Explicitly disallow "reverse cross compile" in amd64.conf.
- whitespace-only-deletions: revert. we shall shellfmt the whole thing one day, but not today.
- fix a few syntax warnings in newly introduced code (floating `$ARCH` vs `"${ARCH}`) - blame shellcheck

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: fix: turns out a lot of boards have CONFIG_EFI=y, can't use that for dtb/no-dtb decision.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: remove debug

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* firmware: allow installing `armbian-firmware-full`; make it really full

- can now use `BOARD_FIRMWARE_INSTALL="-full"` to install full firmware for the board. enable for UEFI.
- don't rely on KERNELSOURCE for firmware-related decisions. introduce `INSTALL_ARMBIAN_FIRMWARE` which defaults to `yes`
- rpi4b/flash-kernel: disable Armbian firmware; we need linux-firmware-raspi2, which conflicts.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: log to /${LOG_SUBPATH}/ instead of fixed /debug/

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: introduce cleanup_extension_manager() called by build-all-ng's unset_all()

- to reset/unset everything done by the the initializer, so build can run again

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: remove 'global' logging, for use with build_all_ng

- enable_extensions() will have to live on without logging to file. it's just too early.
- now init EXTENSION_MANAGER_TMP_DIR in initialize_extension_manager()
- now init EXTENSION_MANAGER_LOG_FILE in initialize_extension_manager()

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: build-all-ng.sh bugfix due to extension's debug to stdout

- extensions (among other things) can produce output to stdout when activated
- fix: check_hash() produced "idential" (sic, now changed to IDENTICAL) to stdout as a trigger
- debugging output got mixed with "idential", rendering hash cache void for families that used extensions
  - eg: sunxi, others
- fix is to send stdout to the bitbucket when sourcing the board & arch config files
- proper fix would be stop using stdout in this case and use return code for check_hash()
  - one day soon

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add CI build targets

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
2021-12-06 09:49:49 +01:00
Igor Pečovnik
d8285296ec
Bugfix - safer way of deleting headers (#3316) 2021-12-04 23:53:00 +01:00
Paolo Sabatino
b4749af062
rk332x: fix esp8089 module option 2021-11-24 17:28:03 +00:00
Igor Pečovnik
6979718d58
Chroot build packages cleanup and bug fixing (#3266)
* Small fixes and removal of deprecated component
* Fix to properly create armbian repo in chroot
2021-11-17 19:35:32 +01:00
Igor Pečovnik
aaa050959b
Replace which with command -v (#3253) 2021-11-15 23:30:39 +01:00
Igor Pečovnik
8258a0ee36
Implement fan controller for Nanopi M4 (#3231)
* Implement fan controller for Nanopi M2V2

* Fan works on all Nanopi M4
2021-10-31 12:12:06 +01:00
Igor Pecovnik
612529aa8f
Fixing errors in armbianmonitor and add release info
Close https://github.com/armbian/build/issues/2798
2021-10-28 23:22:29 +02:00
Ricardo Pardini
be5f2b8c75
introduce DEB_COMPRESS for dpkg-deb+kernel's KDEB_COMPRESS (#3222)
* introduce DEB_COMPRESS for dpkg-deb+kernel's KDEB_COMPRESS

- Avoids zstd which is now default in Ubuntu Impish, but can't be read by Debian dpkg
- Allows for xz, gzip, or none; defaults to xz; use gzip for faster, and none for much faster.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* use KDEB_COMPRESS in packages/armbian/builddep for 5.12+ kernels too

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-10-27 18:55:12 +02:00
Vyacheslav
3c4b69650e
Add support for JetHome JetHub D1/H1 home automation controllers (#3176)
* JetHome: add basic files for JetHub D1/H1 boards

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add uboot patches

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel patches for JetHub D1/H1 (backport from 5.16-dt kernel)

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add bsp packages for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel options for hardware JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: fix targets-cli-beta.conf for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add axg uboot creation function for JetHub D1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
2021-10-19 21:05:36 +02:00
Oleg
ddc90be2c7
fix sound station (#3200) 2021-10-15 14:19:53 +02:00
Paolo Sabatino
31d238930b rockchip: enable broadcom serdev bluetooth for current and edge kernels
* add workaround against default MAC Address (userland utility bdaddr does not work to set MAC Address as expected)
	* enable bits for xt-q8l-v10 board (ap6330/bcm4330 part), switching AP6330 bluetooth to btbcm driver using serdev
	  facilities to avoid userspace machinery with deprecated hciattach tool, added bits to enable driver support in kernel.
	  Removed ap6330 bluetooth service from bsp packages, added initramfs-tools hook to include bcm4330b1.hcd firmware in initramfs
2021-09-16 17:51:34 +00:00
Piotr Szczepanik
0069ad60a6
Preliminary support for rockchip rk35xx boards (#3111) 2021-09-15 22:08:39 +02:00
Aristo Chen
905cf37bd3
Enlarge dialog size to prevent string cut off (#3141) 2021-09-12 19:26:33 +02:00
Paolo Sabatino
d9c1954052 rk322x: enable glamor acceleration for X11 2021-09-11 12:51:28 +00:00
Paolo Sabatino
0ba760e148 rk322x: ddrbin now uses 2T Command Rate, dynamically adjust ddrbin command rate on u-boot updates 2021-09-11 12:51:28 +00:00
The-going
593104add4
Rework compile (#3124)
* DEBUG code

* make M=scripts clean before creating the package

Move the cleanup of the scripts target from the postinst script
to the logically correct place so that the cleanup occurs with
the same arguments of the make command and the same compiler.

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* clear all files in target directory

* Debugging for version 5.10.10 and higher

* Return to version 5.12

Since version 5.12, there are no collisions
with deleting the scripts/module.lds file.

This pathology begins with 5.10 and ends on 5.11 inclusive,
and this is due to internal migration in the core.

* Change the order of creating packages

The linux-headers package must be built in the last queue

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Revert "DEBUG code"

This reverts commit 6bd8dcaa3b.
2021-09-06 21:29:20 +02:00
Aristo Chen
fab9ff1dba
Remove unused variable in format string (#3105) 2021-09-02 21:51:54 +02:00
Werner
23d5aa12ba
Possible fix for syntax error (#3115)
https://forum.armbian.com/topic/18838-invalid-armbian-trucate-logs-error/
I assume all userspaces have bash shipped anyways?
2021-09-02 20:47:46 +02:00
Igor Pečovnik
5004a05a15
Store wallpapers with better compression (#3108)
Saves around 50% without loosing noticable on quality.
2021-08-24 00:44:14 +02:00
Aristo Chen
9aa60df063
Exclude IP of network interface with :avahi at the end of name (#3099) 2021-08-21 11:04:22 +02:00
Jannis
147b8b54e6
Merge pull request #3092 from armbian/helios64-udev-hwmon-fix
Helios64 combine hwmon rules between legacy and current
2021-08-16 13:46:04 +02:00