12297: Difference between revisions

From OLPC
Jump to navigation Jump to search
(changes to kernel version and firmware version have since happened)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
OLPC has begun enabling the second processor core in the XO-4 laptops.
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 [[14.1.0]] once it is released
Upgrade to [[13.2.6]].


== Workaround ==
== Workaround ==
Line 17: Line 17:
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/f20-xo4/kernel-3.5.7_xo4-20150216.0321.olpc.dc28be4.armv7hl.rpm kernel-3.5.7_xo4-20150216.0321.olpc.dc28be4.armv7hl.rpm] kernel package,
* 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/q7c04/q7c04.rom q7c04.rom] new 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-20150216.0321.olpc.dc28be4.armv7hl.rpm
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:\q7c04.rom
ok flash u:\q7c05.rom
* allow the laptop to boot, and verify dual-core operation:
* allow the laptop to boot, and verify dual-core operation:
bash-4.2# cat /proc/cpuinfo
bash-4.2# cat /proc/cpuinfo

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:

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

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.

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.

See Also