[Kernel] Shield Portable Kernel Development [Incl. Guide] - Shield Android Development

Welcome to the first custom kernel for the KitKat Shield.​
This thread is for the development and building of the Shield Portable kernel.
This is not intended to download a build, post issues, and return when fixed.
Kernel Source:
https://github.com/StarKissed/starkissed-kernel-roth
Kernel Downloads:
https://goo.im/devs/playground/shieldroth
The kernel can be built using the commands below or the included script.
Code:
make tegra11_android_defconfig -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
make tegra114-roth.dtb -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
make -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
App & Donations:
StarKissed [SKU] on Google Play allows you to configure many of the options provided by this kernel. Issues or comments about the app can be posted at the XDA StarKissed app thread
Donations are not being collected through the forum. If you would like to donate, you may do so through StarKissed [SKU] on Google Play by using the donate options located in the top right (the green dollar bill guy).

[Kernel] Shield Kernel Development
The included ramdisk is for update 98. If you are on 72, this will most likely result in a bootloop. Using the 72 ramdisk will not work with this kernel, as the source is specific to "OTA 5" according to the Nvidia gitweb.

I recently updated the source and changed a few commands that may explain why current source resulted in non-working builds. I will be testing builds soon and then begin modifying the kernel once the core build is verified working.

Nice, I hope there will also be an overclocked kernel for 4.4. I know it's silly but I miss the 4.3 overclocked kernel.

rylen said:
Nice, I hope there will also be an overclocked kernel for 4.4. I know it's silly but I miss the 4.3 overclocked kernel.
Click to expand...
Click to collapse
All the code is there, it just loops. I'm not sure what's going on with it. The shield tablet version works.

Quick question. Any chance you could update the usb ethernet drivers in this? Specifically, I'm suffering from this bug on an ASIX 88772 on the official kernel, and it seems their driver is rather out of date. Thanks, and keep up the good work!

bakageta said:
Quick question. Any chance you could update the usb ethernet drivers in this? Specifically, I'm suffering from this bug on an ASIX 88772 on the official kernel, and it seems their driver is rather out of date. Thanks, and keep up the good work!
Click to expand...
Click to collapse
Won't do much good until it boots

True enough, just thought I'd bring it up since it's a fairly easy fix. In the meantime, I threw together a stock kernel with an updated driver to get by. I had one problem after another with the latest official driver, but the good folks at LKML had already put some work in on v4.1.0 several years ago. Using drivers/net/usb/asix.c and usbnet.c from the 3.4.106 source built without problems.

Beginning to think I may have to settle for building against the full source on this one. It boots fine when doing that, but not built alone. The shield tablet builds fine alone, so there's no explanation for it.

you are going to make a new build of your kernel? if you need help with the tests i can help.

YamazakiRobert said:
you are going to make a new build of your kernel? if you need help with the tests i can help.
Click to expand...
Click to collapse
Things are a bit crazy, but once I can get all of the changes fixed up and it'll build clean, I'm going to try to run it over night.

Slightly off-topic, but I'll ask you since you're the only other person I know building a shield kernel. I built nvidia's kernel, changing only the two drivers associated with my ethernet, but for some reason console mode has stopped working now. Have you ran into a similar problem? Plugging HDMI in pops up the selector, but clicking on console mode doesn't do anything - it just stays on the selector screen.

bakageta said:
Slightly off-topic, but I'll ask you since you're the only other person I know building a shield kernel. I built nvidia's kernel, changing only the two drivers associated with my ethernet, but for some reason console mode has stopped working now. Have you ran into a similar problem? Plugging HDMI in pops up the selector, but clicking on console mode doesn't do anything - it just stays on the selector screen.
Click to expand...
Click to collapse
It shouldn't be related. You may need to check the proprietary drivers. I believe HDMI is one.

Didn't bother to find out what the problem was, it just stuck around because I was doing dirty builds as I tested. Once I got a few other tweaks and had some time, I did a clean build and it resolved itself. Did you manage to get your kernel booting when building it by itself? I'm sure I'm doing something wrong there too, but I've been grudgingly building the entire device, since that at least works reliably.

What is so special about this kernel compared to stock ? goodjob already btw, you're one of the few who actually have a kernel
It's really sad how not much development is going on, it's such a good device there is only like 1 release at the original section :/

Related

[NAND][pre-ALPHA] Kovsky ICS 4.0.3 testbuild0

Based heavily on TeamICS' work on HeroC, here is some very early initial work on ICS for the HTC Kovsky, AKA Sony Xperia X1. Built from AOSP source, with source available.
This is NOT for the faint of heart, and as far as I know nearly everything is broken right now. Instructions for building are coming soon - meanwhile, source is available at https://github.com/Zorlin with bits from https://github.com/CyanogenMod and https://github.com/TeamICS
Credits:
- TeamICS for all their ridiculously awesome work on Hero/HeroC
- CyanogenMod team, on which some TeamICS work is based.
- IceDroidV2 for the installer and current (slightly modded) kernel/boot.img - see IceDroidV2 thread for appropriate credits and source.
Currently working:
- Boots!
Currently not working:
- Everything else
- ADB
Notes:
boot.img is made from applying the ICS porting guide to IceDroidV2's boot.img
Currently there's a "hack" to attempt to get adb working - I threw in a copy of busybox as /system/bin/sh. Need to work out a better way, since it really didn't work...
I've got a bunch of ideas, but it's late, so... here:
DOWNLOAD:
testbuild0 - "The Magic ZIP File"
I can't believe it. OMG !!
BUT
Is it really ICS or just some skin for android 2.3 ?
X1 long live
Garena said:
I can't believe it. OMG !!
BUT
Is it really ICS or just some skin for android 2.3 ?
Click to expand...
Click to collapse
It's really ICS, which is why so little works. Gingerbread kernel for now, though.
woooaaaahhhh.....i love u full to all developers x1 the brilliant smart man ....kovsky never die !!!!
Do you really think you have enough background knowledge to get this off the ground? Or is it more of a "lets see what I can do" thing?
wallaceff said:
Do you really think you have enough background knowledge to get this off the ground? Or is it more of a "lets see what I can do" thing?
Click to expand...
Click to collapse
Yes and no. I think I can bring it to the same state as HeroC, maybe sans camera, and port hardware acceleration if/when they get it working. Kernel isn't my forte, though. At the moment adb is a major and confusing stumbling block... I'm missing something stupidly simple.
can we install it or it's not ready yet
I installed it that we install IceDroid v2 but nothing happened
It was stuck in android boot
mahmoodifar said:
can we install it or it's not ready yet
I installed it that we install IceDroid v2 but nothing happened
It was stuck in android boot
Click to expand...
Click to collapse
You install IceDroid V2 first and then overwrite it... but no, at the moment this is just for developers and tinkerers.
oh damn how nice would that be!!!!
go ahead zorlin an thx a lot for your work
Hi Zorlin how is going ur work ?
Slow... lots of real-life stuff going on. I'll probably publish build instructions on the weekend so others can start contributing.
Haven't forgotten you guys though.
Hello. Any progress or updates of Your work?
Oh my god..
I hope this really happen....
I will do wait your work!
revol5 said:
I hope this really happen....
I will do wait your work!
Click to expand...
Click to collapse
I will try to make something based on @Zorlin sources from #1 post. At all, probably He have own things to do so that is why He not respond.
fergy said:
I will try to make something based on @Zorlin sources from #1 post. At all, probably He have own things to do so that is why He not respond.
Click to expand...
Click to collapse
Your signature shows that you have a own kernel for NAND for X1?
What is working etc? maybe you could share it, when it has benefits to the current published ones
EDIT: maybe you could join zargloub and midnight for kernel dev?
neoofoox said:
Your signature shows that you have a own kernel for NAND for X1?
What is working etc? maybe you could share it, when it has benefits to the current published ones
EDIT: maybe you could join zargloub and midnight for kernel dev?
Click to expand...
Click to collapse
Hello @neoofoox.
Working everything except camera, fm radio and bluetooth (atm working on kernel to see where is problem).
Charging/discharging (at last I think it is ok as phone discharge within 20 hours->3.5 yrs old battery<- using push, wifi, bluetooth and location with 10-15 minutes of talking)
Also, phone wake asap You press power, ok or lock button (also with double security using pattern after normal unlocking)
I also don't think that this is right thread for something other than ICS work conversation.
When I got all things working proper, be sure that will make an new thread with image and patches to kernel.
BR,
Ramon
EDIT: Yeah, I will be happy to talk with @zargloub and @midnight regarding kernel.
EDIT2: Regarding sharing, I use only main system of Cyanogen but My own kernel, so as I say, until kernel completely work, I will not share it because of lot's of questions what users cannot fix until I fix holes inside kernel.
@fergy Last question ot jooc Does your phone reboots if you miss a call?
Sorry guys, I might be retiring my Kovsky... I'll publish build instructions and sources etc either way. If you don't hear back from me, assume I retired it
I'm getting fairly hopeful that you'll get decent ICS on the Kovsky soon though.
EDIT: Yup, it's official. I turned in my Xperia X1 in exchange for a free, off-contract Samsung Focus S (which I'm reselling) through the recent Microsoft promotion. I'll still have it for a week - I'm going to try and get ICS on it before then, but I don't really know what chances are like.
After that, I'll turn this over to someone else who can hopefully carry it through.
fergy said:
Hello @neoofoox.
Working everything except camera, fm radio and bluetooth (atm working on kernel to see where is problem).
Charging/discharging (at last I think it is ok as phone discharge within 20 hours->3.5 yrs old battery<- using push, wifi, bluetooth and location with 10-15 minutes of talking)
Also, phone wake asap You press power, ok or lock button (also with double security using pattern after normal unlocking)
I also don't think that this is right thread for something other than ICS work conversation.
When I got all things working proper, be sure that will make an new thread with image and patches to kernel.
BR,
Ramon
EDIT: Yeah, I will be happy to talk with @zargloub and @midnight regarding kernel.
EDIT2: Regarding sharing, I use only main system of Cyanogen but My own kernel, so as I say, until kernel completely work, I will not share it because of lot's of questions what users cannot fix until I fix holes inside kernel.
Click to expand...
Click to collapse
With these things working it is working perfectly, who need wifi if you can use mobile Data to access Internet and who needs bluetooth if you can send files via Email or connect your Phone via headphone port to your soundsystem etc..
I would test that if it becaume available and will report every bug etc. You could choose some people for testing which know something about that / for reporting bugs. So you can fix them and make the kernel 'perfect'.
Zargloub stopped developing and he has his files on gitorious so you could merge the kernels, here is working bluetooth and wifi (but it shows bad signal strenge)
Are you on github or gitorious so other devs can see what you are doing and maybe can help or people see what you are working on now.
I would love to test it, because for me it is allready perfect I hope we read something from you soon. You are our last hope
EDIT: sp3dev was also working on kernel you can get the sources here and here
EDIT2: I asked sp3dev if he would help, but he cannot for 2 reasons, first he has currently no time, the second reason is that he don't want to work on project which are close-source. Maybe you should think about releasing that before it is completely finished or make it open-source. Your device is old and that slow down the process a lot.

[Q] Can't build CM6 from sources. Help please!

Hi,
I'm trying to build cyanogenmod 6 (froyo) from sources on github for G1.
Sidenote. The reason I'm trying to do this is i'd like to modify kernel parameters. I'm trying to make the phone talk to external device using built in serial port. I can do it with my current CM6, but it looks like serial debugger engages and starts responding to the device and also steals some of the data being sent to phone.
To build I used instruction posted at cyanogen wiki "HTC Dream & Magic: Compile CyanogenMod (OS X)" which covers gingerbread but checked out froyo-stable branch at first. I know that gingerbread version stopped supporting G1 at some point last year.
Without much success even after fixing manifest to point to updated repo urls from kernel.org to googles repo etc. The problem is that apache-http seems incompatible with old sources and it is referenced by head.
I also tried froyo branch, but it doesn't build as well because something seem to be broken for dream_sapphire, and it is not present in the devices anymore.
I've tried searching for compilation errors, and general build questions/instructions here and on cyanogen's forum, but looks like CM6 is not very active these days.
Can someone point me into right direction where to search for relevant info on building it? Would getting a proper revision help or should I combine stuff from several branches to make it work?
I've already spent quite a lot of time figuring out how build is being configured and how things stitch together but without much progress on the actual build.
And with times required to sync a whole repo and build it, it is becoming frustrating.
Any help would be muchly appreciated!
Regards,
Oleg
It's dead.
I also wanted to make a cm6 rom, but I couldn't get anything to work.
I got the addresses all updated but it looks like a bunch of the files have completely dissappeared. You may be able to make it skip those, but then it may not work completely.
Go for AOSP?
Now that's a shame. I wanted to build CM because I'm familiar with it and the other thing is that they have reasonable instructions about building it. But at least I don't need to waste my time trying to figure out how to fix it.
In fact I don't need any extras they provide, a bare android would suffice to me if all the sensors and connectivity would be available. But I'm not familiar with internals of building vendor specific stuff. My understanding was that I need proprietary parts together with AOSP to build a working ROM and that's one of the things CM guys did. Correct me if I'm wrong.
aliher1911 said:
Now that's a shame. I wanted to build CM because I'm familiar with it and the other thing is that they have reasonable instructions about building it. But at least I don't need to waste my time trying to figure out how to fix it.
In fact I don't need any extras they provide, a bare android would suffice to me if all the sensors and connectivity would be available. But I'm not familiar with internals of building vendor specific stuff. My understanding was that I need proprietary parts together with AOSP to build a working ROM and that's one of the things CM guys did. Correct me if I'm wrong.
Click to expand...
Click to collapse
Nope AOSP is as easy to build now
Go to the android site and follow directions
Google for "build android"
At the part when doing repo init you need to get the right branch
Go to "build for devices" then scroll down for recommended branches and look for the dream
One thing you'll need to do differently is do "make otapackage" instead of plain "make"
And once that's done you'll need to tweak the zip and get rid of the "recovery" folder and tweak the updater-script
Oh yeah, and I don't know exactly how you would do this part, but you'll need to get the source for a newer kernel in there, like ezterry kernel and use it with 2708+ radio/spl
Unless you wanna use the AOSP kernel & spl & radio which is old
What I did is just flash his kernel after the rom, but you want to do kernel stuff so yeah...
Sent from my HTC Dream using Tapatalk

Since nobody seems to check the Q&A forum [Q] Kernel compiled in Ubuntu 12.04 fails

Since nobody seems to check the Q&A forum [Q] Kernel compiled in Ubuntu 12.04 fails
So i havent worked on a kernel in a while and decided id start workin on one again. Well I recently updated to 12.04 lts and no changes to my old source I just did a test compile and it wont boot. Same toolchain, source, ramdisk, etc.
Is there some sort of issue with compiling on 12.04?
Even redownloaded the source from my github and tried the toolchain recommended by samsung, stock tool chain, and 3 others and i still get nuthin. Just trying to compile a 2.2 kernel for the vibrant. No source i download works am i missing something?
does ANYONE have any ideas? I dont care who you are just something! I been at this for a freakin week and cant figure it out, ......i've changed nuthing but the OS and i really dont want to have to redo my entire setup because it is such a huge pain
Are you sure the kernel works? What is causing it to not boot?
I build ICS kernels just fine.
Check this and update tools for 12.04 http://source.android.com/source/initializing.html
trailblazerz11 said:
Are you sure the kernel works? What is causing it to not boot?
I build ICS kernels just fine.
Check this and update tools for 12.04 http://source.android.com/source/initializing.html
Click to expand...
Click to collapse
100% sure it works, its the same source as my old nightly# 3 kernel which i can flash and works fine. Its a 2.2 kernel so thatd be the main diff there, and I've already done the setup of the build environment. I dont get past the vibrant logo so i have no idea what the problem is >.< its driving me nuts
i tried the linaro TC, 2 diff code sourcery, google toolchain even, and no luck
I even started a fresh kernel from scratch and added just the EXT4/voodoo stuff and my ramdisk and still nuthin
so i remade my voodoo ramdisk and that still doesnt work.
I'm out of ideas, I've quadruple checked to make sure all my tools and erthing are installed......idk what the issue is
Not a developer but wouldn't downgrading to an older Ubuntu fix the problem? Btw I loved your gingerbread kernels and I hope you can get back to the top again Aim for 400mb ram with 720p and you will achieve something high
helikido said:
Not a developer but wouldn't downgrading to an older Ubuntu fix the problem? Btw I loved your gingerbread kernels and I hope you can get back to the top again Aim for 400mb ram with 720p and you will achieve something high
Click to expand...
Click to collapse
Id rather not but it seems that might be the case -_- I gotta look into how well older versions of ubuntu suppport the BullDozer cores before i do i guess.....
also I only made GB kernels for the NS4g i think ? o .o Vibrant I had been workin on it but I like being able to have MSAA in my games and what felt like greater stability, so i scrapt the new projects in favor of specific features i use :3
Ecotox I really wish you or another dev could make an updated CM7.2 kernel with Voodoo Color, OC/UV, and performance tweaks since Glitch is outdated and probably won't be updated for CM7.2. I know most devs have gone to ICS kernels, but CM 7.2 is still snappier and better for gaming then ICS.
hurtz777 said:
Ecotox I really wish you or another dev could make an updated CM7.2 kernel with Voodoo Color, OC/UV, and performance tweaks since Glitch is outdated and probably won't be updated for CM7.2. I know most devs have gone to ICS kernels, but CM 7.2 is still snappier and better for gaming then ICS.
Click to expand...
Click to collapse
I've been gone working on a game project, so I really haven't been doing much android stuff in months. If I get some time I might but can't make promises. Don't take this the wrong way but I'm looking for some help if anyone has any ideas not requests or compliments on previous work (though both are appreciated)
Sent from my Galaxy Nexus using Tapatalk 2
Can you use windows xp to compile kernels?
helikido said:
Can you use windows xp to compile kernels?
Click to expand...
Click to collapse
no
10 char
No but ty for the try....looks like imma have to revert back to 11.10...so let it be known for best results on compiling android use Ubuntu 11. If u have Ubuntu 12 and it works fine then leave it and good for u
Sent from my Nexus S 4G using Tapatalk 2
Hey there! Try downgrading gcc and g++ to version 4.4. If that doesn't work you can always just set up a dev VM in xen or vmware instead of blowing away the whole box. Hope that helps.

CM7 on New Bootloader - Feasible?

Hi All
I am not really a developer at all but I have had loads of experience messing around with ROMs to improve them (such as changing rils manually, using my own updater scripts, creating my own nvflash layouts and images, etc).
Recently I have been trying out CM10.1 again (mivvs ROM) on the new bootloader and also paranoid android. But both are too buggy for me and the battery life is really bad. So I am thinking to revert back to CM7 again.
I am planning to *TRY* and build my own CM7 rom from source using these fixes by Pengus (http://forum.xda-developers.com/showpost.php?p=35661482&postcount=100) to try and make it boot and run on the new bootloader. I know the advantages are very little but its just a "to see if I can" thing. It will also mean others wanting to go back to CM7 won't have to flash the old bootloader again.
I am planning just a one-time build as CM7 has pretty much reached completion.
I am posting this up to:
Make sure no-one else has already done it
Make sure one of the devs doesn't know of a reason this 100% will fail
To see if anyone else would be interested in such a ROM
To know if its possible to build from Windows (if I need Linux then so be it)
Let me know what you think
hy
I have mivvs rom and the battery life in not bad.
however, your idea is interesting .. good job!
Well, I think this is quite interesting. However, I am a big fan of PA10 and Pengus work... for me they beat GB in all aspects at the moment. However, one of the greatest pro's of having a CM7 on the new bootloader is the ability to have dual boot with CM7 + CM10.1 (or something else), since dual boot only works for roms with the same bootloader.
So far I have:
Set up Ubuntu x64 VirtualPC
Installed Android SDK and all Dependancies
Sync'd the CyanogenMod 7 Source
Sorted out the P990 Proprietary libs
Made MOST of the changes Pengus lists (although some bits are in different files)
It turns out the kernel source isn't downloaded automatically with CM7 so I need to find out how to build the kernel from source (in order to make the rest of the changes on the list Pengus made) but I think its looking good..
CM7 also doesn't have fstab.p990 but these lines can be found in init.p990.rc. Until I have the kernel source I am stuck on point 6
And I didn't mean to knock Pengus/TonyP/Mivv's work. They have helped this phone come a really long way especially now acree seems to have dropped support for it.
Just FYI
I tried this, making all the changes above, compiled the build.... but it doesn't boot.
Just gets stuck on the red lg logo.
I think the old CM kernel will not run on the new boot loader at all.
Was worth a try!
rlees85 said:
Just FYI
I tried this, making all the changes above, compiled the build.... but it doesn't boot.
Just gets stuck on the red lg logo.
I think the old CM kernel will not run on the new boot loader at all.
Was worth a try!
Click to expand...
Click to collapse
Maybe your last resort, try the excellent CM7 ETaNa kernel (link is in my signature).
But, I guess it won't work; kernels are bootloader specific.

Will Nexus 7 get kernel 3.10?

And if so, how much longer do you think? Have you seen any hints or rumors plastered on the net? Do you have any links to evidence of 3.10 coming? Are we missing out on anything of importance that 3.10 brings?
Does anyone know why we are still on 3.1, which was released in 2011? I thought Nexus devices got all the good stuff first... Or are only custom roms and kernels using 3.1?
Android devices rarely get new kernel versions anyway since the kernels tend to be customized to work with a specific device, and the binary drivers are built for a specific version of the kernel. This is not as bad as it sounds tho, since a lot of stuff can be backported meaning you get functionality from a newer kernel without the actual kernel version changing. Even more common with custom kernels. For example there's ROMs for our device that uses the F2FS file system which first appeared in the 3.8 kernel and gotten big changes every version after that, and it runs just fine backported to the 3.1 kernel.
hencke said:
Android devices rarely get new kernel versions anyway since the kernels tend to be customized to work with a specific device, and the binary drivers are built for a specific version of the kernel. This is not as bad as it sounds tho, since a lot of stuff can be backported meaning you get functionality from a newer kernel without the actual kernel version changing. Even more common with custom kernels. For example there's ROMs for our device that uses the F2FS file system which first appeared in the 3.8 kernel and gotten big changes every version after that, and it runs just fine backported to the 3.1 kernel.
Click to expand...
Click to collapse
Ok, so this quote here from Linux.com about commits that look like they are made for Nexus 7 2012, is just wishful thinking? I hope not because 3.10 is a massive jump in technology, and possibly even in performance for our device.
there are architecture-specific commits for 3.10 in the kernel/tegra project, which points to development for the 2012 Nexus 7.
Click to expand...
Click to collapse
http://www.linux.com/news/embedded-...roid-will-be-updated-to-the-v310-linux-kernel
EDIT: Ok, I see now, so many new things from 3.4 and 3.8 may already be in our 3.1 custom kernels? If Google releases a 3.10 for the N7 I hope our devs take advantage of it, instead of porting things over to 3.1. I'd like to see our device get Android 5.0 and kernel 3.10, that would really make me feel like this was one of the best investments I have ever made.
As I said, lots of the improvements from newer kernels have already been backported so there wouldn't be as big a difference in performance as you might think. The tegra commits are interesting, but sadly does not confirm anything. For example, the android police article on those same commits mentions that screenshots from the nexus 4 and 5 with the new android version still show them on kernel 3.4. The chance that the 2012 nexus 7 would get a kernel update while the nexus 5 seems awefully slim. I hope I'm wrong tho, since I think it would make things simpler for the custom kernel developers to base stuff on a newer kernel but I wouldn't get my hopes up...
hencke said:
As I said, lots of the improvements from newer kernels have already been backported so there wouldn't be as big a difference in performance as you might think. The tegra commits are interesting, but sadly does not confirm anything. For example, the android police article on those same commits mentions that screenshots from the nexus 4 and 5 with the new android version still show them on kernel 3.4. The chance that the 2012 nexus 7 would get a kernel update while the nexus 5 seems awefully slim. I hope I'm wrong tho, since I think it would make things simpler for the custom kernel developers to base stuff on a newer kernel but I wouldn't get my hopes up...
Click to expand...
Click to collapse
Ok, thanks for making it a little more clearer to me. I kept thinking our 3.1 kernel from 2011 was holding us back from getting one last great update. I think features are no longer needed and I just want them to push performance as far as this thing can be taken. So with ART and F2FS finally coming, I was hoping a better kernel would grace us as well. lol, but it looks like a newer kernel wouldn't do much that the devs haven't already done.
Thanks buddy for jumping in and clearing some of that up for me. :good:
Nvidia released their kernel 3.4.35 for tegra3

Categories

Resources