Re: [PATCH] allow ifup bring up network mannually even without netroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On 12/29/2011 05:05 PM, David Dillow wrote:

> On Thu, 2011-12-29 at 11:13 +0800, Dave Young wrote:
>> sometimes we need bring up network even without netroot
>> Here implement this by adding one param to ifup script, user can use:
>> /sbin/ifup $netif -m; to bring up eth0, note currently ifup will see
>> anything in param $2 as same.
>> `ifup eth0 -m` will create /tmp/net.eth0.mannual stamp file,
>> later dhclient-script can check this and pass $2 to netroot,
>> then netroot script will bring eth0 up
> 'Manual' is misspelled throughout the patch, and your commit message is
> a bit broken -- you say '/sbin/ifup $netif -m' will bring up eth0. You
> put the command line that actually would in the next paragraph.

Thanks for comments.
Will check and fix the spelling.
For broken commit message you means 's/$netif/eth0' ? will fix

> What's the use case? I'm sure there probably is one, but it's better to
> be specific in the commit message when giving an example. I'm assuming
> this is for your kdump work?

Yes, kdump will need scp vmcore to remote machine which need net up
without netroot
Also will add to v2 patch description

>> --- dracut.orig/modules.d/40network/dhclient-script
>> +++ dracut/modules.d/40network/dhclient-script
>> @@ -74,7 +74,12 @@ case $reason in
>>              echo "$line"
>>          done >/tmp/dhclient.$netif.dhcpopts
>>          echo online > /sys/class/net/$netif/uevent
>> -        initqueue --onetime --name netroot-$netif netroot $netif
>> +        if [ -e /tmp/net.$netif.mannual ]; then
>> +            /sbin/netroot $netif -m
>> +            rm -f /tmp/net.$netif.mannual
>> +        else
>> +            initqueue --onetime --name netroot-$netif netroot $netif
>> +        fi
> And if we want to use kdump with NFS root?

If nfsroot is already mounted as sysroot, ifup eth0 -m will return as
nop; If ifup eth0 -m run firstly then the shared codes will pass-through
and still will run netroot specific code.

> I think it would be cleaner to add either conditionally add netroot to
> the initqueue only when there is actually a netroot used, or
> make /sbin/netroot not care... it currently exits with a nonzero value
> if /tmp/ isn't there, or $netroot is empty. I assume that
> causes problems elsewhere -- I haven't kept up with dracut for a while
> -- but perhaps not and it is safe to just always call it.

I'm not sure I fully understand your option. can you elaborate more detail?

>> --- dracut.orig/modules.d/40network/ifup
>> +++ dracut/modules.d/40network/ifup
>> @@ -50,7 +52,11 @@ do_ipv6auto() {
>>      echo online > /sys/class/net/$netif/uevent
>> -    initqueue --onetime --name netroot-$netif netroot $netif
>> +    if [ -z "$2" ]; then
>> +        initqueue --onetime --name netroot-$netif netroot $netif
>> +    else
>> +        /sbin/netroot $netif -m
>> +    fi
>>  }
> Same comment here, with the added bonus that "$2" will reference the
> function's arguments, not the scripts, so you'll always do the initqueue
> call. 

Good catch, will fix

> Why are you wanting to run netroot immediately if you aren't using a
> network root? 

I want it behave like a manual operation.

> If it's just to copy the configuration over when you have a kdump, is it
> going to hurt things to not copy in that case? Do the network scripts in
> the real root care? They have to handle the case when you don't have a
> kdump anyway -- assuming you don't bring up the network in dracut unless
> you have a dump push.

we need to scp to nics other than nfs root nic also.

> If they really do care, then perhaps consider splitting out the copying
> of the config to a separate step that can be shared, rather than making
> things uglier than they already are. It'd probably be a good cleanup on
> it's own merits.


I firstly tried to split the code and isolate some code out, but finally
find it become more complex become current dracut is fully oriented to
rootfs mounting...

> Dave

To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Home]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux