12297: Difference between revisions
(Created page with 'OLPC has begun enabling the second processor core in the XO-4 laptops. == Problem == The released operating systems 13.2.1 and 13.2.2 run only one core. The XO-4 under…') |
No edit summary |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
OLPC has |
OLPC has enabled the second processor core in the XO-4 laptops. |
||
== Problem == |
== Problem == |
||
Line 9: | Line 9: | ||
XO-4 only: |
XO-4 only: |
||
Upgrade to [[ |
Upgrade to [[13.2.6]]. |
||
== Workaround == |
== Workaround == |
||
Care is needed. Without the firmware upgrade, our dual-core kernel will not boot. With the firmware upgrade, the original kernel will not boot. The reason for the restriction is that changes to firmware and kernel must occur at the same time. |
|||
On unsecure laptops running [[13.2.0]], [[13.2.1]] and [[13.2.2]], upgrade the kernel and the firmware at the same time. The exact steps are: |
On unsecure laptops running [[13.2.0]], [[13.2.1]] and [[13.2.2]], upgrade the kernel and the firmware at the same time. The exact steps are: |
||
* download the [http://rpmdropbox.laptop.org/ |
* download the [http://rpmdropbox.laptop.org/f18-xo4/kernel-3.5.7_xo4-20150610.0359.olpc.97336f6.armv7hl.rpm kernel-3.5.7_xo4-20150610.0359.olpc.97336f6.armv7hl.rpm] kernel package, |
||
* download the [http://dev.laptop.org/pub/firmware/ |
* download the [http://dev.laptop.org/pub/firmware/q7c05/q7c05.rom q7c05.rom] new firmware, |
||
* copy both to a USB drive, |
* copy both to a USB drive, |
||
* add battery and power cable, and wait for the laptop to finish charging, |
* add battery and power cable, and wait for the laptop to finish charging, |
||
* upgrade the kernel, |
* upgrade the kernel, |
||
sudo rpm -U kernel-3.5.7_xo4- |
sudo rpm -U kernel-3.5.7_xo4-20150610.0359.olpc.97336f6.armv7hl.rpm |
||
* shutdown, |
* shutdown, |
||
sudo poweroff |
sudo poweroff |
||
* upgrade the firmware, |
* upgrade the firmware, |
||
ok flash u:\ |
ok flash u:\q7c05.rom |
||
* allow the laptop to boot |
* allow the laptop to boot, and verify dual-core operation: |
||
bash-4.2# cat /proc/cpuinfo |
|||
Processor : ARMv7 Processor rev 2 (v7l) |
|||
processor : 0 |
|||
BogoMIPS : 1196.85 |
|||
processor : 1 |
|||
BogoMIPS : 1196.85 |
|||
Features : swp half thumb fastmult vfp edsp iwmmxt thumbee neon vfpv3 tls |
|||
CPU implementer : 0x56 |
|||
CPU architecture: 7 |
|||
CPU variant : 0x2 |
|||
CPU part : 0x584 |
|||
CPU revision : 2 |
|||
Hardware : Marvell MMP3 (Device Tree Support) OLPC XO-4 |
|||
Revision : 0000 |
|||
Serial : 0000000000000000 |
|||
-bash-4.2# █ |
|||
To add dual core to a build of Fedora 18, add the kernel and firmware packages to your build. |
|||
== Reverting == |
== Reverting == |
||
* download the [http://rpmdropbox.laptop.org/f18-xo4/kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm 3.5.7_xo4-20141118.2329.olpc.cd558cf] kernel package, |
* download the [http://rpmdropbox.laptop.org/f18-xo4/kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm 3.5.7_xo4-20141118.2329.olpc.cd558cf] kernel package, |
||
* download the [http://dev.laptop.org/pub/firmware/ |
* download the [http://dev.laptop.org/pub/firmware/q7b45/q7b45.rom q7b45.rom] old firmware, |
||
* copy both to a USB drive, |
* copy both to a USB drive, |
||
* downgrade the kernel, |
* downgrade the kernel, |
||
Line 36: | Line 59: | ||
sudo poweroff |
sudo poweroff |
||
* downgrade the firmware, |
* downgrade the firmware, |
||
ok flash u:\ |
ok flash u:\q7b45.rom |
||
* allow the laptop to boot. |
* allow the laptop to boot. |
||
== Using a single core kernel on 14.1.0 == |
== Using a single core kernel on 14.1.0 == |
||
Certain tasks may benefit from the higher memory bandwidth of the single core kernel. |
Certain tasks may benefit from the higher memory allocation bandwidth of the single core kernel. |
||
* download the [http://rpmdropbox.laptop.org/f18-xo4/kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm 3.5.7_xo4-20141118.2329.olpc.cd558cf] kernel package, |
* download the [http://rpmdropbox.laptop.org/f18-xo4/kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm 3.5.7_xo4-20141118.2329.olpc.cd558cf] kernel package, |
||
* download the [http://dev.laptop.org/pub/firmware/ |
* download the [http://dev.laptop.org/pub/firmware/q7b45/q7b45.rom q7b45.rom] old firmware, |
||
* copy both to a USB drive, |
* copy both to a USB drive, |
||
* <font color="red">note</font>: remove the /bootpart/boot/ |
* <font color="red">note</font>: remove the /bootpart/boot/bootfw4.zip file, to prevent automatic firmware upgrade; |
||
sudo rm /bootpart/boot/bootfw4.zip |
|||
* downgrade the kernel, |
|||
* downgrade the kernel, by forcing upgrade to lower version; |
|||
sudo rpm --upgrade --force \ |
|||
kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm |
|||
* shutdown, |
* shutdown, |
||
sudo poweroff |
sudo poweroff |
||
* downgrade the firmware, |
* downgrade the firmware, |
||
ok flash u:\ |
ok flash u:\q7b45.rom |
||
* allow the laptop to boot |
* allow the laptop to boot, and verify single-core operation: |
||
-bash-4.2# cat /proc/cpuinfo |
|||
Processor : ARMv7 Processor rev 2 (v7l) |
|||
BogoMIPS : 1191.11 |
|||
Features : swp half thumb fastmult vfp edsp iwmmxt thumbee neon vfpv3 tls |
|||
CPU implementer : 0x56 |
|||
CPU architecture: 7 |
|||
CPU variant : 0x2 |
|||
CPU part : 0x584 |
|||
CPU revision : 2 |
|||
Hardware : Marvell MMP2 (Device Tree Support) |
|||
Revision : 0000 |
|||
Serial : 0000000000000000 |
|||
-bash-4.2# █ |
|||
== Booting a single core kernel on dual core firmware == |
|||
For manual use only. Disable the dual core feature before booting, like this: |
|||
ok patch noop mmp3-gic linux-fixup |
|||
ok boot█ |
|||
Do not deploy this workaround, as it causes a power draw regression. |
|||
== See Also == |
== See Also == |
Latest revision as of 04:09, 18 November 2015
OLPC has enabled the second processor core in the XO-4 laptops.
Problem
The released operating systems 13.2.1 and 13.2.2 run only one core. The XO-4 underperforms compared to some other devices.
Solution
XO-4 only:
Upgrade to 13.2.6.
Workaround
Care is needed. Without the firmware upgrade, our dual-core kernel will not boot. With the firmware upgrade, the original kernel will not boot. The reason for the restriction is that changes to firmware and kernel must occur at the same time.
On unsecure laptops running 13.2.0, 13.2.1 and 13.2.2, upgrade the kernel and the firmware at the same time. The exact steps are:
- download the kernel-3.5.7_xo4-20150610.0359.olpc.97336f6.armv7hl.rpm kernel package,
- download the q7c05.rom new firmware,
- copy both to a USB drive,
- add battery and power cable, and wait for the laptop to finish charging,
- upgrade the kernel,
sudo rpm -U kernel-3.5.7_xo4-20150610.0359.olpc.97336f6.armv7hl.rpm
- shutdown,
sudo poweroff
- upgrade the firmware,
ok flash u:\q7c05.rom
- allow the laptop to boot, and verify dual-core operation:
bash-4.2# cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) processor : 0 BogoMIPS : 1196.85 processor : 1 BogoMIPS : 1196.85 Features : swp half thumb fastmult vfp edsp iwmmxt thumbee neon vfpv3 tls CPU implementer : 0x56 CPU architecture: 7 CPU variant : 0x2 CPU part : 0x584 CPU revision : 2 Hardware : Marvell MMP3 (Device Tree Support) OLPC XO-4 Revision : 0000 Serial : 0000000000000000 -bash-4.2# █
To add dual core to a build of Fedora 18, add the kernel and firmware packages to your build.
Reverting
- download the 3.5.7_xo4-20141118.2329.olpc.cd558cf kernel package,
- download the q7b45.rom old firmware,
- copy both to a USB drive,
- downgrade the kernel,
- shutdown,
sudo poweroff
- downgrade the firmware,
ok flash u:\q7b45.rom
- allow the laptop to boot.
Using a single core kernel on 14.1.0
Certain tasks may benefit from the higher memory allocation bandwidth of the single core kernel.
- download the 3.5.7_xo4-20141118.2329.olpc.cd558cf kernel package,
- download the q7b45.rom old firmware,
- copy both to a USB drive,
- note: remove the /bootpart/boot/bootfw4.zip file, to prevent automatic firmware upgrade;
sudo rm /bootpart/boot/bootfw4.zip
- downgrade the kernel, by forcing upgrade to lower version;
sudo rpm --upgrade --force \ kernel-3.5.7_xo4-20141118.2329.olpc.cd558cf.armv7hl.rpm
- shutdown,
sudo poweroff
- downgrade the firmware,
ok flash u:\q7b45.rom
- allow the laptop to boot, and verify single-core operation:
-bash-4.2# cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) BogoMIPS : 1191.11 Features : swp half thumb fastmult vfp edsp iwmmxt thumbee neon vfpv3 tls CPU implementer : 0x56 CPU architecture: 7 CPU variant : 0x2 CPU part : 0x584 CPU revision : 2 Hardware : Marvell MMP2 (Device Tree Support) Revision : 0000 Serial : 0000000000000000 -bash-4.2# █
Booting a single core kernel on dual core firmware
For manual use only. Disable the dual core feature before booting, like this:
ok patch noop mmp3-gic linux-fixup ok boot█
Do not deploy this workaround, as it causes a power draw regression.