Is there a Linux kernel boot parameter to configure an IPv6 address?

aef asked:

I know there is a parameter named ip which lets you configure IPv4 addresses on the Linux kernel through the boot loader. That looks like the following:

ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none

I’m looking for an equal parameter for IPv6 configuration. I couldn’t find anything about this in the kernel documentations.

Update: Because of a lot of you asked why I would need this: The idea to use a kernel configuration came up related to this problem. I suspect the regular boot-up interface configuration is not done, because the interfaces are already up. The reason for this could be that I’m using a pre-boot environment with a Dropbear SSH server to allow me to unlock my encrypted root partition. The IP addresses for this environment are configured through GRUB with the ip= parameter. There is no DHCP or Router Advertisement available on that Ethernet segment and as this is the uplink segment provided by a large hosting company, there is no way to change that fact.

My answer:


Sorry, but if you want this, you’ll have to build it yourself, or more likely, reuse someone else’s implementation.

The ip= command line option you’ve been using is actually part of the kernel’s boot code for mounting an NFS root filesystem. It has never been extended for IPv6, and there is no kernel boot parameter for configuring IPv6 at boot time.

That said, some Linux distributions such as Red Hat have implemented their own ipv6= boot parameter for their installation media. You may be able to reuse this code in your custom initramfs.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.