Debian PPC Starters Manual: Difference between revisions

From Power Progress Community Projects Wiki
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''Get inspiration and information from '' http://www.debian.org/doc/maint-guide/
''Get inspiration and information from '' http://www.debian.org/doc/maint-guide/
''keep this guide simple, in the form of:<br>''
''keep this guide simple, in the form of:
''
''Title / Why would you want to do that / tasks and commands to do it''
''Title / Why would you want to do that / tasks and commands to do it''




== Introduction ==
==Introduction==
Currently, Big Endian PowerPC architectures (powerpc/ppc64) are only classified as ports within Debian (a.k.a [https://www.ports.debian.org Debian Ports]), meaning neither are an officially supported architecture.  32-bit PowerPC (powerpc) was an officially supported architecture, with a 64-bit kernel available, until the release of Debian 9 (codenamed Stretch).  As a result the only way to run Debian on PowerPC is to use to either used the currently supported Debian 8 (codenamed Jessie) or the unstable branch known as Sid.


Currently, Big Endian PowerPC architectures (powerpc/ppc64) are only classified as ports within Debian, meaning neither are an officially supported architecture.  32-bit PowerPC (powerpc) was an officially supported architecture, with a 64-bit kernel available, until the release of Debian 9 (codenamed Stretch). As a result the only way to run Debian on PowerPC is to use to either used the currently supported Debian 8 (codenamed Jessie) or the unstable branch known as Sid.
''Why would you want to contribute to Debian PowerPC?''
* FREE Software and DFSF
* PowerPC is a [[RISC architecture]]
* All the existing G3, G4, and G5 Mac Machines
* All the existing Freescale/NXP Boards/Amigas/etc.
* Diversity, freedom, and choice
* A learning opportunity for non-x86 architecture and Linux
* The PowerPC Notebook Project
* Saving the world! :-)


''Why would you want to contribute to Debian PowerPC''<br>
==Installation of Debian PPC/PPC64==
:: - FREE Software and DFSF<br>
First things first: check if your computer is present in the '''supported''' list:
:: - PowerPC is a RISC architecture (more on that later)<br>
:: - All the existing G3, G4, and G5 Mac Machines<br>
:: - All the existing Freescale/NXP Boards/Amigas/etc.<br>
:: - Diversity, freedom, and choice<br>
:: - A learning opportunity for non-x86 architecture and Linux<br>
:: - The PowerPC Notebook Project<br>
:: - Saving the world! :-)


== Installation of Debian PPC/PPC64 ==


First things first: check if your computer is present in the '''supported''' list:
: https://www.debian.org/ports/powerpc/inst/install
: https://www.debian.org/ports/powerpc/inst/install


Also make note of whether or not your system is 64-bit capable, in which case you will install the 64-bit PowerPC version of Debian.
Also make note of whether or not your system is 64-bit capable, in which case you will install the 64-bit PowerPC version of Debian.


Now that you are ready to install Debian powerpc, you still have two more questions to answer:
Now that you are ready to install Debian powerpc, you still have two more questions to answer:: Which '''Installation Media''' do you want to use?:: '''USB stick''': Very convenient - but not really straightforward. Becomes easy when you get the hang of it.:: '''CD''' : The easiest - if you still have some CD-R / CD-RW around, and your CD writer is still working :-):: '''Hard Drive (HD)''' : Cannot see any real advantage over using '''USB stick''' - but you can do this if you want to.:: '''debootstrap''' : Very easy - almost magical - if you already have a running Debian installation on your target machine.
: Which '''Installation Media''' do you want to use?
:: '''USB stick''': Very convenient - but not really straightforward. Becomes easy when you get the hang of it.
:: '''CD''' : The easiest - if you still have some CD-R / CD-RW around, and your CD writer is still working :-)
:: '''Hard Drive (HD)''' : Cannot see any real advantage over using '''USB stick''' - but you can do this if you want to.
:: '''debootstrap''' : Very easy - almost magical - if you already have a running Debian installation on your target machine.
 
: Which Target '''Partitioning Scheme''' to use?
:: '''Debian alone''' on target disk - with one or several partitions - the most straightforward.
:: '''Debian sharing the disk with other OSes''' (MacOSX or others) - you will need to partition your disk, and move things around. '''Can be (is) worth it'''.
:: '''Debian alone on an external "firewire" disk''' - Haven't tested this. Could be interesting if you want to keep your internal disk as is, or if your internal disk is dead, and you do not have a replacement or you do not want to open your machine.  


The rest of this section will describe an installation using a '''USB stick''', on a '''supported machine''' - in my case, a venerable G4 PowerBook Aluminum. Debian is alone on the disk.<br />
: Which Target '''Partitioning Scheme''' to use?:: '''Debian alone''' on target disk - with one or several partitions - the most straightforward.:: '''Debian sharing the disk with other OSes''' (MacOSX or others) - you will need to partition your disk, and move things around. '''Can be (is) worth it'''. :: '''Debian alone on an external "firewire" disk''' - Haven't tested this. Could be interesting if you want to keep your internal disk as is, or if your internal disk is dead, and you do not have a replacement or you do not want to open your machine.
The rest of this section will describe an installation using a '''USB stick''', on a '''supported machine''' - in my case, a venerable G4 PowerBook Aluminum. Debian is alone on the disk.
''(I also have an iMac G5 MacOSX / Debian stable / Debian unstable installation - where unstable was installed using debootstrap)''
''(I also have an iMac G5 MacOSX / Debian stable / Debian unstable installation - where unstable was installed using debootstrap)''
===Download ISO===
Normally, I would install '''Debian stable''' first, then '''upgrade to Debian unstable'''. But we are not in a normal situation anymore, so we'll install unstable directly.


=== Download ISO image ===
For G4 and earlier (32-bits disk image):


Normally, I would install '''Debian stable''' first, then '''upgrade to Debian unstable'''. But we are not in a normal situation anymore, so we'll install unstable directly.


For G4 and earlier (32-bits disk image):
: http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc/netboot/mini.iso
: http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc/netboot/mini.iso


For G5 and later (64-bits disk image):
For G5 and later (64-bits disk image):: http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc64/netboot/mini.iso
: http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc64/netboot/mini.iso


The one I used is from the 04/07/2017 (7th of April 2017).
The one I used is from the 04/07/2017 (7th of April 2017).
===Write ISO to USB stick===
If you wanted to write the boot image on '''CD-ROM''' (CD-R or CD-RW) you would use a software like <code>brasero</code>.
For the '''USB stick''', the easiest (only) way to do this is using the <code>dd</code> command (on linux or [https://langui.sh/2011/04/02/using-dd-in-os-x/ MacOSX]).
One thing to know about the <code>dd</code> command is that you need to be '''careful''' when using it - do not use it as root - unless you know what you're doing.


=== Write ISO image to USB stick ===
Now the thing is, we ''need'' to use it as root to write the ISO image on the stick...


If you wanted to write the boot image on '''CD-ROM''' (CD-R or CD-RW) you would use a software like <code>brasero</code>.


For the '''USB stick''', the easiest (only) way to do this is using the <code>dd</code> command (on linux or [https://langui.sh/2011/04/02/using-dd-in-os-x/ MacOSX]).<br/>
First, <code>cd</code> to the directory containing the disk image.
One thing to know about the <code>dd</code> command is that you need to be '''careful''' when using it - do not use it as root - unless you know what you're doing.<br/>
 
Now the thing is, we ''need'' to use it as root to write the ISO image on the stick...<br/>
Then you need to get the '''device name''' for your USB stick. Plug it in and type:


First, <code>cd</code> to the directory containing the disk image.<br/>
Then you need to get the '''device name''' for your USB stick. Plug it in and type:<br/>
Linux:
Linux:
: <code>lsblk</code>
: <code>lsblk</code>
MacOSX:
MacOSX:: <code>diskutil list</code>
: <code>diskutil list</code>
Or you can just list the mounted filesystems:
Or you can just list the mounted filesystems:<br/>
: <code>df</code>
: <code>df</code>
On my computer the USB stick is <code>/dev/sdb</code>. There is a partition on it, and it is mounted on <code>/dev/sdb1</code>.
On my computer the USB stick is <code>/dev/sdb</code>. There is a partition on it, and it is mounted on <code>/dev/sdb1</code>.


Second, you need to '''unmount''' the mounted partition:
Second, you need to '''unmount''' the mounted partition:: <code>sudo umount /dev/sdb1</code>
: <code>sudo umount /dev/sdb1</code>


Finally, write the image:  
Finally, write the image: : <code>sudo dd if=mini.iso of=/dev/sdb</code>
: <code>sudo dd if=mini.iso of=/dev/sdb</code>
===Boot from USB Stick===
If you were using a '''CD-ROM''', you would just boot while holding the <code>c</code> button.


=== Boot from USB Stick ===
To boot on the USB stick, you'll need to invoke '''Open Firmware''' (equivalent of BIOS / EFI).
 
'''WARNING''': This is command line wizardry!


If you were using a '''CD-ROM''', you would just boot while holding the <code>c</code> button.
To boot on the USB stick, you'll need to invoke '''Open Firmware''' (equivalent of BIOS / EFI).<br/>
'''WARNING''': This is command line wizardry!<br/>


Here goes:
Here goes:


Plug in the USB stick and then boot your computer - while pressing on the <code><Command> + <Option> + o + f</code> buttons.<br/>
Plug in the USB stick and then boot your computer - while pressing on the <code><command></command> + <option> + o + f</option></code> buttons.
If you're not using an apple keyboard, you'll need to use <code><Windows> + <Alt> + o + f</code>.<br/>
 
If you're not using an apple keyboard, you'll need to use <code><windows> + <alt> + o + f</alt></windows></code>.
 


(if you're using a G5 machine - get earplugs or something - and '''do not do this at night in your room''' - the fans will run at maximum speed - and that's very noisy).
(if you're using a G5 machine - get earplugs or something - and '''do not do this at night in your room''' - the fans will run at maximum speed - and that's very noisy).


First you need to '''identify your USB stick''' (in Open Firmware terminology - and this depends on your computer and the USB port you're using):<br/>
First you need to '''identify your USB stick''' (in Open Firmware terminology - and this depends on your computer and the USB port you're using):
 
 
: <code>dev / ls</code>
: <code>dev / ls</code>


Scroll down (<code><Space></code>) until you get something like:<br/>
Scroll down (<code><space></space></code>) until you get something like:
: <code>/usb@1b</code>
: <code>/usb@1b</code>:: <code>/disk@1</code>
:: <code>/disk@1</code>


Now we know our USB stick is on <code>usb@1b</code> and is known as <code>disk@1</code>.<br/>
Now we know our USB stick is on <code>usb@1b</code> and is known as <code>disk@1</code>.


We still need to find the '''alias''' of <code>usb@1b</code>:<br/>
 
We still need to find the '''alias''' of <code>usb@1b</code>:
: <code>devalias</code>
: <code>devalias</code>


You need to look for the usb0, usb1 etc... corresponding to <code>usb@1b</code>:<br/>
You need to look for the usb0, usb1 etc... corresponding to <code>usb@1b</code>:
On my computer it was <code>usb1</code>.<br/>


Finally, '''boot''' your computer using:<br/>
On my computer it was <code>usb1</code>.
: <code>boot usb1/disk@1:2,\\yaboot</code><br/>
(This means we are booting on partition <code>2</code> of <code>disk@1</code> which is connected on <code>usb1</code>.)<br/>




You're ready to start the installation if you get the '''yaboot''' prompt:<br/>
Finally, '''boot''' your computer using:
: <code>Welcome to yaboot version 1.3.17</code>
: <code>boot usb1/disk@1:2,\\yaboot</code>
: <code>Enter "help" to get some basic usage information</code>
: <code>boot:</code>


=== Base Installation ===
(This means we are booting on partition <code>2</code> of <code>disk@1</code> which is connected on <code>usb1</code>.)
 
 
You're ready to start the installation if you get the '''yaboot''' prompt:
: <code>Welcome to yaboot version 1.3.17</code>: <code>Enter "help" to get some basic usage information</code>: <code>boot:</code>
===Base Installation===
You need to be somehow familiar with the '''Debian Installer''' to consider it '''''easy'''''...
 
It is not difficult, ''really'', but it might get intimidating if you're doing this for the first time...


You need to be somehow familiar with the '''Debian Installer''' to consider it '''''easy'''''...<br/>
It is not difficult, ''really'', but it might get intimidating if you're doing this for the first time...<br/>




To cut this short:  
To cut this short:  
:- plug in your '''ethernet''' cable (wireless networking will not work during installation).
:- follow the '''installer steps''' - selecting the '''default options''' (if you're going to use the full disk - no manual partitioning).




To give you a better idea, here is an overview of the '''main steps''' - with some comments where appropriate:<br/>
: - plug in your '''ethernet''' cable (wireless networking will not work during installation).: - follow the '''installer steps''' - selecting the '''default options''' (if you're going to use the full disk - no manual partitioning).
 
To give you a better idea, here is an overview of the '''main steps''' - with some comments where appropriate:


Starting with the '''yaboot''' prompt, type '''expert''' or '''install''':
: <code>boot: expert</code>


You'll get to the "familiar" red / grey / blue '''Debian installer main menu''':<br/>
Starting with the '''yaboot''' prompt, type '''expert''' or '''install''':: <code>boot: expert</code>
: <code>Choose language</code>
: <code>Access software for a blind person using a braille display</code>
: <code>Configure the keyboard</code>
: <code>Detect network hardware</code>
: <code>Configure the network</code>
: <code>Choose a mirror of the Debian archive</code>
: <code>Download installer components</code>
: ...


All goes smoothly until you start <code>Choose a mirror of the Debian archive</code>.<br/>
You'll get to the "familiar" red / grey / blue '''Debian installer main menu''':
It seems the installer is still looking for <code>stretch</code> - and as you know, err, it has been ''killed''.<br/>
: <code>Choose language</code>: <code>Access software for a blind person using a braille display</code>: <code>Configure the keyboard</code>: <code>Detect network hardware</code>: <code>Configure the network</code>: <code>Choose a mirror of the Debian archive</code>: <code>Download installer components</code>: ...
So, after selecting your mirror, you'll get a '''warning''' telling you:
: <code>The specified (default) Debian version (stretch) is not available from the selected mirror. It is possible to continue and select a different release for your installation, but normally you should go back and select a different mirror that does support the correct version.</code>
: <code> Go back and try a different mirror?</code>
You should select <code>No</code> This will allow you later to choose <code>sid (unstable)</code>.


Then, after completing <code>Download installer components</code>, you get back the '''Debian installer main menu''', with some '''additional steps''' to execute:
All goes smoothly until you start <code>Choose a mirror of the Debian archive</code>.
: <code>Set up users and passwords</code>
::- disable root login (I do this for security - and use <code>sudo</code> or <code>Root Terminal</code> for administration)
: <code>configure the clock</code>
: <code>Detect disks</code>
: <code>Partition disks</code>
::- use the Guided partitioning + <code>ext3</code> filesystem (I've had issues with yaboot and <code>ext4</code>).
: <code>Install the base system</code>
::- I have used the <code>linux-image-powerpc kernel</code> + <code>targeted initrd</code>.
: <code>Configure the package manager</code>
::- do not use <code>non-free</code> and <code>contrib</code> software. We'll later use <code>contrib</code> for wireless - but in a controlled way.
: <code>Select and install software</code>
::- please do configure the <code>popularity-contest</code> package. This will '''help Debian powerpc''' by showing the community people are still using it!
::- For desktop use you'd also want to install <code>mate-desktop-environment</code> or <code>LXDE</code>; you can also install a simple Window Manager like Openbox or IceWM, but will require bigger tuning work.
: <code>Install yaboot on a hard disk</code>
: <code>Continue without a boot loader</code>
: <code>Finish the installation</code>
::- this will allow you to reboot into your new system!


=== Additional Components ===
It seems the installer is still looking for <code>stretch</code> - and as you know, err, it has been ''killed''.


So, after selecting your mirror, you'll get a '''warning''' telling you:: <code>The specified (default) Debian version (stretch) is not available from the selected mirror. It is possible to continue and select a different release for your installation, but normally you should go back and select a different mirror that does support the correct version.</code>: <code> Go back and try a different mirror?</code>
You should select <code>No</code> This will allow you later to choose <code>sid (unstable)</code>.
Then, after completing <code>Download installer components</code>, you get back the '''Debian installer main menu''', with some '''additional steps''' to execute: : <code>Set up users and passwords</code>:: - disable root login (I do this for security - and use <code>sudo</code> or <code>Root Terminal</code> for administration): <code>configure the clock</code>: <code>Detect disks</code>: <code>Partition disks</code>:: - use the Guided partitioning + <code>ext3</code> filesystem (I've had issues with yaboot and <code>ext4</code>).: <code>Install the base system</code>:: - I have used the <code>linux-image-powerpc kernel</code> + <code>targeted initrd</code>. : <code>Configure the package manager</code> :: - do not use <code>non-free</code> and <code>contrib</code> software. We'll later use <code>contrib</code> for wireless - but in a controlled way.: <code>Select and install software</code>:: - please do configure the <code>popularity-contest</code> package. This will '''help Debian powerpc''' by showing the community people are still using it!:: - For desktop use you'd also want to install <code>mate-desktop-environment</code> or <code>LXDE</code>; you can also install a simple Window Manager like Openbox or IceWM, but will require bigger tuning work.: <code>Install yaboot on a hard disk</code>: <code>Continue without a boot loader</code>: <code>Finish the installation</code>:: - this will allow you to reboot into your new system!
===Additional Components===
Here are some additional components and applications to improve your Debian powerpc experience:
Here are some additional components and applications to improve your Debian powerpc experience:
: '''compositing''' (buffering to improve display).
:: <code>sudo apt-get install compton</code>
:: Preferences -> Default applications for LXSession
::: Core applications -> Composite Manager: <code>compton</code>
::: Autostart -> + Add <code>compton</code>


: '''cpu frequency scaling''' (I like to keep my computer as silent as possible).
:: <code>sudo apt-get install cpufrequtils</code>
: To get list of available cpufreq governors + statistics:
:: <code>cpufreq-info</code>
: To dynamically set CPU speed at max performance:
:: <code>sudo cpufreq-set -g performance</code>
: To dynamically set CPU at half-speed:
:: <code>sudo cpufreq-set -g powersave</code>
: To dynamically set CPU in adaptive speed:
:: <code>sudo cpufreq-set -g ondemand</code>
: To set CPU at half-speed - persistent after reboot:
:: <code>sudo vi /etc/default/cpufrequtils</code>
:: <code>GOVERNOR="powersave"</code>
: To set CPU in adaptive speed - persistent after reboot:
:: <code>sudo vi /etc/default/cpufrequtils</code>
:: <code>GOVERNOR="ondemand"</code>


: links2: a '''mega-fast web browser''' (graphic and command line) - firefox ESR is already installed - but it is (much) slower.
: '''compositing''' (buffering to improve display).:: <code>sudo apt-get install compton</code>:: Preferences -> Default applications for LXSession::: Core applications -> Composite Manager: <code>compton</code>::: Autostart -> + Add <code>compton</code>
:: <code>sudo apt-get install links2</code>


: conkeror: another '''mega-fast web browser''' (graphic - keyboard controlled, based on firefox ESR). Believe me, you'll love it!
: '''cpu frequency scaling''' (I like to keep my computer as silent as possible).:: <code>sudo apt-get install cpufrequtils</code>: To get list of available cpufreq governors + statistics::: <code>cpufreq-info</code>: To dynamically set CPU speed at max performance::: <code>sudo cpufreq-set -g performance</code>: To dynamically set CPU at half-speed::: <code>sudo cpufreq-set -g powersave</code>: To dynamically set CPU in adaptive speed::: <code>sudo cpufreq-set -g ondemand</code>: To set CPU at half-speed - persistent after reboot::: <code>sudo vi /etc/default/cpufrequtils</code>:: <code>GOVERNOR="powersave"</code>: To set CPU in adaptive speed - persistent after reboot::: <code>sudo vi /etc/default/cpufrequtils</code>:: <code>GOVERNOR="ondemand"</code>
:: <code>sudo apt-get install conkeror</code>
: links2: a '''mega-fast web browser''' (graphic and command line) - firefox ESR is already installed - but it is (much) slower.:: <code>sudo apt-get install links2</code>
: conkeror: another '''mega-fast web browser''' (graphic - keyboard controlled, based on firefox ESR). Believe me, you'll love it!:: <code>sudo apt-get install conkeror</code>
: '''wireless networking''' - you'll need to use the <code>contrib</code> repository - and download a non-free binary. Skip this if you want to keep a [[https://www.debian.org/social_contract#guidelines DFSG]] compliant installation. : First remove wicd (only if you installed LXDE, Mate installs network-manager by default): wireless did not work at all with wicd for me...:: <code>sudo apt-get autoremove wicd</code>
: Then edit apt sources.list to add <code>contrib</code>::: <code>sudo nano /etc/apt/sources.list</code>:: add the word <code>contrib</code> at the end of each line:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>: Install the driver (b43)::: <code>sudo apt-get update</code>:: <code>sudo apt-get install firmware-b43-installer</code>: Then edit back apt sources.list to remove <code>contrib</code>::: <code>sudo nano /etc/apt/sources.list</code>:: delete the word <code>contrib</code> at the end of each line:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>:: <code>sudo apt-get update</code>: Finally install network-manager (only in LXDE, in Mate Desktop, as said, it is already installed)::: <code>sudo apt-get install network-manager network-manager-gnome</code>
: '''gfx acceleration''' - without changing the ROM of ATI card - you'll need to use the <code>non-free</code> repository. (07/01/2018) I'm afraid some basic  functionalities - like switching to tty Consoles stopped working without using the proprietary drivers - at least on PowerBook G4 ... I'm still trying to understand why.
: Edit apt sources.list to add <code>non-free</code>::: <code>sudo nano /etc/apt/sources.list</code>:: add the word <code>non-free</code> at the end of each line:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>: Install the firmware-linux-nonfree::: <code>sudo apt-get update</code>:: <code>sudo apt-get install firmware-linux-nonfree</code>: Then edit back apt sources.list to remove <code>non-free</code>::: <code>sudo nano /etc/apt/sources.list</code>:: delete the word <code>non-free</code> at the end of each line:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>:: <code>sudo apt-get update</code>
: Now you need to set the correct yaboot kernel option::: <code>sudo nano /etc/yaboot.conf</code>:: Add a line under each <code>label=...</code> line: <code>append="radeon.agpmode=-1"</code> to get something like:
::: <code>image=/boot/vmlinux</code>
:::: <code>        label=Linux</code>
:::: <code>        append="radeon.agpmode=-1"</code>
:::: <code>        read-only</code>
:::: <code>        initrd=/boot/initrd.img</code>
:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>:: Apply your modifications by executing <code>sudo ybin -v</code>
: '''sound setup''' - sound seems to work out-of-the-box now, but it is muted by default, and PCM volume is set to 0...:: open a terminal window, and execute <code>alsamixer</code>:: Press <code>F6</code> and select <code>SoundByLayout</code>:: Then press <code>F5</code> and check if <code>Master</code> is muted (MM) - if it is, select it and press <code>m</code>. You can increase volume using <code>UP arrow</code>:: Then scroll right and check if <code>PCM</code> volume is set to 0. if it is, increase volume using <code>UP arrow</code>.
: ''gfx acceleration'' - changing the ROM of ATI card to use the free ROM (non-compatible with MacOS)
===When things go wrong (and they will...)===
A word to the wise: We're using '''unstable'''.


: '''wireless networking''' - you'll need to use the <code>contrib</code> repository - and download a non-free binary. Skip this if you want to keep a [[https://www.debian.org/social_contract#guidelines DFSG]] compliant installation.
It is '''''unstable'''''.
: First remove wicd (only if you installed LXDE, Mate installs network-manager by default): wireless did not work at all with wicd for me...
:: <code>sudo apt-get autoremove wicd</code>


: Then edit apt sources.list to add <code>contrib</code>:
:: <code>sudo nano /etc/apt/sources.list</code>
:: add the word <code>contrib</code> at the end of each line
:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>
: Install the driver (b43):
:: <code>sudo apt-get update</code>
:: <code>sudo apt-get install firmware-b43-installer</code>
: Then edit back apt sources.list to remove <code>contrib</code>:
:: <code>sudo nano /etc/apt/sources.list</code>
:: delete the word <code>contrib</code> at the end of each line
:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>
:: <code>sudo apt-get update</code>
: Finally install network-manager (only in LXDE, in Mate Desktop, as said, it is already installed):
:: <code>sudo apt-get install network-manager network-manager-gnome</code>


: '''gfx acceleration''' - without changing the ROM of ATI card - you'll need to use the <code>non-free</code> repository. (07/01/2018) I'm afraid some basic  functionalities - like switching to tty Consoles stopped working without using the proprietary drivers - at least on PowerBook G4 ... I'm still trying to understand why.
A new installation on my PowerBook G4 Al (radeon) almost works just fine on first boot...


: Edit apt sources.list to add <code>non-free</code>:
There is someissue with LCD '''backlight''' though.
:: <code>sudo nano /etc/apt/sources.list</code>
:: add the word <code>non-free</code> at the end of each line
:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>
: Install the firmware-linux-nonfree:
:: <code>sudo apt-get update</code>
:: <code>sudo apt-get install firmware-linux-nonfree</code>
: Then edit back apt sources.list to remove <code>non-free</code>:
:: <code>sudo nano /etc/apt/sources.list</code>
:: delete the word <code>non-free</code> at the end of each line
:: save the file with <code>Ctrl-o</code> and exit with <code>Ctrl-x</code>
:: <code>sudo apt-get update</code>


: '''sound setup''' - sound seems to work out-of-the-box now, but it is muted by default, and PCM volume is set to 0...
The major bugs were fixed (I think):
:: open a terminal window, and execute <code>alsamixer</code>
:: Press <code>F6</code> and select <code>SoundByLayout</code>
:: Then press <code>F5</code> and check if <code>Master</code> is muted (MM) - if it is, select it and press <code>m</code>. You can increase volume using <code>UP arrow</code>
:: Then scroll right and check if <code>PCM</code> volume is set to 0. if it is, increase volume using <code>UP arrow</code>.


: ''gfx acceleration'' - changing the ROM of ATI card to use the free ROM (non-compatible with MacOS)


=== When things go wrong (and they will...) ===
:: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795498#27:: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863438#5But there is still a small issue: After booting, screen is dark. Just press <code>Brightness UP</code> or <code><fn> + <f2></f2></fn></code> and you'll get your backlight back.


A word to the wise: We're using '''unstable'''.<br/>
It is '''''unstable'''''.<br/>


A new installation on my PowerBook G4 Al (radeon) works just fine on first boot...Rebooting 2 / 3 times is OK too...<br/>
If you're still having issues (screen freeze):
''However'', at one point, the LCD '''backlight''' would get turned '''off''' when xserver starts.<br/>
You can try to reboot with no graphics hardware:
The login screen is here, but there is '''no backlight'''!


It took me some time to find the culprit: <code>pbbuttonsd</code> ( and/or <code>hdparm</code> ).


So, ''If you get the problem'', you'll need to uninstall them. This would deactivate some functionality on Apple Laptops, but at least, your system is usable.<br/>  
: Switch to a '''Console''' screen (<code>F1</code> to <code>F6</code>)::: <code><ctrl> + <option> + <f1></f1></option></ctrl></code>: To be sure, you might need to do it again while holding the <code><fn></fn></code> button::: <code><fn> + <ctrl> + <option> + <f1></f1></option></ctrl></fn></code>: Type <code><enter></enter></code> 3/4 time to get rid of stray characters.: (Remember, you're still in the dark - no backlight.): Now, type your '''Login''' then <code><enter></enter></code> then '''Password''' then <code><enter></enter></code> and wait for a couple of seconds.: (Again type <code><enter></enter></code> 3/4 time to get rid of any potential stray characters.): Type the command to reboot your computer::: <code>sudo shutdown -r now</code> (followed by <code><enter></enter></code>: Enter your '''Password''' again (for sudo)
(You might like to do this right away if you're using a PowerBook G4 Al 15'...)


So, first, you'd want to reboot:<br/>
The computer should reboot now (wait for a couple of seconds again).
: Switch to a '''Console''' screen (<code>F1</code> to <code>F6</code>):
:: <code><Ctrl> + <Option> + <F1></code>
: To be sure, you might need to do it again while holding the <code><fn></code> button:
:: <code><fn> + <Ctrl> + <Option> + <F1></code>
: Type <code><Enter></code> 3/4 time to get rid of stray characters.
: (Remember, you're still in the dark - no backlight.)
: Now, type your '''Login''' then <code><Enter></code> then '''Password''' then <code><Enter></code> and wait for a couple of seconds.
: (Again type <code><Enter></code> 3/4 time to get rid of any potential stray characters.)
: Type the command to reboot your computer:
:: <code>sudo shutdown -r now</code> (followed by <code><Enter></code>
: Enter your '''Password''' again (for sudo)


The computer should reboot now (wait for a couple of seconds again).<br/>
If it doesn't, that means you're not made for typing in the dark... Try again, or just power off the machine by holding the power button (for a couple of seconds).
If it doesn't, that means you're not made for typing in the dark... Try again, or just power off the machine by holding the power button (for a couple of seconds).


Now, when you get to the yaboot prompt, start with no graphics hardware:
Now, when you get to the yaboot prompt, start with no graphics hardware:: <code>boot: Linux '''nomodeset'''</code>
: <code>boot: Linux '''nomodeset'''</code>


You'll start into an ugly and unusable login screen.
You'll start into an ugly and unusable login screen.


Switch now to a '''Console''' screen (<code>F1</code> to <code>F6</code>):
Switch now to a '''Console''' screen (<code>F1</code> to <code>F6</code>):: <code><ctrl> + <option> + <f1></f1></option></ctrl></code>
: <code><Ctrl> + <Option> + <F1></code>


Welcome to Debian command line OS!
Welcome to Debian command line OS!
(Wireless networking works).
(Wireless networking works).


Next remove <code>pbbuttonsd</code> and <code>hdparm</code>:
: <code>sudo apt-get purge pbbuttonsd</code>
: <code>sudo apt-get autoremove</code>


On next reboot, you'll get back your backlight!




In case something else happens, here is a list of links that can be of help:<br/>
In case something else happens, here is a list of links that can be of help:
[https://www.debian.org/releases/stable/powerpc/ Debian GNU/Linux Installation Guide (powerpc).]<br/>
[https://wiki.debian.org/PowerPC/FAQ Debian powerpc port FAQ.]<br/>
[https://lists.debian.org/debian-powerpc/ Debian powerpc mailing list.]<br/>
[irc://irc.debian.org/debianppc Debian powerpc IRC channel (#debianppc) on OFTC IRC network.]<br/>
[https://wiki.ubuntu.com/PowerPCKnownIssues Ubuntu PowerPC Known Issues.]<br/>


== Overview of Debian Bug Submission/Testing/Integration Process ==
[https://www.debian.org/releases/stable/powerpc/ Debian GNU/Linux Installation Guide (powerpc).]


[https://wiki.debian.org/PowerPC/FAQ Debian powerpc port FAQ.]
[https://lists.debian.org/debian-powerpc/ Debian powerpc mailing list.]
[irc://irc.debian.org/debianppc Debian powerpc IRC channel (#debianppc) on OFTC IRC network.]
[https://wiki.ubuntu.com/PowerPCKnownIssues Ubuntu PowerPC Known Issues.]
==Overview of Debian Bug Submission/Testing/Integration Process==
''Simple description (graphical diagram) of content from '' https://wiki.debian.org/HowtoUseBTS
''Simple description (graphical diagram) of content from '' https://wiki.debian.org/HowtoUseBTS




== Installation of Development/Debugging Tools ==
==Installation of Development/Debugging Tools==
 
''tools used for development, debugging etc... ''
''tools used for development, debugging etc... ''




== popcon: show Debian community that powerpc is still actively used! ==
==popcon: show Debian community that powerpc is still actively used!==
 
''this can help bringing back Debian powerpc as a release architecture''
''this can help bringing back Debian powerpc as a release architecture''




== Obtaining Source Code & Building From Source==
==Obtaining Source Code & Building From Source==
There are two methods for obtaining a package's source code (and probably more) in Debian. The first is to use apt and the second is to download the source directly from it's upstream location.


There are two methods for obtaining a package's source code (and probably more) in Debian. The first is to use apt and the second is to download the source directly from it's upstream location.


:: 1) Using apt-get source  
:: 1) Using apt-get source  
:: 2) Downloading Source from Upstream
:: 2) Downloading Source from Upstream


 
==Patches==
== Patches ==
 
''Making Patches, sharing and applying them''
''Making Patches, sharing and applying them''




== Packages ==
==Packages==
 
''Creating Debian packages - Conditions and rules to follow for packages to be included in Debian''
''Creating Debian packages - Conditions and rules to follow for packages to be included in Debian''




== Creating ISO Images ==
==Creating ISO Images==
 
''...''
''...''




== Debugging and Profiling ==
==Debugging and Profiling==
 
''...''
''...''




== 64-bit / 32-bit ==
==64-bit / 32-bit==
 
''...''
''...''
==OpenFirmware (OF) / U-Boot==
[https://gitlab.com/oshw-powerpc-notebook/freescale.com-ppc-u-boot/tree/master/board/freescale/t208xrdb U-Boot readme for T2080RDB] (note about the switch settings: 0 is ON and 1 is OFF) Also see [https://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf NXP SDK docs]


== OpenFirmware (OF) / U-Boot ==
To build on Debian (to be verified)  


[https://gitlab.com/oshw-powerpc-notebook/freescale.com-ppc-u-boot/tree/master/board/freescale/t208xrdb U-Boot readme for T2080RDB] (note about the switch settings: 0 is ON and 1 is OFF) Also see [https://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf NXP SDK docs]
To build on Debian (to be verified)
  apt-get install gcc-powerpc-linux-gnu qemu-user-static
  apt-get install gcc-powerpc-linux-gnu qemu-user-static


Line 365: Line 269:
Need to make space for u-boot. Default is first partition starting at sector 2048 which is slightly before end of space reserved for u-boot.
Need to make space for u-boot. Default is first partition starting at sector 2048 which is slightly before end of space reserved for u-boot.


  sfdisk /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0:0 << EOF
  sfdisk /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0:0 << EOF label: dos
label: dos
  label-id: 0x00000000
  label-id: 0x00000000
  device: /dev/sda
  device: /dev/sda
Line 395: Line 298:


  mkdir /mnt/boot/extlinux
  mkdir /mnt/boot/extlinux
  cat >/mnt/boot/extlinux/extlinux.conf <<EOF
  cat >/mnt/boot/extlinux/extlinux.conf <<eof
  TIMEOUT 100
  TIMEOUT 100
  DEFAULT default
  DEFAULT default
  MENU TITLE Boot menu
  MENU TITLE Boot menu  
LABEL default
        MENU LABEL Default
        LINUX /vmlinuz
        INITRD /initrd.img
        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8
LABEL old
        MENU LABEL old
        LINUX /vmlinuz.old
        INITRD /initrd.img.old
        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8
LABEL exit
        MENU LABEL Local boot script (boot.scr)
        LOCALBOOT 1
EOF


== Building Your Own Custom Kernel ==
LABEL default        MENU LABEL Default        LINUX /vmlinuz        INITRD /initrd.img        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8


''...''
LABEL old        MENU LABEL old        LINUX /vmlinuz.old        INITRD /initrd.img.old        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8


LABEL exit        MENU LABEL Local boot script (boot.scr)        LOCALBOOT 1


== Altivec - PowerPC Secret Weapon ==
EOF


</eof>
==Building Your Own Custom Kernel==
''...''
''...''


== Drivers ==


==Altivec - PowerPC Secret Weapon==
''...''
==Drivers==
''...''
''...''

Latest revision as of 20:47, 8 December 2018

Get inspiration and information from http://www.debian.org/doc/maint-guide/ keep this guide simple, in the form of: Title / Why would you want to do that / tasks and commands to do it


Introduction

Currently, Big Endian PowerPC architectures (powerpc/ppc64) are only classified as ports within Debian (a.k.a Debian Ports), meaning neither are an officially supported architecture. 32-bit PowerPC (powerpc) was an officially supported architecture, with a 64-bit kernel available, until the release of Debian 9 (codenamed Stretch). As a result the only way to run Debian on PowerPC is to use to either used the currently supported Debian 8 (codenamed Jessie) or the unstable branch known as Sid.

Why would you want to contribute to Debian PowerPC?

  • FREE Software and DFSF
  • PowerPC is a RISC architecture
  • All the existing G3, G4, and G5 Mac Machines
  • All the existing Freescale/NXP Boards/Amigas/etc.
  • Diversity, freedom, and choice
  • A learning opportunity for non-x86 architecture and Linux
  • The PowerPC Notebook Project
  • Saving the world! :-)

Installation of Debian PPC/PPC64

First things first: check if your computer is present in the supported list:


https://www.debian.org/ports/powerpc/inst/install

Also make note of whether or not your system is 64-bit capable, in which case you will install the 64-bit PowerPC version of Debian.

Now that you are ready to install Debian powerpc, you still have two more questions to answer:: Which Installation Media do you want to use?:: USB stick: Very convenient - but not really straightforward. Becomes easy when you get the hang of it.:: CD : The easiest - if you still have some CD-R / CD-RW around, and your CD writer is still working :-):: Hard Drive (HD) : Cannot see any real advantage over using USB stick - but you can do this if you want to.:: debootstrap : Very easy - almost magical - if you already have a running Debian installation on your target machine.

Which Target Partitioning Scheme to use?:: Debian alone on target disk - with one or several partitions - the most straightforward.:: Debian sharing the disk with other OSes (MacOSX or others) - you will need to partition your disk, and move things around. Can be (is) worth it. :: Debian alone on an external "firewire" disk - Haven't tested this. Could be interesting if you want to keep your internal disk as is, or if your internal disk is dead, and you do not have a replacement or you do not want to open your machine.

The rest of this section will describe an installation using a USB stick, on a supported machine - in my case, a venerable G4 PowerBook Aluminum. Debian is alone on the disk. (I also have an iMac G5 MacOSX / Debian stable / Debian unstable installation - where unstable was installed using debootstrap)

Download ISO

Normally, I would install Debian stable first, then upgrade to Debian unstable. But we are not in a normal situation anymore, so we'll install unstable directly.

For G4 and earlier (32-bits disk image):


http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc/netboot/mini.iso

For G5 and later (64-bits disk image):: http://ftp.debian.org/debian/dists/sid/main/installer-powerpc/current/images/powerpc64/netboot/mini.iso

The one I used is from the 04/07/2017 (7th of April 2017).

Write ISO to USB stick

If you wanted to write the boot image on CD-ROM (CD-R or CD-RW) you would use a software like brasero.

For the USB stick, the easiest (only) way to do this is using the dd command (on linux or MacOSX).

One thing to know about the dd command is that you need to be careful when using it - do not use it as root - unless you know what you're doing.

Now the thing is, we need to use it as root to write the ISO image on the stick...


First, cd to the directory containing the disk image.

Then you need to get the device name for your USB stick. Plug it in and type:

Linux:


lsblk

MacOSX:: diskutil list Or you can just list the mounted filesystems:

df

On my computer the USB stick is /dev/sdb. There is a partition on it, and it is mounted on /dev/sdb1.

Second, you need to unmount the mounted partition:: sudo umount /dev/sdb1

Finally, write the image: : sudo dd if=mini.iso of=/dev/sdb

Boot from USB Stick

If you were using a CD-ROM, you would just boot while holding the c button.

To boot on the USB stick, you'll need to invoke Open Firmware (equivalent of BIOS / EFI).

WARNING: This is command line wizardry!


Here goes:

Plug in the USB stick and then boot your computer - while pressing on the <command></command> + <option> + o + f</option> buttons.

If you're not using an apple keyboard, you'll need to use <windows> + <alt> + o + f</alt></windows>.


(if you're using a G5 machine - get earplugs or something - and do not do this at night in your room - the fans will run at maximum speed - and that's very noisy).

First you need to identify your USB stick (in Open Firmware terminology - and this depends on your computer and the USB port you're using):


dev / ls

Scroll down (<space></space>) until you get something like:

/usb@1b:: /disk@1

Now we know our USB stick is on usb@1b and is known as disk@1.


We still need to find the alias of usb@1b:

devalias

You need to look for the usb0, usb1 etc... corresponding to usb@1b:

On my computer it was usb1.


Finally, boot your computer using:

boot usb1/disk@1:2,\\yaboot

(This means we are booting on partition 2 of disk@1 which is connected on usb1.)


You're ready to start the installation if you get the yaboot prompt:

Welcome to yaboot version 1.3.17: Enter "help" to get some basic usage information: boot:

Base Installation

You need to be somehow familiar with the Debian Installer to consider it easy...

It is not difficult, really, but it might get intimidating if you're doing this for the first time...


To cut this short:


- plug in your ethernet cable (wireless networking will not work during installation).: - follow the installer steps - selecting the default options (if you're going to use the full disk - no manual partitioning).

To give you a better idea, here is an overview of the main steps - with some comments where appropriate:


Starting with the yaboot prompt, type expert or install:: boot: expert

You'll get to the "familiar" red / grey / blue Debian installer main menu:

Choose language: Access software for a blind person using a braille display: Configure the keyboard: Detect network hardware: Configure the network: Choose a mirror of the Debian archive: Download installer components: ...

All goes smoothly until you start Choose a mirror of the Debian archive.

It seems the installer is still looking for stretch - and as you know, err, it has been killed.

So, after selecting your mirror, you'll get a warning telling you:: The specified (default) Debian version (stretch) is not available from the selected mirror. It is possible to continue and select a different release for your installation, but normally you should go back and select a different mirror that does support the correct version.: Go back and try a different mirror? You should select No This will allow you later to choose sid (unstable).

Then, after completing Download installer components, you get back the Debian installer main menu, with some additional steps to execute: : Set up users and passwords:: - disable root login (I do this for security - and use sudo or Root Terminal for administration): configure the clock: Detect disks: Partition disks:: - use the Guided partitioning + ext3 filesystem (I've had issues with yaboot and ext4).: Install the base system:: - I have used the linux-image-powerpc kernel + targeted initrd. : Configure the package manager :: - do not use non-free and contrib software. We'll later use contrib for wireless - but in a controlled way.: Select and install software:: - please do configure the popularity-contest package. This will help Debian powerpc by showing the community people are still using it!:: - For desktop use you'd also want to install mate-desktop-environment or LXDE; you can also install a simple Window Manager like Openbox or IceWM, but will require bigger tuning work.: Install yaboot on a hard disk: Continue without a boot loader: Finish the installation:: - this will allow you to reboot into your new system!

Additional Components

Here are some additional components and applications to improve your Debian powerpc experience:


compositing (buffering to improve display).:: sudo apt-get install compton:: Preferences -> Default applications for LXSession::: Core applications -> Composite Manager: compton::: Autostart -> + Add compton
cpu frequency scaling (I like to keep my computer as silent as possible).:: sudo apt-get install cpufrequtils: To get list of available cpufreq governors + statistics::: cpufreq-info: To dynamically set CPU speed at max performance::: sudo cpufreq-set -g performance: To dynamically set CPU at half-speed::: sudo cpufreq-set -g powersave: To dynamically set CPU in adaptive speed::: sudo cpufreq-set -g ondemand: To set CPU at half-speed - persistent after reboot::: sudo vi /etc/default/cpufrequtils:: GOVERNOR="powersave": To set CPU in adaptive speed - persistent after reboot::: sudo vi /etc/default/cpufrequtils:: GOVERNOR="ondemand"
links2: a mega-fast web browser (graphic and command line) - firefox ESR is already installed - but it is (much) slower.:: sudo apt-get install links2
conkeror: another mega-fast web browser (graphic - keyboard controlled, based on firefox ESR). Believe me, you'll love it!:: sudo apt-get install conkeror
wireless networking - you'll need to use the contrib repository - and download a non-free binary. Skip this if you want to keep a [DFSG] compliant installation. : First remove wicd (only if you installed LXDE, Mate installs network-manager by default): wireless did not work at all with wicd for me...:: sudo apt-get autoremove wicd
Then edit apt sources.list to add contrib::: sudo nano /etc/apt/sources.list:: add the word contrib at the end of each line:: save the file with Ctrl-o and exit with Ctrl-x: Install the driver (b43)::: sudo apt-get update:: sudo apt-get install firmware-b43-installer: Then edit back apt sources.list to remove contrib::: sudo nano /etc/apt/sources.list:: delete the word contrib at the end of each line:: save the file with Ctrl-o and exit with Ctrl-x:: sudo apt-get update: Finally install network-manager (only in LXDE, in Mate Desktop, as said, it is already installed)::: sudo apt-get install network-manager network-manager-gnome
gfx acceleration - without changing the ROM of ATI card - you'll need to use the non-free repository. (07/01/2018) I'm afraid some basic functionalities - like switching to tty Consoles stopped working without using the proprietary drivers - at least on PowerBook G4 ... I'm still trying to understand why.
Edit apt sources.list to add non-free::: sudo nano /etc/apt/sources.list:: add the word non-free at the end of each line:: save the file with Ctrl-o and exit with Ctrl-x: Install the firmware-linux-nonfree::: sudo apt-get update:: sudo apt-get install firmware-linux-nonfree: Then edit back apt sources.list to remove non-free::: sudo nano /etc/apt/sources.list:: delete the word non-free at the end of each line:: save the file with Ctrl-o and exit with Ctrl-x:: sudo apt-get update
Now you need to set the correct yaboot kernel option::: sudo nano /etc/yaboot.conf:: Add a line under each label=... line: append="radeon.agpmode=-1" to get something like:
image=/boot/vmlinux
label=Linux
append="radeon.agpmode=-1"
read-only
initrd=/boot/initrd.img
save the file with Ctrl-o and exit with Ctrl-x:: Apply your modifications by executing sudo ybin -v
sound setup - sound seems to work out-of-the-box now, but it is muted by default, and PCM volume is set to 0...:: open a terminal window, and execute alsamixer:: Press F6 and select SoundByLayout:: Then press F5 and check if Master is muted (MM) - if it is, select it and press m. You can increase volume using UP arrow:: Then scroll right and check if PCM volume is set to 0. if it is, increase volume using UP arrow.
gfx acceleration - changing the ROM of ATI card to use the free ROM (non-compatible with MacOS)

When things go wrong (and they will...)

A word to the wise: We're using unstable.

It is unstable.


A new installation on my PowerBook G4 Al (radeon) almost works just fine on first boot...

There is someissue with LCD backlight though.

The major bugs were fixed (I think):


https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795498#27:: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863438#5But there is still a small issue: After booting, screen is dark. Just press Brightness UP or <fn> + <f2></f2></fn> and you'll get your backlight back.


If you're still having issues (screen freeze): You can try to reboot with no graphics hardware:


Switch to a Console screen (F1 to F6)::: <ctrl> + <option> + <f1></f1></option></ctrl>: To be sure, you might need to do it again while holding the <fn></fn> button::: <fn> + <ctrl> + <option> + <f1></f1></option></ctrl></fn>: Type <enter></enter> 3/4 time to get rid of stray characters.: (Remember, you're still in the dark - no backlight.): Now, type your Login then <enter></enter> then Password then <enter></enter> and wait for a couple of seconds.: (Again type <enter></enter> 3/4 time to get rid of any potential stray characters.): Type the command to reboot your computer::: sudo shutdown -r now (followed by <enter></enter>: Enter your Password again (for sudo)

The computer should reboot now (wait for a couple of seconds again).

If it doesn't, that means you're not made for typing in the dark... Try again, or just power off the machine by holding the power button (for a couple of seconds).

Now, when you get to the yaboot prompt, start with no graphics hardware:: boot: Linux nomodeset

You'll start into an ugly and unusable login screen.

Switch now to a Console screen (F1 to F6):: <ctrl> + <option> + <f1></f1></option></ctrl>

Welcome to Debian command line OS! (Wireless networking works).



In case something else happens, here is a list of links that can be of help:

Debian GNU/Linux Installation Guide (powerpc).

Debian powerpc port FAQ.

Debian powerpc mailing list.

Debian powerpc IRC channel (#debianppc) on OFTC IRC network.

Ubuntu PowerPC Known Issues.

Overview of Debian Bug Submission/Testing/Integration Process

Simple description (graphical diagram) of content from https://wiki.debian.org/HowtoUseBTS


Installation of Development/Debugging Tools

tools used for development, debugging etc...


popcon: show Debian community that powerpc is still actively used!

this can help bringing back Debian powerpc as a release architecture


Obtaining Source Code & Building From Source

There are two methods for obtaining a package's source code (and probably more) in Debian. The first is to use apt and the second is to download the source directly from it's upstream location.


1) Using apt-get source
2) Downloading Source from Upstream

Patches

Making Patches, sharing and applying them


Packages

Creating Debian packages - Conditions and rules to follow for packages to be included in Debian


Creating ISO Images

...


Debugging and Profiling

...


64-bit / 32-bit

...

OpenFirmware (OF) / U-Boot

U-Boot readme for T2080RDB (note about the switch settings: 0 is ON and 1 is OFF) Also see NXP SDK docs

To build on Debian (to be verified)

apt-get install gcc-powerpc-linux-gnu qemu-user-static

powerpc-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0

git clone https://gitlab.com/oshw-powerpc-notebook/freescale.com-ppc-u-boot.git
cd freescale.com-ppc-u-boot
git clone https://github.com/qoriq-open-source/fm-ucode.git
make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j33 T2080RDB_SDCARD_config
make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j33

install - assuming your SD card reader is /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0:0 (to be verified)

Need to make space for u-boot. Default is first partition starting at sector 2048 which is slightly before end of space reserved for u-boot.

sfdisk /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0:0 << EOF label: dos
label-id: 0x00000000
device: /dev/sda
unit: sectors
/dev/sda1 : start=        8192, size=    15325184, type=83
EOF

Install u-boot

dd if=u-boot-with-spl-pbl.bin of=/dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0\:0 seek=8 count=2048
dd if=fm-ucode/fsl_fman_ucode_t2080_r1.1_106_4_18.bin of=/dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0\:0 seek=2080 count=128

create filesystem on card - newest ext4 features are not supported by dated u-boot ext4 driver so use ext3

mkfs.ext3 /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0\:0-part1

install Debian on created filesystem

mount /dev/disk/by-id/usb-Mass_Storage_Device_1234567890AB-0\:0-part1 /mnt
debootstrap --arch=powerpc --foreign --include linux-image-powerpc64,isc-dhcp-client oldstable /mnt/
cp /usr/bin/qemu-ppc-static /mnt/usr/bin/qemu-ppc-static
chroot /mnt
debootstrap/debootstrap --second-stage
passwd
exit

Configure u-boot on SD card - this is underdocumented so YMMV

mkdir /mnt/boot/extlinux
cat >/mnt/boot/extlinux/extlinux.conf <<eof 
TIMEOUT 100
DEFAULT default
MENU TITLE Boot menu 
LABEL default        MENU LABEL Default        LINUX /vmlinuz        INITRD /initrd.img        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8 
LABEL old        MENU LABEL old        LINUX /vmlinuz.old        INITRD /initrd.img.old        APPEND root=/dev/mmc0p1 ro console=tty0 console=ttyS0,115200n8 
LABEL exit        MENU LABEL Local boot script (boot.scr)        LOCALBOOT 1 
EOF

</eof>

Building Your Own Custom Kernel

...


Altivec - PowerPC Secret Weapon

...

Drivers

...