[PATCH 4/4] bootm: add global.bootm.provide_hostname option

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Mar 13 23:15:12 PDT 2024


Hello Marco,

Cc += Leonard

On 13.03.24 20:45, Marco Felsch wrote:
> +		if (!barebox_hostname_is_valid(hostname)) {
> +			pr_err("Provided hostname is not compatible to systemd hostname requirements\n");
> +			ret = -EINVAL;
> +			goto err_out;
> +		}
> +
> +		hostname_bootarg = basprintf("systemd.hostname=%s", hostname);

Linux >= v6.0 supports a hostname= parameter and there's a discussion to decide what
the semantics should be and if it should differ to systemd.hostname=:
https://github.com/systemd/systemd/pull/25158

I am not fully sure, whether we should go with hostname or systemd.hostname= here.
@Leonard, what do you think?

Cheers,
Ahmad


> -static bool barebox_hostname_is_valid(const char *s)
> +bool barebox_hostname_is_valid(const char *s)
>  {
>  	unsigned int n_dots = 0;
>  	const char *p;
> diff --git a/include/bootm.h b/include/bootm.h
> index ee2b574521db..c69da85cdda1 100644
> --- a/include/bootm.h
> +++ b/include/bootm.h
> @@ -34,6 +34,11 @@ struct bootm_data {
>  	 * value of global.machine_id to Kernel.
>  	 */
>  	bool provide_machine_id;
> +	/*
> +	 * provide_hostname - if true, try to add systemd.hostname= with value
> +	 * of global.hostname to Kernel.
> +	 */
> +	bool provide_hostname;
>  	unsigned long initrd_address;
>  	unsigned long os_address;
>  	unsigned long os_entry;
> diff --git a/include/common.h b/include/common.h
> index b7b4d9e35094..d7b5261bc921 100644
> --- a/include/common.h
> +++ b/include/common.h
> @@ -127,6 +127,7 @@ void barebox_set_model(const char *);
>  const char *barebox_get_hostname(void);
>  void barebox_set_hostname(const char *);
>  void barebox_set_hostname_no_overwrite(const char *);
> +bool barebox_hostname_is_valid(const char *s);
>  
>  const char *barebox_get_serial_number(void);
>  void barebox_set_serial_number(const char *);

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list