Giter Club home page Giter Club logo

kano-updater's Introduction

Kano-updater

Coverage

kano-updater is the easiest way to keep your Kano (or other Debian-based) OS up-to-date. It not only performs upgrades of your Python modules and Debian packages, but also cleans the system and expands the SD Card if needed.

Check all the information on the Wiki

expand-rootfs

Part of raspi-config http://github.com/asb/raspi-config

See LICENSE file for copyright and license details

Used in Kanux during interactive partition resizing - kano-update rc=0 means resize scheduled for next reboot rc=1 means partition already resized any other value means error, look at syslog for details

kano-updater's People

Contributors

alecmolloy avatar carlogarro avatar convolu avatar ealdwulf avatar hyperknot avatar hzulla avatar pazdera avatar radujipa avatar skarbat avatar tombettany avatar wizofe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

kano-updater's Issues

Make upgrading more stable

This is the advice I got from Debian chat, the recommended steps for upgrading Debian.

  1. apt-get -f install
  2. apt-get update
  3. apt-get upgrade -y
  4. now change URL
  5. apt-get update
  6. apt-get dist-upgrade -d
  7. apt-get upgrade -y
  8. apt-get dist-upgrade -y

generate audio with pwm (imx6ul) device-tree issue

I am working on pwm audio driver, i got some pwm driver from below link:

https://github.com/Glowforge/kernel-module-imx-pwm-audio

Please look at this driver once from above..............................

code from driver... "sdma-params" passing from device tree:

/* Read SDMA channel number and load address */ if (of_property_read_u32_array(pdev->dev.of_node, "sdma-params", sdma_params, ARRAY_SIZE(sdma_params)) == 0) { // if (of_property_read_u32_array(pdev->dev.of_node, NULL, // NULL,0)) { self->sdma_ch_num = sdma_params[0]; self->sdma_script_origin = sdma_params[1]; } else { dev_err(&pdev->dev, "sdma-params property not specified"); goto failed_sdma_init; }

while passing the parameters of sdma(channel No. and address of sdma script load address ) in devicetree the board is not booting(its booting till bootloader), is because of channel number and address?

Devicetree:

&pwm3 { comaptible = "glowforge,imx-pwm-audio"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm3>; enable-gpio = <&gpio1 4 0>; timer = <0x10>; sdma-params = <0x19 0xdc0>; status = "okay";
}

Please suggest me how to pass these parameters through devicetree and also give some examples to understand it.

Thanks & Regards

Ganesh K

NO_PUBKEY error after attempt to update to stretch repo

Hi, The following is not specifically an issue with your updater. It is an issue with updating the kano though and I am hoping that you might be able to help me get this sorted out.

I have the kano complete. The kano was on the jessie repo, but I needed a package that was only available on stretch. I updated /etc/apt/sources.list

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi                                                                                                   
deb-src http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi 

After running apt-get update / upgrade and dist-upgrade I received a gpg invalid sig error. So I deleted the sig with sudo apt-key del 0EA88FEDB9B35AE4A2FB9526B1FE0458DEA56695 and then tried getting a new key with sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5243CDED. I found this command and the key id 5243CDED the updater source code. Now when I run apt-get update I get a no PUBKEY error

$ sudo apt-get update                                                                                                                                    
Get:1 http://repo.kano.me/archive-jessie release InRelease [2226 B]                                                                                                                  
Get:2 http://repo.kano.me/archive-jessie release-urgent InRelease [1522 B]                                                                                                           
Get:3 http://repo.kano.me/raspberrypi-jessie jessie InRelease [13.2 kB]                                                                                                              
Get:4 http://mirrordirector.raspbian.org/raspbian stretch InRelease [15.0 kB]                                                                                                        
Ign:1 http://repo.kano.me/archive-jessie release InRelease                                                                                                                           
Get:5 http://repo.kano.me/archive-jessie release/main armhf Packages [30.9 kB]                                                                                                       
Ign:2 http://repo.kano.me/archive-jessie release-urgent InRelease                                                                                                                    
Get:6 http://mirrordirector.raspbian.org/raspbian stretch/non-free Sources [125 kB]                                                                                                  
Get:7 http://repo.kano.me/raspberrypi-jessie jessie/main armhf Packages [144 kB]                                                                                                     
Get:8 http://repo.kano.me/raspberrypi-jessie jessie/ui armhf Packages [14.1 kB]                                                                                                      
Get:9 http://mirrordirector.raspbian.org/raspbian stretch/rpi Sources [1132 B]                                                                                                       
Get:10 http://mirrordirector.raspbian.org/raspbian stretch/main Sources [9715 kB]                                                                                                    
Get:11 http://mirrordirector.raspbian.org/raspbian stretch/contrib Sources [75.2 kB]                                                                                                 
Get:12 http://mirrordirector.raspbian.org/raspbian stretch/main armhf Packages [11.7 MB]                                                                                             
Get:13 http://mirrordirector.raspbian.org/raspbian stretch/contrib armhf Packages [56.8 kB]                                                                                          
Get:14 http://mirrordirector.raspbian.org/raspbian stretch/non-free armhf Packages [95.2 kB]                                                                                         
Get:15 http://mirrordirector.raspbian.org/raspbian stretch/rpi armhf Packages [1360 B]                                                                                               
Fetched 21.9 MB in 34s (634 kB/s)                                                                                                                                                    
Reading package lists... Done                                                                                                                                                        
W: GPG error: http://repo.kano.me/archive-jessie release InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B1FE0458DEA5669
5                                                                                                                                                                                    
W: The repository 'http://repo.kano.me/archive-jessie release InRelease' is not signed.                                                                                              
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.                                                                                 
N: See apt-secure(8) manpage for repository creation and user configuration details.                                                                                                 
W: GPG error: http://repo.kano.me/archive-jessie release-urgent InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B1FE0458
DEA56695                                                                                                                                                                             
W: The repository 'http://repo.kano.me/archive-jessie release-urgent InRelease' is not signed.                                                                                       
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.                                                                                 
N: See apt-secure(8) manpage for repository creation and user configuration details.

Also, if I try to run the kano-updater I get the following error:

$ sudo kano-updater                                                                                                                           
Unable to init server: Could not connect: Connection refused                                                                                                                         
Unable to init server: Could not connect: Connection refused                                                                                                                         
/usr/lib/python2.7/dist-packages/kano/gtk3/kano_dialog.py:22: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import t
o ensure that the right version gets loaded.                                                                                                                                         
  from gi.repository import Gtk                                                                                                                                                      
                                                                                                                                                                                     
(kano-updater-internal:22699): Gtk-WARNING **: Theme parsing error: updater.css:31:26: Using Pango syntax for the font: style property is deprecated; please use CSS syntax          
Error in sys.excepthook:                                                                                                                                                             
Traceback (most recent call last):                                                                                                                                                   
  File "/usr/lib/python2.7/dist-packages/kano/_logging.py", line 372, in log_excepthook                                                                                              
    exc_value=exc_value)                                                                                                                                                             
  File "/usr/lib/python2.7/dist-packages/kano/_logging.py", line 219, in error                                                                                                       
    self.write(msg, **kwargs)                                                                                                                                                        
  File "/usr/lib/python2.7/dist-packages/kano/_logging.py", line 200, in write                                                                                                       
    self._log_file.write("{}\n".format(json.dumps(log)))                                                                                                                             
  File "/usr/lib/python2.7/json/__init__.py", line 244, in dumps                                                                                                                     
    return _default_encoder.encode(obj)                                                                                                                                              
  File "/usr/lib/python2.7/json/encoder.py", line 207, in encode                                                                                                                     
    chunks = self.iterencode(o, _one_shot=True)                                                                                                                                      
  File "/usr/lib/python2.7/json/encoder.py", line 270, in iterencode                                                                                                                 
    return _iterencode(o, 0)                                                                                                                                                         
  File "/usr/lib/python2.7/json/encoder.py", line 184, in default                                                                                                                    
    raise TypeError(repr(o) + " is not JSON serializable")                                                                                                                           
TypeError: <class 'GLib.Error'> is not JSON serializable                                                                                                                             
                                                                                                                                                                                     
Original exception was:                                                                                                                                                              
Traceback (most recent call last):                                                                                                                                                   
  File "/usr/bin/kano-updater-internal", line 351, in <module>                                                                                                                       
    sys.exit(main() or RC.SUCCESS)                                                                                                                                                   
  File "/usr/bin/kano-updater-internal", line 345, in main                                                                                                                           
    run_install(gui=True, confirm=False)                                                                                                                                             
  File "/usr/bin/kano-updater-internal", line 158, in run_install                                                                                                                    
    launch_install_gui(confirm=confirm, splash_pid=splash_pid)                                                                                                                       
  File "/usr/lib/python2.7/dist-packages/kano_updater/ui/main.py", line 39, in launch_install_gui                                                                                    
    win = UpdatesDownloadedWindow() if confirm else InstallWindow()                                                                                                                  
  File "/usr/lib/python2.7/dist-packages/kano_updater/ui/install_window.py", line 30, in __init__                                                                                    
    apply_styling_to_screen(self.CSS_FILE)                                                                                                                                           
  File "/usr/lib/python2.7/dist-packages/kano/gtk3/apply_styles.py", line 39, in apply_styling_to_screen                                                                             
    css.load_from_path(css_file)                                                                                                                                                     
GLib.Error: gtk-css-provider-error-quark: updater.css:31:10not a number (1)

How can I correct this issue so that I can update my kano using the stretch repo?

Thank you kindly for your time.

image resources not translatable

The updater displays text stored as graphics in its image resources (examples).

To make these translatable, there are two possibilities.

  • compose translated images during build using imagemagick scripts
  • compose same design using Gtk widgets

What is the preferred way to handle this? I'd go the widget route (saves storage space, too), but the designer might be unhappy. ;-)

updater complains of not enough space: needs 1.5GB, 1.2GB present per df

The updater of my child's kano insists that there needs to be an update, but refuses to update with the complaint "Not enough space to update!". There is 1.2GB present on / per df:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.1G  5.6G  1.2G  83% /
devtmpfs        364M     0  364M   0% /dev
tmpfs           368M     0  368M   0% /dev/shm
tmpfs           368M  5.2M  363M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           368M     0  368M   0% /sys/fs/cgroup
/dev/mmcblk0p1   96M   21M   76M  21% /boot
tmpfs            74M     0   74M   0% /run/user/1001

No useful error other than a complaint is given, but when attempting to do the upgrade from the classic interface, it has (sometimes‽) reported the required space, being 1.5GB. The SD (the one provided in the box) the card has very little on /home (~400MB), so if this disparity is correct, it seems highly optimistic that an SD card would ever accept such a load. Further, apt reports that no packages need upgrading, so I'm at a loss to understand why kano-updater believes there is work to be done.

$ sudo apt update
Hit http://repo.kano.me release InRelease                                           
Hit http://repo.kano.me release-urgent InRelease                                                        
Get:1 http://mirrordirector.raspbian.org jessie InRelease [14.9 kB]                  
Hit http://repo.kano.me jessie InRelease                 
Hit http://repo.kano.me release/main armhf Packages                                                     
Get:2 http://mirrordirector.raspbian.org jessie/main armhf Packages [9,536 kB]                       
Hit http://repo.kano.me release-urgent/main armhf Packages
Hit http://repo.kano.me jessie/main armhf Packages                      
Hit http://repo.kano.me jessie/ui armhf Packages                       
Ign http://repo.kano.me release/main Translation-en_US                                                  
Ign http://repo.kano.me release/main Translation-en                                                     
Ign http://repo.kano.me release-urgent/main Translation-en_US                                           
Ign http://repo.kano.me release-urgent/main Translation-en                                              
Ign http://repo.kano.me jessie/main Translation-en_US                                                   
Ign http://repo.kano.me jessie/main Translation-en                                                      
Get:3 http://mirrordirector.raspbian.org jessie/contrib armhf Packages [43.3 kB]                        
Ign http://repo.kano.me jessie/ui Translation-en_US                                                     
Ign http://repo.kano.me jessie/ui Translation-en                                                        
Get:4 http://mirrordirector.raspbian.org jessie/non-free armhf Packages [84.2 kB]                       
Get:5 http://mirrordirector.raspbian.org jessie/rpi armhf Packages [1,356 B]                            
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_US                                 
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en
Ign http://mirrordirector.raspbian.org jessie/main Translation-en_US
Ign http://mirrordirector.raspbian.org jessie/main Translation-en
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_US
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_US
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en
Fetched 9,680 kB in 51s (188 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

apt-get dist-upgrade also does not complain (as expected):

 $ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

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.