Okay Jianyu Wang, author of the Android System Init in NuttX code,
joined the dev@ mailing list, welcome, below is the discussion history
as read from the bottom up direction :-)
Tomek

On Tue, Oct 21, 2025 at 11:18 PM Tomek CEDRO <[email protected]> wrote:
>
> Okay I have provided feedback from the dev@ list to the gh prs and
> here comes the reply ;-)
>
> The main advantages of this Android System Init on NuttX:
> * it is custom trimmed down code implementing android system init
> compatible functionality.
> * it can run as standalone app that replaces nsh.
> * it provides ~10x smaller footprint over nsh.
>
> I invited Wang to join discussion here on the mailing list :-)
>
> There may be use cases for this. My proposition is to move all Android
> related stuff to apps/android that is apps/android/system/init and
> apps/android/fastboot. Also to rename kconfig variables so instead
> CONFIG_SYSTEM_SYSTEM it will be CONFIG_ANDROID_SYSTEM or similar? What
> do you think folks? :-)
>
> Thanks :-)
> Tomek
>
>
>
>
>
>
>
>
> On Tue, Oct 21, 2025 at 8:29 AM Luchian Mihai <[email protected]> 
> wrote:
> >
> > Hi Tomek,
> >
> > I am already more present in the project overall.
> > I usually leave comments rather than start reviews (regarding PRs).
> >
> > There are already comments on Pull Request for the documentation.
> > This subject that I've raised was more suited for the mailing list. It
> > reaches more of the community overall.
> >
> > More input than mine is needed if we want a resolution.
> >
> > Cheers,
> > Mihai
> >
> > On Tue, 21 Oct 2025 at 02:17, Tomek CEDRO <[email protected]> wrote:
> >
> > > Yeah, it is good to have a choice, maybe someone will find this
> > > solution useful and better fit for some applications, but.. we can
> > > already see some confusion with all different system / init solutions,
> > > so we should clearly distinguish the naming and functional separation
> > > (system system init does not say anything at all), and better
> > > documentation right from start (like Alan already requested and
> > > Luchian noted).
> > >
> > > Luchian noticed a common but important problem - one person who create
> > > some solution does not create good (or any) documentation right from
> > > start and then anyone who touches the solution needs to reinvent the
> > > wheel, what is tremendous waste of time and resources. I am sometimes
> > > dropped into such rabbit hole in various projects and it takes weeks
> > > or months to understand what is going on :D Good point! Luchian could
> > > you please provide feedback on the Pull Requests too?
> > >
> > > Thanks! :-)
> > > Tomek
> > >
> > >
> > > On Tue, Oct 21, 2025 at 1:00 AM Alan C. Assis <[email protected]> wrote:
> > > >
> > > > Hi Luchian,
> > > > that is what I suggested in the Documentation: before saying what 
> > > > Android
> > > > System Init is, the documentation needs to explain what it is solving on
> > > > NuttX.
> > > >
> > > > More important than that: starts explaining the existing solutions and
> > > when
> > > > to use them.
> > > >
> > > > As Xiang commented in the PR, their initial plan was to implement
> > > SystemV,
> > > > but it was more complex (and probably bigger).
> > > >
> > > > So Android System Init could be more beneficial for someone implemented
> > > > deep embedded system with NuttX.
> > > >
> > > > But I didn't give up trying to get the SystemV Init implementation from
> > > > Google, maybe someone there could help us.
> > > >
> > > > BR,
> > > >
> > > > Alan
> > > >
> > > > On Monday, October 20, 2025, Luchian Mihai <[email protected]>
> > > wrote:
> > > >
> > > > > Hello all,
> > > > >
> > > > > This might stir the waters a bit, but I think it needs to be said.
> > > > >
> > > > > I know Alan already pointed out the need for docs in the PR comments,
> > > but
> > > > > just the documentation is not enough.
> > > > >
> > > > > I think we (the community) or the PMC should be more assertive
> > > regarding
> > > > > these kinds of features.
> > > > > Why do we need another init system? What does this new init system
> > > solve?
> > > > > What should happen with the previous ones?
> > > > > Do not get me wrong, I am not against this new init system, I am in
> > > favour.
> > > > >
> > > > > While NuttX excels in posix compliance as a single standard, a lot of
> > > other
> > > > > things lack unity.
> > > > > Lacking a "default" way of doing things ends up in "hidden features",
> > > or
> > > > > rather, features
> > > > > that are used and known by a set of people.
> > > > >
> > > > > There is also support for fastboot and adb, so the android init system
> > > > > makes sense,
> > > > > but I see nothing that explains why they are present in the first
> > > place.
> > > > > Did they solve something, some time ago? Is the NuttX project aligning
> > > with
> > > > > the android tooling?
> > > > >
> > > > > I would like to point out my experience as a new contributor. It took
> > > me a
> > > > > few months to get the hang of how the thing should be done,
> > > > > or at least what the majority agrees. There are board examples that
> > > differ,
> > > > > but neither are wrong also.
> > > > > The system initialization is the same, I've read documentation about
> > > `exec`
> > > > > and `posix_spawn` and `task_create`,
> > > > > and I am writing docs about the flat, protected, kernel build. Yet, I
> > > still
> > > > > did not find the "NuttX way to leave" the kernel.
> > > > > And here we have another init system.
> > > > >
> > > > > For me this just feels more of a feature creep than a milestone, 
> > > > > sorry.
> > > > >
> > > > > It's hard to market (from my own experience) NuttX as anything other
> > > than
> > > > > "high quality code" if it takes days to
> > > > > figure out the solution (out of the existing few) for a specific
> > > problem.
> > > > >
> > > > > I suggest defining the expectations about this PR, and make a separate
> > > > > documentation page.
> > > > > Is something that NuttX wants to adopt going forward, that is great.
> > > > > Will it help only part of the community, that is also great.
> > > > > The only thing I ask is to make that as obvious as possible, it's
> > > tiring to
> > > > > "unravel the NuttX lore" from the mailing list.
> > > > >
> > > > > Cheers,
> > > > > Mihai
> > > > >
> > > > > On Mon, 20 Oct 2025 at 19:09, Tomek CEDRO <[email protected]> wrote:
> > > > >
> > > > > > well. :-(
> > > > > >
> > > > > > On Mon, Oct 20, 2025 at 3:02 PM Alan C. Assis <[email protected]>
> > > wrote:
> > > > > > >
> > > > > > > +1
> > > > > > >
> > > > > > > It is better to use the right naming.
> > > > > > >
> > > > > > > Fitbit implemented support for System V on NuttX and promised to
> > > donate
> > > > > > it,
> > > > > > > but after Google acquired them, none contribution came from them.
> > > > > > >
> > > > > > > Google also used NuttX on ARA Project, but no single code line was
> > > > > > > submitted to the NuttX mainline.
> > > > > > >
> > > > > > > BR,
> > > > > > >
> > > > > > > Alan
> > > > > > >
> > > > > > > On Mon, Oct 20, 2025 at 8:07 AM Tomek CEDRO <[email protected]>
> > > wrote:
> > > > > > >
> > > > > > > > Hello world :-)
> > > > > > > >
> > > > > > > > There is a very interesting and useful PR by @JianyuWang0623 
> > > > > > > > that
> > > > > adds
> > > > > > > > support for Android System Init functionality to NuttX [1][2]
> > > with
> > > > > > > > working example on qemu [3]. This is alternative to SystemV Init
> > > and
> > > > > > > > probably other init designs. Please help in reviewing the change
> > > :-)
> > > > > > > >
> > > > > > > > My only concern is naming convention here because just "system"
> > > and
> > > > > > > > "system init" is used (i.e. CONFIG_SYSTEM_INIT,
> > > > > CONFIG_SYSTEM_SYSTEM).
> > > > > > > > This may be a bit confusing because we do not know what init
> > > system
> > > > > > > > standard is used and we silently assume Android. My proposition
> > > is to
> > > > > > > > use "Android System Init" naming convention (i.e.
> > > > > > > > CONFIG_SYSTEM_ANDROID_INIT or something like that), so things 
> > > > > > > > are
> > > > > > > > self-explanatory, and other init systems may be used when
> > > necessary
> > > > > in
> > > > > > > > future without confusion. I am not insisting here and will
> > > follow the
> > > > > > > > community choice.
> > > > > > > >
> > > > > > > > Please let us know what you think :-)
> > > > > > > >
> > > > > > > > Thanks :-)
> > > > > > > > Tomek
> > > > > > > >
> > > > > > > > [1] https://github.com/apache/nuttx-apps/pull/3192
> > > > > > > > [2] https://github.com/apache/nuttx/pull/17215
> > > > > > > > [3] https://github.com/apache/nuttx/pull/17215
> > > > > > > >
> > > > > > > > --
> > > > > > > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> > > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> > > > > >
> > > > >
> > >
> > >
> > >
> > > --
> > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> > >
>
>
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info



-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Reply via email to