Jeffrey Walton

  • Content Count

  • Joined

  • Last visited

About Jeffrey Walton

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'm working on a ElPotato running Ubuntu Bionic 18. I have a test suite that test the kernel's random number generators. The test program comes from the Crypto++ library ( The test suite is failing its test of /dev/random. It appears the generator is suffering entropy depletion: $ ./cryptest.exe v ... Testing operating system provided blocking random number generator... FAILED: it took 91 seconds to generate 7 bytes passed: 7 generated bytes compressed to 9 bytes by DEFLATE passed: GenerateWord32 and Crop The kernel algorithm to keep the generators in good working order has some gaps. Additionally, the kernel removed several entropy sources starting in the 3.x kernels. The result is this condition. There are two problems with the "entropy depletion" condition. First, it is a transient problem, most users don't know it is present and it is hard to duplicate. Second, poorly written software can experience the failure but fail to detect it. That means the software failed to collect randomness but continues as if it did gather entropy from the generator. The second problem worries me because it is nearly impossible to audit all software that uses random numbers. Since it is too difficult to audit and fix all software, the remediation is to fix the problem in the platform. I believe Armbian should make the package `rng-tools` standard for all of its images. That is, install the package for the user. Below, notice neither `rng-tools` or `rng-tools5` are installed by default. $ apt-cache policy rng-tools rng-tools: Installed: (none) Candidate: 5-0ubuntu4 Version table: 5-0ubuntu4 500 500 bionic/universe arm64 Packages $ apt-cache policy rng-tools5 rng-tools5: Installed: (none) Candidate: 5-2 Version table: 5-2 500 500 bionic/universe arm64 Packages
  2. I'm performing Valgrind testing on an ElPotato running Ubuntu Bionic image from Armbian. My program is dying like in : ``` valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest.exe v ==12969== Memcheck, a memory error detector ==12969== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==12969== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==12969== Command: ./cryptest.exe v ==12969== ARM64 front end: branch_etc disInstr(arm64): unhandled instruction 0xD5380000 disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0000 ==12969== valgrind: Unrecognised instruction at address 0x4014c90. ==12969== at 0x4014C90: init_cpu_features (cpu-features.c:72) ==12969== by 0x4014C90: dl_platform_init (dl-machine.h:208) ==12969== by 0x4014C90: _dl_sysdep_start (dl-sysdep.c:231) ==12969== by 0x40018C3: _dl_start_final (rtld.c:414) ==12969== by 0x4001B47: _dl_start (rtld.c:523) ==12969== by 0x40011C7: ??? (in /lib/aarch64-linux-gnu/ ``` Here is a similar Red Hat report: Upstream Ubuntu bug report: Please pickup the patch in the 381556 bug report.
  3. I'm using Armbian's Ubuntu Bionic image on a Libre Computer AML-S905X-CC (LePotato). It appears the chromedirver package is not available: Package chromedriver is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'chromedriver' has no installation candidate My use case is, I need to file an online complaint with a regulatory agency. The complaint is filed via a Python script, and Python uses Selenium to operate the web browser and populate the four page form. Please provide chromedriver (Chromium) and geckodriver (Firefox/Iceweasel) for the platform. ----- Note that the web drivers can be tricky on ARM. I've got a working script that uses Python and Selenium on Fedora 29, x86_64. I need to port to low cost ARM hardware. To date I have not been successful with getting things working with Chromium/Chromedriver or Firefox/Geckodriver on ARM. I've even tried to build Geckodriver from Rust/Cargo sources. One of the sore spots in building chromedriver and geckodriver is, the projects use that damn abandonware model. You have to start at Chromium or Firefox provided by the platform, and then use an old version of the driver that matches the web browser. The old version of the driver will be unsupported because they only support bleeding edge, so you have to work around past problems that never got fixed. ----- $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic