Hi  Jianyu Wang,

I think using pseudofs is a great idea.

But I suggest using "/etc/init.d/nxinit.rc" instead
of "/etc/init.d/init.rc" to avoid collision with "/etc/init.d/init.rc" from
NSH Init.

BTW, could you please submit this PR to the NuttX mainline?

BR,

Alan

On Wed, Oct 29, 2025 at 10:42 AM 王健宇 <[email protected]> wrote:

> Hi,
>
> Regarding the relationship between the init script (such as NSH's rcS or
> others like
> init.rc) and ROMFS, it appears to be a dependency based on the board code.
> However,
> there are actually other file system (FS) options available—for example,
> pseudofs,
> where we can register a buffer as a pseudo file. The open-vela/nuttx
> repository
> has added new interfaces to simplify usage steps, support write
> operations, and save
> memory. If you are interested, you can refer to this patch:
> https://github.com/open-vela/nuttx/pull/266
>
>
> BR,
>
> Jianyu Wang
>
> ________________________________
> 发件人: Sebastien Lorquet <[email protected]>
> 发送时间: 2025年10月29日 0:35
> 收件人: [email protected]
> 主题: [External Mail]Re: nxinit integration mess
>
> [外部邮件] 此邮件来源于小米公司外部,请谨慎处理。若对邮件安全性存疑,请将邮件转发给[email protected]进行反馈
>
> Hi
>
> Next step will be : how to modify these idioms in all the board
> make.defs that use romfs?
>
> ifeq ($(CONFIG_ETC_ROMFS),y)
>    RCSRCS  = etc/init.d/rc.sysinit etc/init.d/rcS
> endif
>
> Same with cmake based builds.
>
> The dependency is no longer just on CONFIG_ETC_ROMFS
>
> Sebastien
>
> On 10/28/25 17:24, Luchian Mihai wrote:
> > Hello all,
> >
> > I think keeping different names makes sense here.
> >
> > Using the same file names would lead to overlapping features between
> > `nxinit` and `nshlib`.
> >
> > Using both makes sense also, `nxinit` for initialization and daemons and
> > nsh as interactive shell,
> > *but* without (some) of the scripting support, the one responsible for
> > initializing the system.
> >
> > We can easily avoid that, using Kconfig, keeping a mutual exclusion
> between
> > them.
> > That would result in `nxinit` being coupled to `nshlib`.
> > I think it is bad overall to couple the apps together, and we should
> > avoid doing this. I think that
> > FreeBSD keeps the ports apps completely independent also (maybe I am
> > wrong?).
> >
> > So, I would suggest either:
> > * Keep `nxinit` decoupled from `nshlib`, so separate names.
> > * We should explicitly state that it is user's responsibility to
> >     not enable both, else both reads the same file, one will fail due to
> > syntax
> >
> > Cheers,
> > Mihai
> >
> > On Tue, 28 Oct 2025 at 16:57, Alan C. Assis <[email protected]> wrote:
> >
> >> I think having /etc/init.d/nx.sysinit for nxinitand rc.sysinit for nsh
> init
> >> is nice because we can have both init working.
> >>
> >> And also it is intuitive to users/developers to search for init scripts
> at
> >> /etc/init.d/
> >>
> >> BR,
> >>
> >> Alan
> >>
> >> On Tue, Oct 28, 2025 at 11:53 AM Nathan Hartman <
> [email protected]>
> >> wrote:
> >>
> >>> I haven't had a chance to study the proposed solution in depth but I
> >> would
> >>> like to say that conceptually I like the idea. If there has been some
> >>> friction in the discussions and PR feedback, I hope it can be resolved
> >>> amicably :-)
> >>>
> >>> Thanks to everyone for their hard work and valuable contributions.
> >>>
> >>> Cheers,
> >>> Nathan
> >>>
> >>> On Tue, Oct 28, 2025 at 10:47 AM Tomek CEDRO <[email protected]> wrote:
> >>>
> >>>> Yeah that sounds best but how to do this without breaking exiting
> >> stuff?
> >>>> Tomek
> >>>>
> >>>> On Tue, Oct 28, 2025 at 3:28 PM Sebastien Lorquet <
> >> [email protected]>
> >>>> wrote:
> >>>>> My simpler proposal would be to have different romfs directories for
> >>>>> different init systems, but it is a bit more work.
> >>>>>
> >>>>> Also this would completely eliminate name conflicts.
> >>>>>
> >>>>> But I can live with your proposal, ok.
> >>>>>
> >>>>> Sebastien
> >>>>>
> >>>>>
> >>>>> On 10/28/25 15:25, Alan C. Assis wrote:
> >>>>>> +1
> >>>>>> I think nx.sysinit and rc.sysinit is a good way to avoid collision
> >> or
> >>>>>> confusion!
> >>>>>>
> >>>>>>
> >>>>>> On Tue, Oct 28, 2025 at 11:16 AM Alin Jerpelea <[email protected]
> >>>> wrote:
> >>>>>>> +1 for proposed solution
> >>>>>>>
> >>>>>>> Best regards
> >>>>>>> Alin
> >>>>>>>
> >>>>>>> On Tue, 28 Oct 2025, 15:14 Tomek CEDRO, <[email protected]> wrote:
> >>>>>>>
> >>>>>>>> Good catch Anchao!! We all missed that sorry!! o_O
> >>>>>>>>
> >>>>>>>> Lets address the issue before merge, so we have better and more
> >>>>>>>> coherent solution right from start :-)
> >>>>>>>>
> >>>>>>>> How about /etc/init.d/nx.sysinit for nxinit scripts? So existing
> >>>>>>>> scripts will reside in /etc/init.d/rc.sysinit and there will be
> >> no
> >>>>>>>> conflicts and it will be clear which file is used for what :-)
> >>> Maybe
> >>>> a
> >>>>>>>> selected only file set move to firmware image would be desired
> >> too
> >>>>>>>> based on what init is used?
> >>>>>>>>
> >>>>>>>> You see why I like to bring some attention to dev@ from the GH
> >> PRs
> >>>>>>>> when needed? :-)
> >>>>>>>>
> >>>>>>>> Thank you again!! :-)
> >>>>>>>> Tomek
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Tue, Oct 28, 2025 at 2:55 PM Sebastien Lorquet <
> >>>> [email protected]>
> >>>>>>>> wrote:
> >>>>>>>>> Hello,
> >>>>>>>>>
> >>>>>>>>> I think that the issue that you have identified is very valid
> >> but
> >>> it
> >>>>>>>>> took time for me to identify it.
> >>>>>>>>>
> >>>>>>>>> This is not just a random app used by someone.
> >>>>>>>>>
> >>>>>>>>> This app depends on a set of scripts that reside in the board
> >>>>>>>>> directories, in the romfs directories.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> In fact many boards in the main repo have init files for nsh,
> >> and
> >>>> they
> >>>>>>>>> are set up in a way that was made just for this and is probably
> >>>>>>>>> incompatible with the different requirements of different init
> >>>> systems.
> >>>>>>>>> We need a way to setup several different romfs in board
> >>> directories,
> >>>>>>> one
> >>>>>>>>> would be used for nsh init scripts, the other one with nxinit.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> First of all I want to thank you for identifying this issue that
> >>>>>>>>> slipped, it is important and must be adressed.
> >>>>>>>>>
> >>>>>>>>> But I do no think that it is blocking integration of the app
> >>> itself.
> >>>>>>>>> I am confident that we can find a good structure for this in
> >> board
> >>>>>>>>> directories.
> >>>>>>>>>
> >>>>>>>>> Writing that from UTC+1, xiao is probably finishing his work day
> >>>> around
> >>>>>>>>> UTC+7, I hope tomorrow the pull requests will be reopened and
> >> the
> >>>>>>>>> project will go forward.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Sebastien
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On 10/28/25 13:42, chao an wrote:
> >>>>>>>>>> I am not denying nxinit, so I have not added any comments in
> >> the
> >>>> apps
> >>>>>>>>>> repository. All my comments here are about discussing how
> >> nxinit
> >>>>>>>> should be
> >>>>>>>>>> implemented, rather than rejecting the merging of this PR.
> >>>>>>>>>> I don't understand why there was such an intense reaction
> >> during
> >>>> the
> >>>>>>>>>> discussion, even to the extent of closing the PR.
> >>>>>>>>>> nxinit provides system service monitoring capabilities, which
> >>> were
> >>>>>>>> missing
> >>>>>>>>>> from the previous startup scripts. However, I believe we need
> >> to
> >>> be
> >>>>>>>>>> cautious if nxinit is to be integrated into the nuttx kernel,
> >> for
> >>>> the
> >>>>>>>>>> following two reasons:
> >>>>>>>>>>
> >>>>>>>>>>       1. nxinit will cause the system to support two sets of
> >>> script
> >>>>>>>> syntax:
> >>>>>>>>>>       android init and nuttx shell.
> >>>>>>>>>>       2. If developers of nsh want to use the service daemon
> >>>>>>> capability,
> >>>>>>>> they
> >>>>>>>>>>       need to replace the initialization entry, and the code
> >>>> previously
> >>>>>>>> in the
> >>>>>>>>>>       nuttx init script cannot be used continuously.
> >>>>>>>>>>
> >>>>>>>>>> Whether to enhance the existing system implementation or
> >> create a
> >>>> new
> >>>>>>>> set
> >>>>>>>>>> of implementations, the choice is yours.
> >>>>>>>>>>
> >>>>>>>>>> BRs,
> >>>>>>>>>>
> >>>>>>>>>> raiden00pl <[email protected]> 于2025年10月28日周二 20:03写道:
> >>>>>>>>>>
> >>>>>>>>>>> nuttx-apps has always been a collection of useful applications
> >>> and
> >>>>>>>> libs for
> >>>>>>>>>>> users. Nothing in this repo is mandatory, it's completely
> >>>> optional.
> >>>>>>> I
> >>>>>>>> don't
> >>>>>>>>>>> see
> >>>>>>>>>>> any reason why we should give up from nxinit in nuttx-apps.
> >>> What's
> >>>>>>>> more, I
> >>>>>>>>>>> see
> >>>>>>>>>>> this as a big loss for the project.
> >>>>>>>>>>>
> >>>>>>>>>>> Having a repository like nuttx-apps is a big advantage of
> >> NuttX.
> >>>>>>> This
> >>>>>>>> gives
> >>>>>>>>>>> us more freedom in what we can keep there than if the apps
> >> were
> >>>> part
> >>>>>>>> of
> >>>>>>>>>>> the nuttx kernel repo. So we don't have to look for a perfect
> >>>>>>>> solution,
> >>>>>>>>>>> which probably doesn't exist anyway.
> >>>>>>>>>>>
> >>>>>>>>>>> wt., 28 paź 2025 o 12:20 Michał Łyszczek <
> >>> [email protected]
> >>>>>>>>>>> napisał(a):
> >>>>>>>>>>>
> >>>>>>>>>>>> On 2025-10-28 11:54:33, Sebastien Lorquet wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> The nuttx-apps directory already contains many apps whose
> >>> value
> >>>> is
> >>>>>>>> much
> >>>>>>>>>>>> more
> >>>>>>>>>>>>> dubious/discussable than this nxinit thing.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Following these events Xiao Xiang got understandably fed up
> >>> and
> >>>>>>> has
> >>>>>>>>>>>>> retracted all pull requests related to this project.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I wonder what is the opinion of the community about this
> >>> issue.
> >>>>>>>>>>>>> Should we vote about the integration of this new app?
> >>>>>>>>>>>> I'd say nuttx-apps should be treated like package/ dir in
> >>>>>>> buildroot.
> >>>>>>>> You
> >>>>>>>>>>>> want an app that is useful to you? You just prepare make file
> >>> and
> >>>>>>>> kconfig
> >>>>>>>>>>>> to
> >>>>>>>>>>>> integrate it and push it. If code is not in nuttx repo, that
> >> is
> >>>>>>>> Makefile
> >>>>>>>>>>>> just downloads .tar.gz from the net and unpacks it - it
> >> doesn't
> >>>>>>> even
> >>>>>>>> have
> >>>>>>>>>>>> to
> >>>>>>>>>>>> follow nuttx code convention.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I myself have added few apps like that. App only contains
> >>>> Makefile
> >>>>>>>> and
> >>>>>>>>>>>> Kconfig
> >>>>>>>>>>>> and code is downloaded from the internet. There was never any
> >>>>>>> problem
> >>>>>>>>>>> with
> >>>>>>>>>>>> pushing such apps. And I believe I am the only person that
> >> uses
> >>>>>>> them
> >>>>>>>> :)
> >>>>>>>>>>>> So in my opinion, that nxinit should be totally allowed to be
> >>>> added
> >>>>>>>> to
> >>>>>>>>>>>> apps.
> >>>>>>>>>>>> It's useful to someone. It's 100% optional. It's not default.
> >>> It
> >>>>>>>> does not
> >>>>>>>>>>>> break
> >>>>>>>>>>>> anything. Hence it should be added without any votes as long
> >> as
> >>>> it
> >>>>>>>>>>> follows
> >>>>>>>>>>>> the
> >>>>>>>>>>>> rules. Even if such app benefits only a single person.
> >>>>>>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> >>>>>>>>
> >>>>
> >>>>
> >>>> --
> >>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> >>>>
> #/******本邮件及其附件含有小米公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
> This e-mail and its attachments contain confidential information from
> XIAOMI, which is intended only for the person or entity whose address is
> listed above. Any use of the information contained herein in any way
> (including, but not limited to, total or partial disclosure, reproduction,
> or dissemination) by persons other than the intended recipient(s) is
> prohibited. If you receive this e-mail in error, please notify the sender
> by phone or email immediately and delete it!******/#
>

Reply via email to