Florian Fainelli <[email protected]> [2016-02-09 19:57:22]:
> Le 09/02/2016 12:16, Petr Štetiar a écrit :
> > Petr Štetiar <[email protected]> [2016-02-09 21:04:14]:
> >
> >>> define Kernel/SetNfsCmdline
> >>> rm -f $(LINUX_DIR)/.config.prev
> >>> - mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
> >>> - grep -v "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old >
> >>> $(LINUX_DIR)/.config
> >>> - grep "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old | cut -d\" -f2 | sed
> >>> 's/root=\/dev\/\([a-z0-9]*\)\(.*\)/CONFIG_CMDLINE=\"root=\/dev\/nfs
> >>> ip=dhcp\2\"/' >> $(LINUX_DIR)/.config
> >>> + mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old
> >>> + grep -v "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old >
> >>> $(LINUX_DIR)/.config.set
> >>> + grep "CONFIG_CMDLINE=" $(LINUX_DIR)/.config.old | cut -d\" -f2 | sed
> >>> 's/root=\/dev\/\([a-z0-9]*\)\(.*\)/CONFIG_CMDLINE=\"root=\/dev\/nfs
> >>> ip=dhcp\2\"/' >> $(LINUX_DIR)/.config.set
> >>> endef
> >>
> >> This cut/sed kung-fu needs some improvements:
> >>
> >> * it doesn't work correctly in case of empty cmdline, CONFIG_CMDLINE=""
> >> * how to handle custom cmdline options? For example I don't want to use
> >> this
> >> hardcoded cmdline options, but use instead options provided by the
> >> bootloader
> >
> > Hm, now I'm wondering why is this macro needed at all. In case I'll set
> > CONFIG_KERNEL_ROOT_NFS=y, then I can set CONFIG_CMDLINE accordingly also,
> > right?
> >
> > Florian, what's your use case for this SetNfsCmdline macro, that you need to
> > hardcode kernel cmdline options? Thanks.
>
> Not all platforms get their command-line from the bootloader, or Device
> Tree, or whatever, some do actually hardcode the command-line into the
> kernel, that's what motivated this change in the first place.
I see, but I'm not sure how to handle it properly so it works for other use
cases as well. Maybe adding something like CONFIG_CMDLINE_NFSROOT option, but
this seems like overdesigning to me...
FYI, I'm using this base-files-nfs[1] package for development over NFS for a
few years already, currently on i.MX6 with u-boot like this:
setenv nfsroot /opt/devel/openwrt-master.git/bin/imx6/rootfs
setenv nfsargs root=/dev/nfs nfsroot=${serverip}:${nfsroot}
ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:apalis:eth0:off nfsrootdebug
I've noticed, that you've added something similar to the OpenWRT config
directly:
buildroot: add options to build the kernel for NFS boot
And I've to test it yet - just wondering if we don't need to use similar
approach to skip network initialization in case we boot over NFS as it's
currently done in base-files-nfs[1] package.
> I am fine dropping this, since obviously; if you turn on the option you
> know what you are doing, can you re-submit the patch you think is
> appropriate?
>From my point of view this macro SetNfsCmdline is not needed as you can
specify CONFIG_CMDLINE directly in your config. If you think also, that we
don't need this SetNfsCmdline macro, then you can just revert it yourself,
right? :-)
Thanks for heads up.
1.
https://github.com/ynezz/openwrt/commit/fe3e0081b603de99dd0f0a71478b8f3a3a941728
-- ynezz
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel