[arch-releng] [archiso] keep name resolver settings

Christian Hesse list at eworm.de
Fri Apr 20 05:33:48 EDT 2012


Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar> on Thu, 2012/04/19 21:50:
> On 04/19/2012 06:16 PM, Christian Hesse wrote:
> > Christian Hesse<list at eworm.de>  on Thu, 2012/04/19 23:08:
> >> Ionut Biru<ibiru at archlinux.org>  on Thu, 2012/04/19 23:56:
> >>> On 04/19/2012 10:50 PM, Christian Hesse wrote:
> >>>> Hello everybody,
> >>>>
> >>>> I am not shure if this is the correct place to report or if there is
> >>>> any better one... If so - please let me know.
> >>>>
> >>>> Ok, the initrd hooks from archiso support PXE booting. In this case the
> >>>> initrd is responsible for setting up the network. All these setting are
> >>>> persistent, so are still valid after changing to the real system. With
> >>>> one exception: name resolver settings (namely file /etc/resolv.conf)
> >>>> are lost, which ends up in a system with network connectivity that can
> >>>> not resolve a single host.
> >>>>
> >>>> Even worse: When launching a dhcp client you may get a new address and
> >>>> end up with something completely useless as nbd connection is lost.
> >>>>
> >>>> I would like to write the final /etc/resolv.conf from within initrd.
> >>>> For me this completely solves the problem. Patch is attached.
> >>> Please send the patch inline since our mailing list filters regular
> >>> attachments.
> >>>
> >> Sorry, did not know that.
> >>
> >> Here we go:
> >> [snip]
> > Stupid me... I messed it up. Here is a working one:
> >
> > --- archiso/archiso/hooks/archiso	2012-04-19 18:39:24.381454201
> > +0200 +++ archiso/archiso/hooks/archiso	2012-04-19
> > 18:40:58.095839569 +0200 @@ -193,6 +193,13 @@ archiso_mount_handler() {
> >       if [[ "${copytoram}" == "y" ]]; then
> >           umount /run/archiso/bootmnt
> >       fi
> > +
> > +    if [[ -s "/etc/resolv.conf" ]]; then
> > +       echo "# These settings have been generated within inird and
> > moved" \ +>  ${newroot}/etc/resolv.conf
> > +       echo "# to main system by hook archiso.">>
> > ${newroot}/etc/resolv.conf
> > +	cat /etc/resolv.conf>>  ${newroot}/etc/resolv.conf
> > +    fi
> >   }
> >
> >   # vim:ft=sh:ts=4:sw=4:et:
> >
> Thanks. Yes I know about this.
> 
> archiso hook is not the most right place for this (it does not know 
> about "network" things), but at least is the most simple way for now, to 
> implement/workaround this.

No, it's not the right place... But I think it is the only way without
implementing this in mkinitcpio:

> I am currently waiting support on mkinitcpio for running hooks just 
> before the end of init script, in this way I can attach a function from 
> archiso_pxe_common hook, that will be executed.

Good to know a "real" fix is on the TODO list.
I will use my workaround for my self and wait for a proper solution. Thanks!
-- 
Best regards,
Chris
                         O< ascii ribbon campaign
                   stop html mail - www.asciiribbon.org


More information about the arch-releng mailing list