Patchwork [7/7,v3] Add powerpc64 petitboot defconfig

login
register
mail settings
Submitter Jeremy Kerr
Date June 17, 2014, 5:21 a.m.
Message ID <1402982507.186219.497008212672.7.gpush@pablo>
Download mbox | patch
Permalink /patch/360312/
State New
Headers show

Comments

Jeremy Kerr - June 17, 2014, 5:21 a.m.
A simple defconfig for building a petitboot-based bootloader for
powerpc64 machines.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

---
 configs/powerpc64_petitboot_defconfig |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
Arnout Vandecappelle - Oct. 12, 2014, 3:02 p.m.
On 17/06/14 07:21, Jeremy Kerr wrote:
> A simple defconfig for building a petitboot-based bootloader for
> powerpc64 machines.

 It would be nice if you could also create one for a qemu target, so people can
actually experiment with it.

> 
> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
> 
> ---
>  configs/powerpc64_petitboot_defconfig |   17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/configs/powerpc64_petitboot_defconfig b/configs/powerpc64_petitboot_defconfig
> new file mode 100644
> index 0000000..fa629ab
> --- /dev/null
> +++ b/configs/powerpc64_petitboot_defconfig
> @@ -0,0 +1,17 @@
> +BR2_powerpc64=y
> +BR2_GENERATE_LOCALE="en_US.UTF-8"
> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> +BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
> +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4=y
> +BR2_PACKAGE_NCURSES_WCHAR=y

 Is this needed?

> +BR2_PACKAGE_DROPBEAR=y

 Is this useful?

> +# BR2_PACKAGE_DROPBEAR_SERVER is not set
> +BR2_PACKAGE_ETHTOOL=y

 Is this useful?

> +BR2_PACKAGE_NETCAT=y

 Is this useful?

> +BR2_PACKAGE_RSYNC=y

 Is this useful?

> +BR2_PACKAGE_PETITBOOT=y
> +BR2_TARGET_ROOTFS_CPIO=y
> +BR2_TARGET_ROOTFS_CPIO_XZ=y
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Jeremy Kerr - Oct. 20, 2014, 3:27 a.m.
Hi Arnout,

>  It would be nice if you could also create one for a qemu target, so people can
> actually experiment with it.

This build should work fine for qemu, is there something else I should
be doing here?

>> --- /dev/null
>> +++ b/configs/powerpc64_petitboot_defconfig
>> @@ -0,0 +1,17 @@
>> +BR2_powerpc64=y
>> +BR2_GENERATE_LOCALE="en_US.UTF-8"
>> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
>> +BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
>> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
>> +BR2_PACKAGE_LINUX_FIRMWARE=y
>> +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
>> +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4=y
>> +BR2_PACKAGE_NCURSES_WCHAR=y
> 
>  Is this needed?

Yes, we need this to display boot labels that contain non-ASCII
characters. Fedora uses "Schrödinger’s cat", for example...

>> +BR2_PACKAGE_DROPBEAR=y
> 
>  Is this useful?
> 
>> +# BR2_PACKAGE_DROPBEAR_SERVER is not set
>> +BR2_PACKAGE_ETHTOOL=y
> 
>  Is this useful?
> 
>> +BR2_PACKAGE_NETCAT=y
> 
>  Is this useful?
> 
>> +BR2_PACKAGE_RSYNC=y
> 
>  Is this useful?

We've found that these four utilities have been very useful in debugging
boot issues; dropbear, netcat and rsync for remote access / file
transfer, and ethtool for network-device firmware management.

However, if we want to keep the defconfig as minimal as possible (rather
than the configuration that I've assumed users will generally need), we
can remove these.

Regards,


Jeremy
Arnout Vandecappelle - Oct. 21, 2014, 9:31 p.m.
On 20/10/14 05:27, Jeremy Kerr wrote:
> Hi Arnout,
> 
>>  It would be nice if you could also create one for a qemu target, so people can
>> actually experiment with it.
> 
> This build should work fine for qemu, is there something else I should
> be doing here?

 Because of the firmware lines, I thought that it was for some specific hardware.

 It would be better to take qemu_ppc64_pseries_defconfig and add the
petitboot-specific things. I'd also name it
qemu_ppc64_pseries_petitboot_defconfig to make this explicit. Or alternatively,
petitboot_qemu_ppc64_pseries_defconfig.

> 
>>> --- /dev/null
>>> +++ b/configs/powerpc64_petitboot_defconfig
>>> @@ -0,0 +1,17 @@
>>> +BR2_powerpc64=y
>>> +BR2_GENERATE_LOCALE="en_US.UTF-8"
>>> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
>>> +BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
>>> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
>>> +BR2_PACKAGE_LINUX_FIRMWARE=y
>>> +BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
>>> +BR2_PACKAGE_LINUX_FIRMWARE_CXGB4=y
>>> +BR2_PACKAGE_NCURSES_WCHAR=y
>>
>>  Is this needed?
> 
> Yes, we need this to display boot labels that contain non-ASCII
> characters. Fedora uses "Schrödinger’s cat", for example...

 Doesn't sound really essential, but probably OK.

> 
>>> +BR2_PACKAGE_DROPBEAR=y
>>
>>  Is this useful?
>>
>>> +# BR2_PACKAGE_DROPBEAR_SERVER is not set
>>> +BR2_PACKAGE_ETHTOOL=y
>>
>>  Is this useful?
>>
>>> +BR2_PACKAGE_NETCAT=y
>>
>>  Is this useful?
>>
>>> +BR2_PACKAGE_RSYNC=y
>>
>>  Is this useful?
> 
> We've found that these four utilities have been very useful in debugging
> boot issues; dropbear, netcat and rsync for remote access / file
> transfer, and ethtool for network-device firmware management.
> 
> However, if we want to keep the defconfig as minimal as possible (rather
> than the configuration that I've assumed users will generally need), we
> can remove these.

 Yes, we try to have minimal defconfigs.


 It would also be nice to create board/qemu/ppc64-pseries/readme-petitboot.txt
that explains how you can run this defconfig.

 I guess petitboot takes some kind of configuration file that specifies what
you're going to boot into. It would be nice to have in the readme an example of
how you can boot into another buildroot image (e.g. qemu_ppc64_pseries_defconfig).



 Regards,
 Arnout

Patch

diff --git a/configs/powerpc64_petitboot_defconfig b/configs/powerpc64_petitboot_defconfig
new file mode 100644
index 0000000..fa629ab
--- /dev/null
+++ b/configs/powerpc64_petitboot_defconfig
@@ -0,0 +1,17 @@ 
+BR2_powerpc64=y
+BR2_GENERATE_LOCALE="en_US.UTF-8"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_PETITBOOT=y
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y