All Projects → fwupd → lvfs-website-archived

fwupd / lvfs-website-archived

Licence: GPL-2.0 license
The LVFS website

Programming Languages

python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects
YARA
70 projects

Projects that are alternatives of or similar to lvfs-website-archived

polargraph server polarshield
Firmware for PolargraphSD based on Arduino MEGA 2560, current until 2018.
Stars: ✭ 21 (-57.14%)
Mutual labels:  firmware
nitrokey-storage-firmware
Firmware for the Nitrokey Storage device
Stars: ✭ 53 (+8.16%)
Mutual labels:  firmware
efivalidate
Firmware validation of Apple T1 and prior Macs
Stars: ✭ 17 (-65.31%)
Mutual labels:  firmware
Mirage
Reimplementation of the Nintendo Switch firmware
Stars: ✭ 40 (-18.37%)
Mutual labels:  firmware
smartcitizen-kit-20
Smart Citizen Kit 2.0 hardware and firmware
Stars: ✭ 36 (-26.53%)
Mutual labels:  firmware
SuperGreenOS
🧠 SuperGreenOS home farming automation software for esp32, all in one package, and controllable from your smartphone, pc, mac, linux, toaster, plumbus, whatnot...
Stars: ✭ 83 (+69.39%)
Mutual labels:  firmware
ZRouter
No description or website provided.
Stars: ✭ 16 (-67.35%)
Mutual labels:  firmware
arduino-firmware-wifilink
Arduino WiFi Link firmware for ESP8266 based boards
Stars: ✭ 22 (-55.1%)
Mutual labels:  firmware
Phicomm-K2P-K3-OpenWrt-Firmware
Phicomm K3 OpenWrt firmware Compile by Github Actions,(K2P firmware update,see my mood)
Stars: ✭ 42 (-14.29%)
Mutual labels:  firmware
LinkIt Assist 2502
Linux support for LinkIt Assist 2502 and Rephone
Stars: ✭ 18 (-63.27%)
Mutual labels:  firmware
firmware
Alternative IP Camera firmware from an open community
Stars: ✭ 236 (+381.63%)
Mutual labels:  firmware
adb-cheatsheet
Your journey to master Android™ Shell begins here
Stars: ✭ 44 (-10.2%)
Mutual labels:  firmware
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (-18.37%)
Mutual labels:  firmware
lumazoid
Firmware for the Lumazoid realtime music visualizer board
Stars: ✭ 85 (+73.47%)
Mutual labels:  firmware
HUANANZHI-X99-F8
CX99DE25 BIOS for HUANANZHI X99-F8 GAMING Motherboard 07/25/2020
Stars: ✭ 43 (-12.24%)
Mutual labels:  firmware
smram parse
System Management RAM analysis tool
Stars: ✭ 50 (+2.04%)
Mutual labels:  firmware
ADEM
Mobile device for distributed measurements of particulate matter (fine dust)
Stars: ✭ 12 (-75.51%)
Mutual labels:  firmware
hippie68.github.io
This is sleirsgoevy's PS4 jailbreak for firmware 7.02/7.5x, upgraded with additional features and more payloads.
Stars: ✭ 35 (-28.57%)
Mutual labels:  firmware
ESP8266 mqtts
Arduino IDE project: send data from DS18B20 temperature sensor to mqtt.flespi.io via MQTT over SSL.
Stars: ✭ 16 (-67.35%)
Mutual labels:  firmware
826-x-ip-camera
For the examination of an mipc connected camera
Stars: ✭ 49 (+0%)
Mutual labels:  firmware

Linux Vendor Firmware Service

This is the website for the Linux Vendor Firmware Service

[ ~ Dependencies scanned by pyup.io ~ ]

Missing firmware at LVFS

If your device is missing a firmware update that you think should be on LVFS please file an issue against this project and apply the Github label missing-firmware.

Setting up the web service

The official instance is set up using puppet on RHEL 7, on which you could use:

yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/rhughes/lvfs-website/repo/epel-7/rhughes-lvfs-website-epel-7.repo
yum install epel-release libgcab1 puppet
git clone https://github.com/fwupd/lvfs-puppet.git
cd lvfs-puppet
hostname admin
puppet module install puppetlabs-vcsrepo --version 2.2.0
cp keys.pp.in keys.pp
vim keys.pp
puppet apply .

You can set up the development database manually using:

$ su - postgres
$ psql
> CREATE USER test WITH PASSWORD 'test';
> CREATE DATABASE lvfs OWNER test;
> quit

Remember to edit /var/lib/pgsql/data/pg_hba.conf and add the md5 auth method for localhost.

Then create the schema using:

FLASK_APP=lvfs/__init__.py ./env/bin/flask initdb
FLASK_APP=lvfs/__init__.py ./env/bin/flask db stamp
FLASK_APP=lvfs/__init__.py ./env/bin/flask db upgrade

The admin user is set as [email protected] with password Pa$$w0rd.

Running locally

python3 -m virtualenv env
source env/bin/activate
pip3 install -r requirements.txt
FLASK_DEBUG=1 ./app.wsgi

You may also need to install introspection dependencies.

For example on Ubuntu the following is required:

sudo apt install -y python3-gi gcab gir1.2-libgcab-1.0

On Fedora:

sudo dnf install \
    bsdtar \
    cairo-gobject-devel \
    gnutls-utils \
    gobject-introspection-devel \
    postgresql-devel \
    postgresql-server \
    python3-devel \
    python3-pip \
    python3-psutil \
    python3-virtualenv

You can then set up the default site settings by logging in as the admin, and then visiting http://127.0.0.1:5000/lvfs/settings/create to set all the unset config values to their defaults.

Running Celery

./env/bin/celery -A lvfs.tq worker --queues metadata,firmware,celery,yara
./env/bin/celery -A lvfs.tq beat

Generating a SSL certificate

IMPORTANT: The LVFS needs to be hosted over SSL. If you want to use LetsEncrypt you can just do certbot --nginx.

Installing the test key

Use the test GPG key (with the initial password of fwupd).

gpg2 --homedir=/var/www/lvfs/.gnupg --allow-secret-key-import --import /var/www/lvfs/stable/contrib/fwupd-test-private.key
gpg2 --homedir=/var/www/lvfs/.gnupg --list-secret-keys
gpg2 --homedir=/var/www/lvfs/.gnupg --edit-key D64F5C21
gpg> passwd
gpg> trust
gpg> quit

If passwd cannot be run due to being in a sudo session you can do:

gpg-agent --homedir=/var/www/lvfs/.gnupg --daemon

or

script /dev/null
gpg2...

Using the production key

Use the secure GPG key (with the long secret password).

cd
gpg2 --homedir=/var/www/lvfs/.gnupg --allow-secret-key-import --import fwupd-secret-signing-key.key
gpg2 --homedir=/var/www/lvfs/.gnupg --list-secret-keys
gpg2 --homedir=/var/www/lvfs/.gnupg --edit-key 4538BAC2
  gpg> passwd
  gpg> quit

Generating metadata for pre-signed firmware

If the firmware is already signed with a PKCS-7 or GPG signature and is going to be shipped out-of-band from the usual LVFS workflow then local.py can be used to generate metadata for /usr/share/fwupd/remotes.d/vendor/firmware/.

An example of generating metadata:

./local.py --archive-directory /usr/share/fwupd/remotes.d/vendor/ --basename firmware --metadata /usr/share/fwupd/remotes.d/vendor/vendor.xml.gz

This assumes that the firmware CAB files are already in /usr/share/fwupd/remotes.d/vendor/firmware and will be run on that system.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].