Code Monkey home page Code Monkey logo

archibold.io's Introduction

webreflection

WebReflection Ltd

archibold.io's People

Contributors

dkhamsing avatar kambfhase avatar lmckeen avatar ubidefeo avatar webreflection avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

archibold.io's Issues

BENJA: Networking issues on Raspberry Pi 3 model B

First of all, thanks for bringing BENJA to the world!

While installing BENJA, I was stuck in a Wi-Fi setup loop after each reboot. If network is not available, the installer tries to request a web page with curl, fails, assumes WiFi was not set up and forces that loop.

After spending some time on figuring out the problem, I finally found an underlying issue described on StackOverflow. It seems to be a combination of Raspberry Pi 3B + ArchLinux ARM + NetworkManager (but may affect other boards as well).

The underlying problem manifests itself like this: even if Raspberry Pi is connected to WiFi and can ping IP addresses (e.g. ping 8.8.8.8 works fine), DNS won't work (ping google.com will fail with "Name or service not known" error).

The solution described on StackOverflow worked for me:

# Press Ctrl+C multiple times to get out of  BENJA setup / WiFi setup and prevent powerdown.

$ su
Password: root

$ systemctl stop systemd-resolved
$ systemctl mask systemd-resolved

$ reboot now

After that, network should start working, and the installation will continue.

What I suggest in this issue (besides providing the solution that worked for me):

  1. Maybe try to prevent the WiFi setup loop, check if a WiFi was already set up before, and if it was, just spit the informative and exit to shell, allowing the user to debug the issue.
  2. Mention in that message and/or README about su command and root password.
  3. See if systemctl mask systemd-resolved is something that can be added unconditionally or if daemons can be reconfigured somehow to work properly on all boards?

re: how to install archlinux from scratch article

Hi
I want to thank you for the article on freecode camp, and I do have a couple of questions please. 1- You said once you log in to your account issue commands. I am assuming you meant once I boot into the live usb? and 2- If I am doing this from a location that needs me to accept the wifi policy by clicking on a button of a web page, can I still follow your instructions?
lastly I want to say I appologize if I am in the wrong place. I followed the link that was provided on the article.

Electron fails to install - default app won't start

I am trying to track this one down.
Setup goes well, it gets towards the end where I get an npm error related to serialport

Screenshot 2019-12-23 at 22 13 14

after setup is done I can restart the system and have it run off Ethernet but it will keep flashing the "Welcome to Arch Linux ARM"
Not sure why it keeps reloading that way, but I can ssh into the system and check things out.
Screenshot 2019-12-23 at 22 19 05

I figure this system runs on ramfs and temporary RAM storage, so how would I go about switching to an updatable system I can work on before rebooting and make sure my changes stick?

The long road to GLES2

@WebReflection
I have been looking at how to implement glesv2 in order to run WEBGL accelerated content and I have to say there's sooooooo much to learn about how Linux and Xorg manage screen output that I feel that learning tingle :D

Anyway... I have replaced cairo with cairo-gles2-armv7l (https://aur.archlinux.org/packages/cairo-glesv2-armv7l/) and it installs replacing cairo installed by BENJA's setup, but I have incurred into a minor install issue:

makepkg -si will return ==> ERROR: cairo-glesv2-armv7l is not available for the 'armv7h' architecture.

I've looked it up and amongst suggestions there was passing A to the command so

makepkg -siA did the trick.

I've shipped my game to the faire in London after testing it extensively, so I'd say it's safe to replace cairo with cairo-gles2-armv7l if you feel comfortable.

u.

weird node-gyp issue at v 6.0.1

I have bumped into a weird one (always me) which escalated into madness.

node version 13.6.0
npm version 6.13.4

Essentially I could not install my app (package.json to follow) because it required node-gyp to find the right version of python (not 2.x but 3.x) and then complaining about still not being able to do node-gyp rebuild.

here's an extract of the error from the --verbose log:

gyp verb find Python checking Python explicitly set from command line or npm configuration
gyp verb find Python - "--python=" or "npm config get python" is "python2"
gyp verb find Python - executing "python2" to get executable path
gyp verb find Python - executable path is "/usr/bin/python2"
gyp verb find Python - executing "/usr/bin/python2" to get version
gyp verb find Python - version is "2.7.17"
gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack TypeError: Class constructor Range cannot be invoked without 'new'
gyp ERR! stack     at PythonFinder.<anonymous> (/usr/lib/node_modules/node-gyp/lib/find-python.js:229:28)
gyp ERR! stack     at PythonFinder.execFileCallback (/usr/lib/node_modules/node-gyp/lib/find-python.js:274:7)
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:294:7)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1028:16)
gyp ERR! stack     at Socket.<anonymous> (internal/child_process.js:443:11)
gyp ERR! stack     at Socket.emit (events.js:321:20)
gyp ERR! stack     at Pipe.<anonymous> (net.js:668:12)
gyp ERR! System Linux 4.19.93-1-ARCH
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/alarm/node_modules/@serialport/bindings
gyp ERR! node -v v13.6.0
gyp ERR! node-gyp -v v6.0.1
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Try to update node-gyp and file an Issue if it does not help:
gyp ERR!     <https://github.com/nodejs/node-gyp/issues>

my package.json is as follows

{
  "name": "bett2020",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "install": "electron-rebuild",
    "start": "electron .",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "electron": "^7.1.7",
    "serialport": "^8.0.6"
  },
  "devDependencies": {
    "electron-rebuild": "^1.8.8"
  }
}

after a long series of searches, readings and the usual cussing I decided to attempt installing Python 3.x and link it as the right Python for npm to use, and because after instaling 3.8.1 it was automatically linked to be the default Python binary we can refer to it simply as python when setting the config for npm.

[alarm@alarm ~] pacman -S python3
...
...
[alarm@alarm ~] npm config set python python

after this I kept getting the same issue, but of course the correct version of Python was part of the above error's output: the culprit must be node-gyp version 6.0.1 at this point... it can't be anything else.
I struggle to accept that I cannot install the latest version of a package on Arch, but I realised that despite me still not understanding the whole npm way of life, I could simply install the latest node-gyp by simply

[alarm@alarm ~] npm i -g node-gyp

this installed version 6.1.0 in /home/alarm/.npm-packages/bin/node-gyp, and I could finally

[alarm@alarm ~] npm config set node-gyp /home/alarm/.npm-packages/bin/node-gyp

after this step my installation worked and I could install all my modules and binaries in the home folders' .npm-packages and node_modules.
I confess I still don't get it, but I guess being this my very first Node+Electron project I'm doing better than I would expect.

Hope the above infos help someone running into similar issues.
I think B.E.N.J.A. is a great idea and it can go very far, but some more detailed information is required to get regular Debian/Raspian users into how and why the system is setup this way as well as giving a better run down of what exactly happens when the system is setup and run.

Loving the learning curve so far. I'm joking... it's a learning wall :D

Official Raspberry Pi Touch Display not working with Web Kiosk

Hey Andrea, I'm sorry that I have to bug you with this but I've been trying to get your Minimalistic 64 bit Web Kiosk for RPi 3 to work with the official Raspberry Pi Touch Display for weeks now and I'm completely out of ideas. While everything is working on my HDMI monitor (the demo page shows up), when using the touch screen I'm experiencing some very weird behavior:

  • the colored rectangle, the "boot logs" and the "Tux screen" screen show up as expected
  • but then:
    • the screen turns black
    • it slowly becomes brighter until it is filled with a weird pattern consisting of parallel, grey and white, 2px-wide lines

The screen is definitely not broken since everything before that including the colored rectangle works perfectly. It also worked back when I was using Benja for my project.

Is the touch screen even supposed to work after running your kiosk install script or is there something I have to configure/install? How did you get the screen to work by default in Benja?

How to install on Intel Compute Stick (STCK1A32WFCR)?

Hello,

I've tried booting the Arch installer on an Intel Compute Stick (STCK1A32WFCR) with a normal dd-created USB flash installation medium, but having no luck. The boot menu does not list the device.

I've had to connect the USB flash drive through a USB hub in order to also connect a keyboard so that I'll even get to the boot menu.

As your web page says someone has been able to do this using Archibold, I'm hoping you have some pointers on how to create the installation medium.

B.E.N.J.A. installer is broken on rpi3

hi, i've tried to configure an sd card for a raspberry pi 3.

But after a few tries on different OSs, i've thought: "somethings wrong here".

So i've investigated a bit and found out, that http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz seems to be no longer existing. It seems to be replaced with http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz.

Raspbery pi 7" Touchscreen - touch gestures not recognized in weston / cog fullscreen browser gui

Hello,

I have this package installed on arch linux with a raspberry pi 4. I discovered the touchscreen input doesn't support hold ad drag on the COG browser. I tried the [libinput] settings in weston.ini and they didnt seem to do anythning.

I run:

libinput list-devices

it gets the device name 'raspberrypi_ts' but all the options like Tap-and-drag or Tap-to-click say n/a
Looks like the touchscreen is being identified as a mouse? or like a laptop touchpad? not sure.

WPE Kiosk booting to black screen

I followed the tutorial for the WPE Kiosk and my Raspberry PI 4 is booting to a black screen. After a bit of debugging I noticed that cog was failing to start with the following error.

cog: error while loading shared libraries: libicudata.so.67: cannot open shared object file: No such file or directory

It looks like icu was updated to 68 recently.

possible bug on wifi profile creation

As I mentioned to @WebReflection when I started using BENJA I have had no success in connecting to any of my WiFi networks using the wifi-setup script.
I noticed that a request for password comes up but it disappears after a bit and if you make it in time to type it in you get authentication failure

This evening I had some extra time to play with configuring WiFi manually and it worked.
I began looking at the script and going through what it does.
At line 8 we have root | su -c "wifi-menu" so I went straight to executing "wifi-menu" with sudo

[~]$ sudo wifi-menu

this managed to create a profile for my network which I was later able to load using netctl
[~]$ netctl enable my-profile-name

so I guess the issue is in how these two bits of code deal with authenticating root, namely these two blocks:

...
sleep 3
echo root | su -c "wifi-menu"
echo "
trying to configure the wifi automatically
"
...
...
echo root | su -c "netctl enable ${WLAN:2}"
echo "wifi ${WLAN:2} enabled"
echo ""
...

any chance you can find a fix?
I'm not that versed in bash, although I have to admit I am becoming more and more familiar with it thanks to this project :D

thank you
ubi

`pacman-optimize` command not found

Environment:

  1. Raspberry Pi 3

Steps:

  1. install ArchLinux ARM (https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3)
  2. install kiosk dependencies with command bash <(curl -s archibold.io/kiosk/dependencies)
  3. Add key pacman-key --init and pacman-key --populate archlinuxarm
  4. install kiosk for pi3 with command bash <(curl -s archibold.io/kiosk/pi3)

Actual result:
/dev/fd/63: line 14: pacman-optimize: command not found

Here is the console output:

Optional dependencies for geoip
    geoip-database-extra: city/ASN databases (not needed for country lookups)
:: Running post-transaction hooks...
( 1/16) Warn about old perl modules
( 2/16) Updating fontconfig cache...
( 3/16) Probing GDK-Pixbuf loader modules...
( 4/16) Updating GIO module cache...
( 5/16) Compiling GSettings XML schema files...
( 6/16) Probing GTK3 input method modules...
( 7/16) Updating icon theme caches...
( 8/16) Reloading system manager configuration...
( 9/16) Updating udev hardware database...
(10/16) Creating system user accounts...
(11/16) Creating temporary files...
(12/16) Reloading device manager configuration...
(13/16) Arming ConditionNeedsUpdate...
(14/16) Updating the info directory file...
(15/16) Updating the desktop file MIME type cache...
(16/16) Updating the MIME type database...
/dev/fd/63: line 14: pacman-optimize: command not found
warning: uboot-tools-2018.03-1 is up to date -- skipping
 there is nothing to do
Image Name:   RPi3 VC4
Created:      Wed May 30 13:47:19 2018
Image Type:   PowerPC Linux Script (uncompressed)
Data Size:    722 Bytes = 0.71 KiB = 0.00 MiB
Load Address: 00000000
Entry Point:  00000000
Contents:
   Image 0: 714 Bytes = 0.70 KiB = 0.00 MiB
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2209  100  2209    0     0   7412      0 --:--:-- --:--:-- --:--:--  7437
Connection to 192.168.0.216 closed by remote host.

Expected:
pacman-optimize is run successfully.

how does the benja module get installed?

is it just manually copied or installed via npm during setup?

I found something to fix while snooping, it's the home path, which should now point to /home/alarm/app/node_modules.
I guess it works anyway because of globalPaths

this.paths = function paths() {
    [
    // should be the same as '/home/benja/app/node_modules'
    process.cwd() + '/node_modules',
    // to be sure it's available via process.cwd()
    '/home/benja/app/node_modules'
    ].concat(
    // eventually defined by BenjaOS
        (process.env.NODE_PATH || '').split(':').filter(stringValue)
    ).forEach(
        append,
        require('module').globalPaths
    );
};

License?

What License does this software use?

Trouble on Raspberry Pi 4 connecting via WiFi

At first launch I could not get to the automatic setup.
The bootstrap process always failed to retrieve OK and went into wifi-setup again.
I found out that resolvconf has an issue reading from resolvconf.conf stating that static is an unknown command.

I repeated the provisioning process from scratch but got the same result.
The issue seems to be DNS related, because I could ping 8.8.8.8 but not domain names, which made it fail here

if [ "$(curl -Ls http://archibold.io/OK)" != "OK" ]; then
  ./wifi-setup
fi

I eventually plugged in an Ethernet cable and relaunched bootstrap.
It is now progressing :)

kiosk/rpi3 || test/gjs - video tag will not show video

Hi,

I created a simple index.html with just a video element, as I could not seem to make videos play.

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
	</head>
	<body>
		<video autoplay muted controls src="https://path/to/mp4/file.mp4"></video>
	</body>
</html>

I was able to see the player controls by right clicking on it, the video player is playing something, I believe it is playing the video but no video is shown or sound comes out.

in the terminal the only error I get is:
$> AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': Invalid argument

as I can see this is sound drivers, thus not thinking this is a problem.

I can't seem to figure out a video log.
This is the Xorg log file might help on anything:

192.168.70.�X�Z92.168.70.[root@alarm log]# tail Xorg.1.log
[ 61927.499] (II) No input driver specified, ignoring this device.
[ 61927.499] (II) This device may have been added with another device file.
[ 61927.499] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 61927.500] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 61927.500] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 61927.638] (II) event3  - RC for vc4: device removed
[ 61927.700] (II) event0  - SIGMACHIP Usb Mouse: device removed
[ 61927.744] (II) UnloadModule: "libinput"
[ 61927.745] (II) UnloadModule: "libinput"
[ 61927.861] (II) Server terminated successfully (0). Closing log file.

Unable to run SD creation process from online scripts

I keep getting failure to execute bash <(curl -s https://archibold.io/benja/prepare)

/dev/fd/14: line 37: echoWithLogo: command not found
/dev/fd/14: line 39: diskSize: command not found
/dev/fd/14: line 41: [: : integer expression expected
/dev/fd/14: line 55: echomd: command not found
/dev/fd/14: line 56: echomd: command not found
(23) Failed writing body

I have fixed this by going through every bash <() call and downloading files locally, later replacing that call with source "./filename.dms"

not sure where the issue stands, to be honest, but it must be how commands are setup when remote scripts are executed/included.
would take me longer to investigate than what it took me to download all the scripts and run them locally :)

still getting issues on serialport - RPi 4

@WebReflection
I still get serialport bindings issues.

I'll upgrade Node and fix it (already been there) but maybe it's something you want to look into :)

> electron . --no-sandbox --disable-frame-rate-limit

App threw an error during load
Error: The module '/home/alarm/node_modules/@serialport/bindings/build/Release/bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 75. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at process.func (electron/js2c/asar.js:140:31)
    at process.func [as dlopen] (electron/js2c/asar.js:140:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:922:18)
    at Object.func (electron/js2c/asar.js:140:31)
    at Object.func [as .node] (electron/js2c/asar.js:140:31)
    at Module.load (internal/modules/cjs/loader.js:735:32)
    at Module._load (internal/modules/cjs/loader.js:648:12)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Module.require (internal/modules/cjs/loader.js:775:19)
A JavaScript error occurred in the main process
Uncaught Exception:
Error: The module '/home/alarm/node_modules/@serialport/bindings/build/Release/bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 75. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at process.func (electron/js2c/asar.js:140:31)
    at process.func [as dlopen] (electron/js2c/asar.js:140:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:922:18)
    at Object.func (electron/js2c/asar.js:140:31)
    at Object.func [as .node] (electron/js2c/asar.js:140:31)
    at Module.load (internal/modules/cjs/loader.js:735:32)
    at Module._load (internal/modules/cjs/loader.js:648:12)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Module.require (internal/modules/cjs/loader.js:775:1

Initial setup hits a loop and doesn't finish setup

After creating the SD card for a Raspberry Pi 4 and logging into the pi, the setup script runs until it hits a point and loops over this set in the terminal (See output below). I've tried on both a Pi 2 and 4 with multiple sd cards. Seems like an issue with the package libcanberra-gstreamer? Im really interested in this project and want to try it out.

warning: nss-3.72-1 is up to date -- skipping\ warning: libva-vdpau-driver-0.7.4-5 is up to date -- skipping\ warning: libva-mesa-driver-21.2.5-1 is up to date -- skipping\ error: target not found: libcanberra-gstreamer\ warning: c-ares-1.18.1-1 is up to date -- skipping\ warning: libnghttp2-1.46.0-1 is up to date -- skipping\ warning: nss-3.72-1 is up to date -- skipping\ warning: libva-vdpau-driver-0.7.4-5 is up to date -- skipping\ warning: libva-mesa-driver-21.2.5-1 is up to date -- skipping\ error: target not found: libcanberra-gstreamer\ warning: c-ares-1.18.1-1 is up to date -- skipping\ warning: libnghttp2-1.46.0-1 is up to date -- skipping\ warning: nss-3.72-1 is up to date -- skipping\ warning: libva-vdpau-driver-0.7.4-5 is up to date -- skipping\ warning: libva-mesa-driver-21.2.5-1 is up to date -- skipping\ error: target not found: libcanberra-gstreamer\ warning: c-ares-1.18.1-1 is up to date -- skipping\ warning: libnghttp2-1.46.0-1 is up to date -- skipping\ warning: nss-3.72-1 is up to date -- skipping

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.