mudita / MuditaOS

Mobile operating system based on FreeRTOS™ optimized for E Ink displays - developed for Mudita Pure minimalist phone
https://mudita.com/products/pure/muditaos
Other
629 stars 70 forks source link

Missing repos? #3216

Closed brinlyau closed 2 years ago

brinlyau commented 2 years ago

📚 Missing or unclear documentation

📝 Description

Are you missing the assets repo? (seems the script fails to download?) also, are you planning on opensourcing ecoboot

📝 Describe the solution you'd like

open sourcing the assets and ecoboot :)

wojtekidd commented 2 years ago

Unfortunately, some of our assets are proprietary hence we can't fully open-source them 😞 Regarding ecoboot - we'll discuss that internally and will let you know.

brinlyau commented 2 years ago

Can you include them as a proprietary binary that we can link against? (or support including them if we manage to extract them from the device ;) )

On Fri, 12 Nov 2021 at 8:01 pm, Wojtek Cichoń @.***> wrote:

Unfortunately, some of our assets are proprietary hence we can't fully open-source them 😞 Regarding ecoboot - we'll discuss that internally and will let you know.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mudita/MuditaOS/issues/3216#issuecomment-966934672, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABECH2J6VV7BKT6QCEYR5TTULTJVFANCNFSM5H4IJI6A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

wojtekidd commented 2 years ago

The first way seems more legit 😛 Could you please pos any good examples of projects that do this?

brinlyau commented 2 years ago

Could you explain the issue in detail on which kind/type of binaries can't be shared and the actual restrictions (is it a restriction stopping you from posting source or distributing at all?) -

so I can propose a good example (if it's the Luts.bin, that's one thing - I totally understand why you can't redistribute it), but the other files in the assets folder seem to be fonts and audio and translations.json - are these the only missing ones? https://github.com/mudita/MuditaOS/commit/8dc58616a706dec248e6ac81b3cc297d54533b06)

I don't see how the project is meant to be built without them - it seems to error out.

I have a few ideas :-)

Is there an IRC/xmpp channel or discord/slack for community devs for a more real time interface for chatting?

brinlyau commented 2 years ago

Any chance you could jump on IRC or the community discord so we could have a real time chat about this (in private if needed) (and you could share transcript internally about this)? -

geekoftheweek commented 2 years ago

I also attempted to build the repo and failed on the asset-downloading step. A workaround would be greatly appreciated.

pholat commented 2 years ago

sorry for the late response :)

To just compile you can empty the products assets.json file:

cat << EOF >> products/PurePhone/assets.json
{
    "assets": []
}
EOF

You will be able to compile just fine, but you won't have any fonts available. It's not a very good solution, but it's a starter.

Now. To just make the simulator work we can:

To make it fully configurable, and i.e. use any font you wish with the app, we would have to extend efforts a bit, the easiest way I could see is:

Answering the question of - why these files are not available to the public, and talking just from my imperfect knowledge on the subject - we can distribute these files to be loaded in runtime by the software, but we can't distribute them as it is.

wojtekidd commented 2 years ago

Some parts of the software are "unfortunately" proprietary - you can keep track of them by reading the LICENSE.md + the font we use across MuditaOS is a proprietary one and needs buying a license when used for commercial purposes.

brinlyau commented 2 years ago

Hey Adam and Wojtek.

to be clear, I did manage to get the simulator built (and running with what I assume is official fonts) a week and a half ago, and I think I even got a buildable image working for the rt1051 platform (required a lot to makefile hacking on a private branch) too - I don’t have a device yet, but I compared my image with my official image and it seems the same.

anyway; my request is option D “add an option to download_assets.py to take local files”.

I have obtained my assets (fonts/Luts bin) from elsewhere (that I’m not gonna disclose, and I have a private GitHub assets repo, as well as zip in my downloads folder) but I’d like to use them in a build locally via a option in a script (that I obviously can’t distribute) without maintaining a seperate fork with seperate history..

I currently have them just straight inside a repo as one initial commit; because I’m not sure the best way to match your format with the GitHub api/releases etc as I don’t know the structure of your Mudita/MuditaOSAssets repo ;) - if you can’t disclose that, then I’d love if you could just add support for a local folder which assets could be imported from (we already have gitcommit books to prevent stuff from being committed).

I’d like you to implement this if possible, because it would reduce maintainence burden if you proposed a solution that would work for you (to be 100% clear: I know you can’t give me the Fonts/luts assets; but I have obtained them, I just want a non intrusive way to add them into my build).

Brinly.

On Tue, 23 Nov 2021 at 1:45 am, Wojtek Cichoń @.***> wrote:

Some parts of the software are "unfortunately" proprietary - you can keep track of them by reading the LICENSE.md https://github.com/mudita/MuditaOS/blob/master/LICENSE.md + the font we use across MuditaOS is a proprietary one and needs buying a license when used for commercial purposes.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mudita/MuditaOS/issues/3216#issuecomment-975600640, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABECH2IQ5OLV6LIVOJPDDS3UNJJO3ANCNFSM5H4IJI6A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

pholat commented 2 years ago

Could you please check: /configure.sh pure rt1051 relWithDebInfo -DMUDITA_ASSETS_JSON=assets.json -DMUDITA_ASSETS_DL_TYPE=local

Here: https://github.com/mudita/MuditaOS/pull/3309/files

You will just have to:

Will it suffice? If so I could possibly update it in the meantime so that it would be somehow acceptable :)

brinlyau commented 2 years ago

Perfect, that's basically what I was gonna propose, but I wasn't sure on what the best way for mainlining a patch like that was. I haven't tested yet, due to travelling, but if I get some time, I'll spin up a VPS on the weekend to try build :)

brinlyau commented 2 years ago

https://gist.github.com/brinlyau/6596bf097ea116f7587a63faae555ae5

Picked those commits in the PR:3309, and added lol.txt in /tmp/ but it still fails to build. What did I miss? (I think the python script is broken)

pholat commented 2 years ago

@brinlyau there are two downloads 1st is for assets and 2nd is for (assets) bootloader & loader which we download from selected releases.

Default target creates an image by default. For this case, you can build PurePhone.hex-target instead. It's pretty much useless without a phone though (we do not have i.e. qemu to run that :) ). Consider building for Linux and running simulator.

brinlyau commented 2 years ago

I've been using the Linux simulator for about two weeks (using a patched up cmake), but i want to run on the real device since I have some patches (a bunch of my background is embedded/platform/bsp work) that are impractical with the emulator when my device arrives :)

Are you planning on opensourcing ecoboot or updater (or even posting it in binary form on a publicly downloadable link) - I loaded the ecoboot.bin into IDA to try understand it better, and I could probably reimplement it over a few weeks/months as OSS, but I'd rather not if I don't have to - I also probably won't bother to implement it if NXP's secure boot is mandating a signed bootloader on the real hardware.

If anybody is curious: these are the assets that I have (BYO as I cannot supply anybody them), https://gist.github.com/brinlyau/080ed55b1bd092fc00b14f45ec4671ca

My ordered device is probably a month off or so, but I want to get all the bits to be able to build as a community member ready in the mean time.

pholat commented 2 years ago

That's great :)

Opening up is a process, as MuditaOS is OSS, PureUpdater is next in line and should be available shortly, then I suppose ecoboot will follow up. While the ecoboot is signed, the signature is used for authentication only.

So the very first need you will have is to load binary on the phone. I do not know if NPI has a JTAG socket soldered in - but I guess this would be the easiest way to load the software for tests. There are a few other ways to load the software, this is just the simplest and least intrusive one.

Please tell if delivering the proposed draft will be enough to close this issue :crossed_fingers:

ps. I know that @SP2FET and @paweljonskim were recently announced as community contact developers on the forum - if you happen to send some ideas, patches, or even remarks what would you expect from us as an OSS developer - I'm sure it won't be unnoticed.

brinlyau commented 2 years ago

Perfect. I think we can close this issue now with the proposed draft patches.

Thanks for your work on this. Super cool to have a open source phoneOS that’s not a smartphone :)

On Thu, 25 Nov 2021 at 6:37 pm, Adam Dobrowolski @.***> wrote:

That's great :)

Opening up is a process, as MuditaOS is OSS, PureUpdater is next in line and should be available shortly, then I suppose ecoboot will follow up. While the ecoboot is signed, the signature is used for authentication only.

So the very first need you will have is to load binary on the phone. I do not know if NPI has a JTAG socket soldered in - but I guess this would be the easiest way to load the software for tests. There are a few other ways to load the software, this is just the simplest and least intrusive one.

Please tell if delivering the proposed draft will be enough to close this issue 🤞

ps. I know that @SP2FET https://github.com/SP2FET and @paweljonskim https://github.com/paweljonskim were recently announced as community contact developers on the forum - if you happen to send some ideas, patches, or even remarks what would you expect from us as an OSS developer

  • I'm sure it won't be unnoticed.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mudita/MuditaOS/issues/3216#issuecomment-978911862, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABECH2NXCN2YTENB3OTGWQLUNXRSBANCNFSM5H4IJI6A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

brinlyau commented 2 years ago

Closing this issue, but might open up another one to explain the workaround :)