aboutsummaryrefslogtreecommitdiffstats
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: kernel-headers: kernel Git tree mirror hashPetr Štetiar2020-12-051-0/+5
| | | | | | | Allow setting of mirror hash for Git kernel tree. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 796d51834c5be85771d26e433fd509cd3bef72e3)
* build: refactor JSON info files to `profiles.json`Paul Spooren2020-06-301-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JSON info files contain machine readable information of built profiles and resulting images. These files were added in commit 881ed09ee6e2 ("build: create JSON files containing image info"). They are useful for firmware wizards and script checking for reproducibility. Currently all JSON files are stored next to the built images, resulting in up to 168 individual files for the ath79/generic target. This patch refactors the JSON creation to store individual per image (not per profile) files in $(BUILD_DIR)/json_info_files and create an single overview file called `profiles.json` in the target directory. Storing per image files and not per profile solves the problem of parallel file writes. If a profiles sysupgrade and factory image are finished at the same time both processes would write to the same JSON file, resulting in randomly broken outputs. Some target like x86/64 do not use the image code yet, resulting in missing JSON files. If no JSON info files were created, no `profiles.json` files is created as it would be empty anyway. As before, this creation is enabled by default only if `BUILDBOT` is set. Tested via buildroot & ImageBuilder on ath79/generic, imx6 and x86/64. Signed-off-by: Paul Spooren <mail@aparcar.org> [json_info_files dir handling in Make, if case refactoring] Signed-off-by: Petr Štetiar <ynezz@true.cz> (backported from commit 07449f692ce4c4525e946401f4c3ed0cbbc8c4df) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: create JSON files containing image infoPaul Spooren2020-06-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The JSON info files contain details about the created firmware images per device and are stored next to the created images. The JSON files are stored as "$(IMAGE_PREFIX).json" and contain some device/image meta data as well as a list of created firmware images. An example of openwrt-ramips-rt305x-aztech_hw550-3g.json { "id": "aztech_hw550-3g", "image_prefix": "openwrt-ramips-rt305x-aztech_hw550-3g", "images": [ { "name": "openwrt-ramips-rt305x-aztech_hw550-3g-squashfs-sysupgrade.bin", "sha256": "db2b34b0ec4a83d9bf612cf66fab0dc3722b191cb9bedf111e5627a4298baf20", "type": "sysupgrade" } ], "metadata_version": 1, "supported_devices": [ "aztech,hw550-3g", "hw550-3g" ], "target": "ramips/rt305x", "titles": [ { "model": "HW550-3G", "vendor": "Aztech" }, { "model": "ALL0239-3G", "vendor": "Allnet" } ], "version_commit": "r10920+123-0cc87b3bac", "version_number": "SNAPSHOT" } Signed-off-by: Paul Spooren <mail@aparcar.org> (backported from commit 881ed09ee6e23f6c224184bb7493253c4624fb9f) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* config: kernel: fix typo in HFSPLUG_FS_POSIX_ACLStijn Tintel2019-11-281-1/+1
| | | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry picked from commit 5f6833395293548f9fdf4897d9766417f2990bac)
* build: add buildinfo files for reproducibilityPaul Spooren2019-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generate feeds.buildinfo and version.buildinfo in build dir after containing the feed revisions (via ./scripts/feeds list -sf) as well as the current revision of buildroot (via ./scripts/getver.sh). With this information it should be possible to reproduce any build, especially the release builds. Usage would be to move feeds.buildinfo to feeds.conf and git checkout the revision hash of version.buildinfo. Content of feeds.buildinfo would look similar to this: src-git routing https://git.openwrt.org/feed/routing.git^bf475d6 src-git telephony https://git.openwrt.org/feed/telephony.git^470eb8e ... Content of version.buildinfo would look similar to this: r10203+1-c12bd3a21b Without the exact feed revision it is not possible to determine installed package versions. Also rename config.seed to config.buildinfo to follow the recommended style of https://reproducible-builds.org/docs/recording/ Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 454021581f630d5d04afeb8ff6581c1bda295c87)
* Make linux kernel builds reproducible when BUILDBOT selectedAlexander Couzens2019-09-041-0/+2
| | | | | | | | | | | | The linux kernel is not reproducible because the build user and domain is included into the kernel. Set the build user to `builder` and build domain to buildhost. It's also possible to build reproducible builds by setting KERNEL_BUILD_USER KERNEL_BUILD_DOMAIN to static values. Signed-off-by: Alexander Couzens <lynxis@fe80.eu> (cherry picked from commit fdd0a8d49118134070c13231b6d10ec88b9105da)
* config: introduce separate CONFIG_SIGNATURE_CHECK optionJo-Philipp Wich2019-08-071-0/+4
| | | | | | | | | | | | | | | | | | | | Introduce a new option CONFIG_SIGNATURE_CHECK which defaults to the value of CONFIG_SIGNED_PACKAGES and thus is enabled by default. This option is needed to support building target opkg with enabled signature verification while having the signed package lists disabled. Our buildbots currently disable package signing globally in the buildroot and SDK to avoid the need to ship private signing keys to the build workers and to prevent the triggering of random key generation on the worker nodes since package signing happens off-line on the master nodes. As unintended side-effect, updated opkg packages will get built with disabled signature verification, hence the need for a new override option. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit f565f276e2c06ac8f3176e0b16d6f2d40cd653d4)
* lantiq/xrx200: enable initramfs imagesStijn Segers2019-05-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Commit eae6cac6a3 ("lantiq: add support for AVM FRITZ!Box 7362 SL"), but one needs an initramfs image to flash OpenWrt from stock firmware (as described in the commit log). This patch has the initramfs image built by default. Thanks to blogic (for pointing to the FEATURES declaration in the target Makefiles) and Musashino on the forum for suggesting config/Config-images.in needed editing too. While at it, reorder the TARGET_INITRAMFS_COMPRESSION_LZMA declarations alphabetically. This patch will result in initramfs images for all lantiq subtargets that have the ramdisk flag set. I tested on the falcon and ase subtargets, which lack that flag, to confirm they don't produce any initramfs images with this patch - which they do not. Given the limited scope of the lantiq (sub)target(s), blogic indicated this should be OK. Signed-off-by: Stijn Segers <foss@volatilesystems.org> Signed-off-by: Petr Štetiar <ynezz@true.cz> [fixed the wrong reference to eae6cac6a3 commit]
* build: add a config option for enabling a testing version of the target kernelFelix Fietkau2019-05-111-0/+9
| | | | | | | If the target supports a newer kernel version that is not used by default yet, it can be enabled with this option Signed-off-by: Felix Fietkau <nbd@nbd.name>
* config: kernel: Add KPROBE_EVENTS config optionPetr Štetiar2019-05-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | Upstream has renamed KPROBE_EVENT to KPROBE_EVENTS in the following commit: commit 6b0b7551428e4caae1e2c023a529465a9a9ae2d4 Author: Anton Blanchard <anton@samba.org> Date: Thu Feb 16 17:00:50 2017 +1100 perf/core: Rename CONFIG_[UK]PROBE_EVENT to CONFIG_[UK]PROBE_EVENTS We have uses of CONFIG_UPROBE_EVENT and CONFIG_KPROBE_EVENT as well as CONFIG_UPROBE_EVENTS and CONFIG_KPROBE_EVENTS. Consistently use the plurals. So I'm adding this plural option in order to make kconfig happy and stop asking about it if kernel is compiled with verbose logging: Enable kprobes-based dynamic events (KPROBE_EVENTS) [Y/n/?] (NEW) Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: make bootfs size for sdcard image configurableTomasz Maciej Nowak2019-04-061-1/+1
| | | | | | | Let's take this oportunity to implement boot-part and rootfs-part feature flags. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* build: remove leftovers from previous x86 commitsTomasz Maciej Nowak2019-02-171-6/+3
| | | | | | | | | | | | | | | | | VBoxManage is not used and the image is created with proper permisions: 0f5d0f6 image: use internal qemu-img for vmdk and vdi images drop host dependencies on qemu-utils and VirtualBox Unreachable config symbols: 9e0759e x86: merge all geode based subtargets into one No need to define those symbols since x86_64 is subtarget of x86: 196fb76 x86: make x86_64 a subtarget instead of a standalone target Unreachable config symbols, so remove GRUB_ROOT: 371b382 x86: remove the xen_domu subtarget Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* config: kernel: Fix missing symbol on brcm2708 with CGROUPSDaniel F. Dickinson2019-02-171-0/+14
| | | | | | | | | | | | | | When CGROUP block io is enabled a new symbol is exposed and needs to be set or unset else kernel oldconfig hangs waiting for input during normal OpenWrt builds. Therefore add sane defaults for this symbol in that case. Also, the defaults brcm2708 are different than generic defaults because the platform's defconfig enables BLK_DEV_THROTTLING by default (in defconfig config from the patches used to match upstream's kernel, not in OpenWrt config-4.xx). Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com> [make KERNEL_BLK_DEV_THROTTLING_LOW depend on KERNEL_BLK_DEV_THROTTLING] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* omap: fix build without ext4 rootfsAndre Heider2019-01-311-1/+1
| | | | | | Same fix as 7b76219e, just for omap. Signed-off-by: Andre Heider <a.heider@gmail.com>
* brcm2708: boot-part feature integrationChristian Lamparter2019-01-241-0/+1
| | | | | | | | | | | | | | This patch adds the boot-part feature which enables the brcm2708 target move from the custom boot partition size config option to the generic CONFIG_TARGET_KERNEL_PARTSIZE. Note: For people using custom images: Just like with CONFIG_TARGET_ROOTFS_PARTSIZE changing the value can cause sysupgrade to repartition the device! Make sure to have a backup in this case. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* build: Optionally provide file checksums in package metadataMichal Hrusecky2019-01-221-0/+8
| | | | | | | This may be useful if you don't entirely trust your flash and want to be able to check for corruptions. Signed-off-by: Michal Hrusecky <Michal@Hrusecky.net>
* apm821xx: sata: boot-part feature integrationChristian Lamparter2019-01-011-0/+1
| | | | | | | | | | | | This patch adds the boot-part feature to the apm82181 sata target. This makes it possible to configure the boot partition size with the generic CONFIG_TARGET_KERNEL_PARTSIZE symbol. Please note: For people using custom images: Just like with CONFIG_TARGET_ROOTFS_PARTSIZE changing the value can cause sysupgrade to repartition the device! Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19Hauke Mehrtens2018-12-261-0/+8
| | | | | | | | | | | | The configuration option was renamed with kernel 4.19 from CONFIG_CC_STACKPROTECTOR to CONFIG_STACKPROTECTOR adapt the code to set both options. CONFIG_STACKPROTECTOR now sets the regular stack protector and CONFIG_STACKPROTECTOR_STRONG activates the additional protection of more functions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: fix build without ext4 rootfsAndre Heider2018-09-291-1/+1
| | | | | | | | | | | | The sdcard image generation uses CONFIG_TARGET_ROOTFS_PARTSIZE, which is currently bound to TARGET_ROOTFS_EXT4FS on this target. Since the rootfs is squashfs anyway, allow deselecting of the ext4fs one. Sort the target list alphabetically while here. Signed-off-by: Andre Heider <a.heider@gmail.com>
* build: add support for enabling the rootfs/boot partition size option via ↵Felix Fietkau2018-09-031-2/+2
| | | | | | target feature Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: add support to set GRUB menu entry titleKjel Delaey2018-07-301-0/+8
| | | | | | | | $ make menuconfig Target Images -> Title for the menu entry in GRUB Signed-off-by: Kjel Delaey <kjel_delaey@hotmail.com>
* config: extend small_flash featureAlex Maclean2018-07-122-3/+9
| | | | | | | | | | Extend the small_flash feature to disable swap, core dumps, and kernel debug info, and change the squashfs block size to 1024KiB. Also change squashfs fragment cache to 2 for small_flash to ease memory usage. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* kernel: only optimized for size if small_flashMathias Kresin2018-07-121-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Add a new config option to allow to select the default compile optimization level for the kernel. Select the optimization for size by default if the small_flash feature is set. Otherwise "Optimize for performance" is set. Add the small_flash feature flag to all (sub)targets which had the optimization for size in their default kernel config. Remove CC_OPTIMIZE_FOR_* symbols from all kernel configs to apply the new setting. Exceptions to the above are: - lantiq, where the optimization for size is only required for the xway_legacy subtarget but was set for the whole target - mediatek, ramips/mt7620 & ramips/mt76x8 where boards should have plenty of space and an optimization for size doesn't make much sense - rb532, which has 128MByte flash Signed-off-by: Mathias Kresin <dev@kresin.me>
* config: add config option for KERNEL_TASKSTATSJeremiah McConnell2018-07-071-0/+21
| | | | | | | | | | In order for monitoring tools such as atop and htop to track and report i/o data, kernel support for task statistics and io accounting is required. Add a config option to enable building this support in the kernel. Signed-off-by: Jeremiah McConnell <miah@miah.com>
* config: fix ARM64 dependency checkHauke Mehrtens2018-02-101-2/+2
| | | | | | The ARM64 CPUs use aarch64 config symbol, fix the depends lines. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ase: turn off fpu emulator in default buildYousong Zhou2018-01-291-1/+1
| | | | | | | | | | It was only enabled when the target was added back in commit 9b321bc ("lantiq: add Amazon-SE subtarget") Leave pistachio alone as devices of this target are not likely have small_flash or low_mem constraint Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: add config option KERNEL_MIPS_FPU_EMULATORYousong Zhou2018-01-291-0/+5
| | | | | | | To make it more accessible for nodejs users to configure and run a build on mips target lacking hardware fpu Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: cleanup SSP_SUPPORT configure optionJulien Dusser2018-01-271-2/+2
| | | | | | | | | | | | | | | | | | Configure variable SSP_SUPPORT is ambiguous for packages (tor, openssh, avahi, freeswitch). It means 'toolchain supporting SSP', but for toolchain and depends it means 'build gcc with libssp'. Musl no longer uses libssp (1877bc9d8f), it has internal support, so SSP_SUPPORT was disabled leading some package to not use SSP. No information why Glibc and uClibc use libssp, but they may also provide their own SSP support. uClibc used it own with commit 933b588e25 but it was reverted in f3cacb9e84 without details. Create an new configure GCC_LIBSSP and automatically enable SSP_SUPPORT if either USE_MUSL or GCC_LIBSSP. Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* build: add hardened builds with PIE (ASLR) supportJulien Dusser2018-01-271-0/+16
| | | | | | | | | | | | | | | | | | Introduce a configuration option to build a "hardened" OpenWrt with ASLR PIE support. Add new option PKG_ASLR_PIE to enable Address Space Layout Randomization (ASLR) by building Position Independent Executables (PIE). This new option protects against "return-to-text" attacks. Busybox need a special care, link is done with ld, not gcc, leading to unknown flags. Set BUSYBOX_DEFAULT_PIE instead and disable PKG_ASLR_PIE. If other failing packages were found, PKG_ASLR_PIE:=0 should be added to their Makefiles. Original Work by: Yongkui Han <yonhan@cisco.com> Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* Config-devel.in: rename symbol KERNEL_GIT_BRANCH -> KERNEL_GIT_REFAlexandru Ardelean2018-01-271-4/+5
| | | | | | | | | The Download/git rule will do a `git checkout <git-ref>`. So, we can use any ref we want. No need to limit just to branches. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* build: disable BUILD_PATENTED by defaultYousong Zhou2018-01-261-1/+1
| | | | | | | | This is mainly for legal considerations and not promoting the usage of and no redistribution of binaries of patented technologies seems to be also the established practice in other linux distros. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* config: support new symbol intro'd in kernel 4.12Koen Vandeputte2018-01-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symbol CONFIG_INITRAMFS_FORCE allows to ignore the value passed by the bootloader. By default, all symbols containing INITRAMFS are wiped from the final config and then re-added conditionally. Add support for this symbol, as the build will stop otherwise questioning the user about this option: * Restart config... * * * General setup * Cross-compiler tool prefix (CROSS_COMPILE) [] Compile also drivers which will not load (COMPILE_TEST) [N/y/?] n ... Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [Y/n/?] y Initramfs source file(s) (INITRAMFS_SOURCE) [] Ignore the initramfs passed by the bootloader (INITRAMFS_FORCE) [N/y/?] (NEW) Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: allow disabling multicast routing supportMatthias Schiffer2018-01-111-1/+16
| | | | | | | | Multicast routing support is not needed in most setups, and increases the size of the kernel considerably (>10K after LZMA). Add a config switch to allow disabling it. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: fix spelling in CONFIG_DEVTMPFS help textSascha Paunovic2017-12-111-1/+1
| | | | | | Change "ti" to "to", as that's the correct spelling. Signed-off-by: Sascha Paunovic <azarus@posteo.net>
* mpc85xx: Enable initramfs for p1020 subtargetChris Blake2017-10-141-0/+1
| | | | | | | The following patch enables building of initramfs images by default for the P1020 subtarget in mpc85xx. Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
* config: make CONFIG_ALL_* select other CONIFG_ALL_* optionsHauke Mehrtens2017-08-261-3/+4
| | | | | | | | | | | | | Select the other CONFIG_ALL_* options in the hierarchy when the master option is selected. Currently CONFIG_ALL_KMODS is not selected when the build bot selects CONFIG_ALL_NONSHARED for example. Now the rtc kmods should get build when CONFIG_ALL_KMODS, CONFIG_ALL_NONSHARED or CONFIG_ALL and CONFIG_RTC_SUPPORT are selected like it is done by the build bots for targets with rtc support. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Jo-Philipp Wich <jo@mein.io>
* build: enable gzipping of images on x86 even if ext4 is disabledFelix Fietkau2017-07-061-1/+1
| | | | | | | There is lots of padding between the boot partition and the rootfs, so gzipping is helpful here Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: Make KERNEL_PERF_EVENTS selectableFlorian Fainelli2017-05-261-1/+1
| | | | | | | The kernel itself allows enabling/disabling CONFIG_PERF_EVENTS, so allow doing the same thing. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* kernel: Hide kernel options behind a menuFlorian Fainelli2017-05-261-1/+3
| | | | | | | | We are starting to add more and more kernel configurable options, to the point where the Global build options menu is not really usable anymore, hide all kernel-related configuration options behind a menu. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* kernel: enable CRASH_DUMP on supported platformsDaniel Golle2017-05-201-0/+10
| | | | | | | While we have CRASHLOG on MIPS it makes sense to support 'classic' kexec-based CRASH_DUMP on x86 and arm platforms. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: remove out of tree direct-io disable hackFelix Fietkau2017-04-261-4/+0
| | | | | | | Direct-IO support has to be enabled for the release build anyway, so this hack is not worth keeping Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: allow specifying flow-control to grub on serial consolePhilip Prindeville2017-04-031-0/+5
| | | | | | | On the more sophisticated (i.e. deeper FIFO) serial controllers, flow-control might be needed to avoid dropping output. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* build: add devel option to store build config in firmwareVitaly Chekryzhev2017-03-181-0/+6
| | | | | | Store config.seed in firmware /etc/build.config Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
* x86: Set default baud rate on Geode images to 115200David Woodhouse2017-02-171-1/+0
| | | | | | | | | | | Prior to commit 1496b95a0 ("x86: clean up default grub baudrate settings") we had three different baud rates for the Geode targets: 19200 for net5501, 38400 for alix2, and 115200 for Geos. It doesn't seem that there's a very good reason for varying from our default 115200 baud, so let's make the Geode target do that instead. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* build: add buildbot specific config option for setting defaultsFelix Fietkau2017-02-141-2/+12
| | | | | | | | | | This can be used to tweak the buildbot behavior without having to change buildbot's configuration. It will also allow us to add more aggressive clean steps (e.g. on toolchain changes), which would break developers' workflows if enable by default. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ccache, samba36: fix samba.org addresses to use httpsHannu Nyman2017-02-021-1/+1
| | | | | | | | | | | | samba.org has started to enforce https and currently plain http downloads with curl/wget fail, so convert samba.org download links to use https. Modernise links at the same time. Also convert samba.org URL fields to have https. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* build: add support for automatically removing build dir contents during buildFelix Fietkau2017-01-181-0/+8
| | | | | | | | | This is used to save space on buildbot instances. If any part of a package needs to be rebuild, the whole package is rebuilt from scratch. Stamp files are preserved to allow dependency checks to work Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: disable crashlogFelix Fietkau2017-01-131-1/+1
| | | | | | | | It could cause crashes with some forms of virtualization, and it is unlikely to work properly with most systems. It's safer to just disable it. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove obsolete parallel build related optionsFelix Fietkau2017-01-101-53/+0
| | | | | | Always use the main make jobserver, which has been the default for ages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add KERNEL_DEVMEM and KERNEL_DEVKMEMHauke Mehrtens2016-12-241-0/+14
| | | | | | | | | These options are needed to create /dev/mem or /dev/kmem . /dev/mem is needed by the io tool to access raw hardware memory, which is helpful when debugging and developing drivers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: John Crispin <john@phrozen.org>