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

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.


According to Fedora, the ip= parameter can be used with IPv4 or IPv6 addresses. IPv6 addresses must be enclosed in square brackets. If you need both, you can use multiple ip= options on the kernel line as in:

... ip=[2001:db8::dead:beef]::[2001:db8::cafe:babe]:64::eth0:none ip=192.0.2.5::192.0.2.1:255.255.255.0::eth0:none ...


All your boot parameters are available via /proc/cmdline after boot. So, you can just set up all needed options via custom mkinitcpio hook, which would parse cmdline in search for specific param. You can use ipv6= like ip= one.