[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help with the arm64 and ppc64el installation-guides needed



Hi,

Holger Wansing <linux@wansing-online.de> wrote:
> Samuel Thibault <sthibault@debian.org> wrote:
> > Breno Leitao, le Fri 10 Apr 2015 17:44:01 -0300, a écrit :
> > > It is still on my github repository. Can you import it?
> > 
> > Uh..... I requested this very kind of information in september and
> > november, why wasn't this work (done in december) ever submitted
> > before?  We can integrate it in the installation manual, but it will
> > most probably not get translated for the release...
> 
> Yeah, it's a shame this has not been presented earlier!
> 
> > I'll however be unable to integrate things like "blablabla" (sic)...
> 
> The blablabla is indeed only a placeholder which gets removed in a later
> commit.

Sorry, I did not noticed there were several blablabla, only saw the first
one in preparing. So there is still some content missing indeed, as Samuel
mentioned! But we have several empty sections for other archs or
d-i modules too...

> If noone objects, I could create one single patch out of that for 
> a review here.

So here we go.

I have merged Brenos changings in a local tree, and additionally to that:

	in build/entities/common.ent there was the name of the architecture
	missing. So what's the exact pronunciation of that arch?
	(for powerpc we have "PowerPC" for example)
	Is there some special form, or simply ppc64el?
	In "Supported hardware" Breno has "Power Systems" as arch name. ???
	The ports page on https://www.debian.org/ports/ lists
	https://wiki.debian.org/ppc64el/ as basic info page for the
	ppc64el port, and there is no mention of "Power Systems"...
	Also, in "Instructions for Netboot installation" under preparing
	there is the term "PowerLinux machine". 
	This all should be harmonized to one term.

	commented out "Boot parameters for ppc64el" in "Booting the installer",
	since there is no content

	commented out "Updating PowerVM hypervisor" in "Pre-Installation 
	Hardware and Operating System Setup", since there is no content

	some small fixes ("file name.img" -> "file_name.img")

	Add some blank lines for document structure.

	Convert list in "Supported Hardware - Machines" into
	itemizedlist.



All that contained in attached patch for review.
The manual builds fine with it.


Holger

-- 
============================================================
Created with Sylpheed 3.2.0 under
	D E B I A N   L I N U X   7 . 0   W H E E Z Y !

Registered Linux User #311290 - https://linuxcounter.net/
============================================================
Index: build/arch-options/ppc64el
===================================================================
--- build/arch-options/ppc64el	(Revision 69729)
+++ build/arch-options/ppc64el	(Arbeitskopie)
@@ -2,9 +2,9 @@
 # the 'ppc64el' architecture
 # It is sourced by the build scripts
 
-archspec="powerpc;not-s390;not-x86"
-arch_listname="powerpc"
-arch_porturl="powerpc"
+archspec="ppc64el;not-s390;not-x86"
+arch_listname="ppc64el"
+arch_porturl="ppc64el"
 # TODO: update
 # This is coming from the lowmem package
 minimum_memory=32
Index: build/templates/docstruct.ent
===================================================================
--- build/templates/docstruct.ent	(Revision 69729)
+++ build/templates/docstruct.ent	(Arbeitskopie)
@@ -136,6 +136,7 @@
   <!ENTITY module-s390-zipl-installer.xml     SYSTEM "##SRCPATH##/using-d-i/modules/s390/zipl-installer.xml">
   <!ENTITY module-powerpc-yaboot-installer.xml  SYSTEM "##SRCPATH##/using-d-i/modules/powerpc/yaboot-installer.xml">
   <!ENTITY module-powerpc-quik-installer.xml  SYSTEM "##SRCPATH##/using-d-i/modules/powerpc/quik-installer.xml">
+  <!ENTITY module-powerpc-grub-installer.xml SYSTEM "##SRCPATH##/using-d-i/modules/powerpc/grub-installer.xml">
   <!ENTITY module-sparc-silo-installer.xml    SYSTEM "##SRCPATH##/using-d-i/modules/sparc/silo-installer.xml">
   <!ENTITY module-arm-flash-kernel-installer.xml    SYSTEM "##SRCPATH##/using-d-i/modules/arm/flash-kernel-installer.xml">
   <!ENTITY module-nobootloader.xml       SYSTEM "##SRCPATH##/using-d-i/modules/nobootloader.xml">
Index: build/entities/urls.ent
===================================================================
--- build/entities/urls.ent	(Revision 69729)
+++ build/entities/urls.ent	(Arbeitskopie)
@@ -311,6 +311,8 @@
 <!ENTITY url-powerpc-bootx
    "http://penguinppc.org/projects/bootx/";>
 
+<!ENTITY url-ibm-powerkvm
+ "https://www.ibm.com/developerworks/linux/tutorials/l-ibm-powerkvm-system-bring-up/";>
 
 <!-- ****************************************** mips links -->
 
Index: build/entities/common.ent
===================================================================
--- build/entities/common.ent	(Revision 69729)
+++ build/entities/common.ent	(Arbeitskopie)
@@ -24,7 +24,7 @@
 
 <!-- proper nouns for architectures -->
 <!ENTITY arch-title
-  "<phrase arch='any-amd64'>64-bit PC</phrase><phrase arch='arm'>ARM</phrase><phrase arch='hppa'>PA-RISC</phrase><phrase arch='any-i386'>32-bit PC</phrase><phrase arch='ia64'>IA-64</phrase><phrase arch='mips'>Mips</phrase><phrase arch='mipsel'>Mipsel</phrase><phrase arch='powerpc'>PowerPC</phrase><phrase arch='sparc'>SPARC</phrase><phrase arch='s390'>S/390</phrase>">
+  "<phrase arch='any-amd64'>64-bit PC</phrase><phrase arch='arm'>ARM</phrase><phrase arch='hppa'>PA-RISC</phrase><phrase arch='any-i386'>32-bit PC</phrase><phrase arch='ia64'>IA-64</phrase><phrase arch='mips'>Mips</phrase><phrase arch='mipsel'>Mipsel</phrase><phrase arch='powerpc'>PowerPC</phrase><phrase arch='ppc64el'>ppc64el</phrase><phrase arch='sparc'>SPARC</phrase><phrase arch='s390'>S/390</phrase>">
 
 <!-- general things from installer -->
 <!ENTITY enterkey "<keycap>Enter</keycap>">
Index: en/preparing/bios-setup/powerpc.xml
===================================================================
--- en/preparing/bios-setup/powerpc.xml	(Revision 69729)
+++ en/preparing/bios-setup/powerpc.xml	(Arbeitskopie)
@@ -50,3 +50,227 @@
 
 </para>
   </sect2>
+
+  <sect2 arch="ppc64el;powerpc" id="update-firmware">
+  <title>How to update bare metal ppc64el firmware</title>
+<para>
+
+This is an excerpt from
+<ulink url="&url-ibm-powerkvm;">IBM PowerKVM on IBM POWER8</ulink>
+
+</para><para>
+
+Open Power Abstraction Layer (OPAL) is the system firmware in the stack
+of POWER processor-based server.
+
+</para><para>
+
+There may be instances when the user might have to upgrade the Power
+Systems firmware to a more recent level to acquire new features or
+additional support for devices.
+
+</para><para>
+
+Make sure that the following requirements are met:
+
+<itemizedlist>
+<listitem><para>
+    an OS to be running on the system;
+</para></listitem><listitem><para>
+    the .img file of the OPAL level that the user needs to update to;
+</para></listitem><listitem><para>
+    the machine isn't under HMC control.
+</para></listitem>
+</itemizedlist>
+</para><para>
+
+Power Systems has two sides of flash to boot firmware from, namely
+permanent and temporary. This provides a way to test firmware updates on
+the temporary side of the flash before committing the tested changes to
+the permanent side, thereby committing the new updates.
+
+</para><para>
+
+Perform the following steps for the update:
+
+<orderedlist>
+<listitem><para>
+    Save the level of the existing firmware before really updating. In
+    ASM, in the system menu, click <command>Service Aids â?? Service Processor
+    Command Line</command>, and run the following command:
+<informalexample><screen>
+     cupdcmd -f
+</screen></informalexample>
+</para></listitem><listitem><para>
+    Download the .img file of the level of firmware to be updated to a
+    location in the host filesystem. Refer to IBM Fix Central for downloading
+    the image file.
+</para><para>
+    Verify the image downloaded by running the following command and
+    save the output.
+<informalexample><screen>
+    $update_flash -v -f &lt;file_name.img&gt;
+</screen></informalexample>
+</para></listitem>
+<listitem><para>
+    Update the firmware by running the following command.
+<informalexample><screen>
+    $update_flash -f &lt;file_name.img&gt;
+</screen></informalexample>
+</para>
+
+<note><para>
+
+ <itemizedlist>
+ <listitem><para>
+    The command reboots the system and therefore, sessions if any,
+    would be lost.
+ </para></listitem><listitem><para>
+    Do not reboot or switch off the system until it is back.
+ </para></listitem>
+ </itemizedlist>
+
+</para></note>
+
+</listitem><listitem><para>
+    Verify the updated firmware level of the temporary side of the flash
+    as in step 1. 
+</para></listitem><listitem><para>
+    In case the update has to be reverted, the user can do so by running
+    this command:
+<informalexample><screen>
+    $update_flash -r
+</screen></informalexample>
+    Rejection would reject only the temporary side of the flash. 
+    Therefore, the new level should be committed to the permanent side only
+    after thorough testing of the new firmware.
+</para><para>
+    The new updated level can be committed to the permanent side of the
+    flash by running the following command.
+<informalexample><screen>
+    $update_flash -c
+</screen></informalexample>
+</para></listitem>
+</orderedlist>
+
+</para>
+
+  <sect2 arch="ppc64el;powerpc"> 
+  <title>Updating KVM guest firmware (SLOF)</title>
+<para>
+
+Slimline Open Firmware (SLOF) is an implementation of the IEEE 1275 
+standard. 
+It can be used as partition firmware for pSeries machines running on
+QEMU or KVM.
+
+</para><para>
+
+The package qemu-slof is, in fact, a dependency of package 
+qemu-system-ppc (which also provides the virtual package 
+qemu-system-ppc64), and can be installed or updated via 
+<command>apt-get</command> tool on Debian-based distros.
+Like so:
+
+<informalexample><screen>
+# apt-get install qemu-slof
+</screen></informalexample>
+
+SLOF can also be installed into rpm-based distribution systems, given 
+the proper repository or rpm package. Additionally, the upstream source 
+code is available at http://github.com/leilihh/SLOF.
+
+</para><para>
+
+Thus, one can use a different SLOF file rather than the default, when
+running <command>qemu-system</command>, by adding the command line
+argument <userinput>-bios &lt;slof_file&gt; </userinput> when starting
+qemu.
+
+</para>
+  </sect2>
+
+  <sect2 arch="ppc64el"> <title>Updating PowerKVM hypervisor</title>
+    <sect3 arch="ppc64el"> <title>Instructions for Netboot installation</title>
+<para>
+
+You will need a DHCP/TFTP (BOOTP) server, as well as a web server.
+After downloading ibm-powerkvm-*-ppc64-service-*.iso, mount loop it and
+unpack it into some directory within your HTTP server www root 
+structure (say wwwroot):
+
+<informalexample><screen>
+# cd &lt;directory-where-the-iso-is&gt;
+# mkdir ./iso
+# sudo mount -o loop ibm-powerkvm-*-ppc64-service-*.iso ./iso
+# cp -a ./iso/* &lt;path-to-wwwroot&gt;
+</screen></informalexample>
+
+Create the petitboot.conf file in a directory under your tftproot, say
+/tftproot/powerkvm, with the following contents:
+
+<informalexample><screen>
+label PowerKVM Automated Install
+kernel http://YOUR-SERVER-IP/SOME-PATH-TO-wwwroot/ppc/ppc64/vmlinuz
+initrd http://YOUR-SERVER-IP/SOME-PATH-TO-wwwroot/ppc/ppc64/initrd.img
+append root=live:http://YOUR-SERVER-IP/SOME-PATH-TO-wwwroot/LiveOS/squashfs.img repo=http://YOUR-SERVER-IP/SOME-PATH-TO-wwwroot/packages rd.dm=0 rd.md=0 console=hvc0 console=tty0
+</screen></informalexample>
+
+Editing your dhcpd.conf, set this directive at the beginning:
+
+<informalexample><screen>
+option conf-file code 209 = text;
+</screen></informalexample>
+
+Add the system directive:
+
+<informalexample><screen>
+host &lt;your-system&gt; {
+    hardware ethernet &lt;system macaddr&gt;
+    fixed-address &lt;system ip&gt;;
+    option host-name "&lt;system hostname&gt;";
+    option conf-file "&lt;powerkvm/petitboot.conf&gt;";
+ }
+</screen></informalexample>
+
+Reboot the dhcp server.
+
+</para><para>
+
+Boot your PowerLinux machine.
+
+</para><para>
+
+There should be the following option at petitboot (select it):
+
+<informalexample><screen>
+"Power KVM Automated Install" 
+</screen></informalexample>
+
+The installer menu should appear automatically.
+
+</para>
+    </sect3>
+
+    <sect3 arch="ppc64el"> <title>Instructions for DVD</title>
+<para>
+Boot the ISO ibm-powerkvm-*-ppc64-service-*.iso (either burn a DVD or
+make it virtual if using QEMU) and simply wait for the boot.
+</para><para>
+There should be the following option at petitboot (select it):
+<informalexample><screen>
+"POWERKVM_LIVECD" 
+</screen></informalexample>
+The installer menu should appear automatically.
+</para>
+    </sect3>
+  </sect2>
+
+<!-- commented out for now, since there is no content
+  <sect2 arch="ppc64el"> <title>Updating PowerVM hypervisor</title>
+<para>
+FIXME: add some useful content here
+</para>
+  </sect2>
+-->
+    </sect2>
Index: en/using-d-i/components.xml
===================================================================
--- en/using-d-i/components.xml	(Revision 69729)
+++ en/using-d-i/components.xml	(Arbeitskopie)
@@ -153,6 +153,7 @@
 &module-mipsel-colo-installer.xml;
 &module-powerpc-yaboot-installer.xml;
 &module-powerpc-quik-installer.xml;
+&module-powerpc-grub-installer.xml;
 &module-s390-zipl-installer.xml;
 &module-sparc-silo-installer.xml;
 &module-arm-flash-kernel-installer.xml;
Index: en/using-d-i/modules/powerpc/grub-installer.xml
===================================================================
--- en/using-d-i/modules/powerpc/grub-installer.xml	(Revision 0)
+++ en/using-d-i/modules/powerpc/grub-installer.xml	(Revision 0)
@@ -0,0 +1,13 @@
+  <sect3 arch="ppc64el">
+  <title>Install <command>GRUB2</command> on a Hard Disk</title>
+<para>
+
+The boot loader for ppc64el machines is
+<command>GRUB2</command>.  
+
+<!--
+FIXME: add some useful content here
+-->
+
+</para>
+  </sect3>
Index: en/hardware/supported/powerpc.xml
===================================================================
--- en/hardware/supported/powerpc.xml	(Revision 69729)
+++ en/hardware/supported/powerpc.xml	(Arbeitskopie)
@@ -444,3 +444,39 @@
 
    </sect3>
  </sect2>
+
+  <sect2 arch="ppc64el"><title>CPU, Main Boards, and Video Support</title>
+<!-- Section for ppc64el -->
+
+  <sect3> <title>Machines</title>
+
+<itemizedlist>
+<listitem><para>
+
+S822L
+
+</para></listitem>
+<listitem><para>
+
+S821L
+
+</para></listitem>
+<listitem><para>
+
+S822
+
+</para></listitem>
+<listitem><para>
+
+S821
+
+</para></listitem>
+<listitem><para>
+
+TYAN GN70-BP010
+
+</para></listitem>
+</itemizedlist>
+
+    </sect3>
+  </sect2>
Index: en/hardware/hardware-supported.xml
===================================================================
--- en/hardware/hardware-supported.xml	(Revision 69729)
+++ en/hardware/hardware-supported.xml	(Arbeitskopie)
@@ -134,10 +134,10 @@
 </row>
 
 <row>
-  <entry>IBM PowerPC (little endian)</entry>
+  <entry>Power Systems</entry>
   <entry>ppc64el</entry>
+  <entry>IBM POWER8 or newer machines</entry>
   <entry></entry>
-  <entry></entry>
 </row>
 
 <!--
Index: en/boot-installer/powerpc.xml
===================================================================
--- en/boot-installer/powerpc.xml	(Revision 69729)
+++ en/boot-installer/powerpc.xml	(Arbeitskopie)
@@ -283,3 +283,41 @@
 
 </para>
   </sect2>
+
+  <sect2 arch="ppc64el"> <title>Booting a ppc64el machine</title>
+<para>
+
+How to boot a ppc64el machine:
+
+</para>
+
+  <sect3> <title>Petitboot</title>
+<para>
+
+Petitboot is a platform independent bootloader based on the Linux kexec.
+Petitboot supports loading kernel, initrd and device tree files from 
+any Linux mountable filesystem, plus can load files from the network 
+using the FTP, SFTP, TFTP, NFS, HTTP and HTTPS protocols. Petitboot can
+boot any operating system that includes kexec boot support.
+
+</para><para>
+
+Petitboot looks for bootloader configuration files on mountable devices
+in the system, and can also be configured to use boot information from a
+DHCP server.
+
+</para>
+  </sect3>
+
+<!-- comment this out for now, since there is no content
+  <sect3> <title>Boot parameters</title>
+<para>
+        Boot parameters for ppc64el
+
+FIXME: add some useful content here
+
+</para>
+  </sect3>
+-->
+
+  </sect2>
Index: en/boot-installer/boot-installer.xml
===================================================================
--- en/boot-installer/boot-installer.xml	(Revision 69729)
+++ en/boot-installer/boot-installer.xml	(Arbeitskopie)
@@ -5,7 +5,7 @@
 
 <!-- Include only archs that are documented to avoid build-errors -->
 <!-- The arch="..." condition can be deleted when al archs are present -->
- <sect1 arch="arm;any-x86;ia64;mips;mipsel;s390;powerpc;sparc">
+ <sect1 arch="arm;any-x86;ia64;mips;mipsel;s390;powerpc;ppc64el;sparc">
  <title>Booting the Installer on &arch-title;</title>
 
 <!-- This info is so architecture dependent, that I have turned the   -->

Reply to: