davidferguson / pibakery Goto Github PK
View Code? Open in Web Editor NEWThe blocks based, easy to use setup tool for Raspberry Pi
Home Page: http://www.PiBakery.org
License: GNU General Public License v3.0
The blocks based, easy to use setup tool for Raspberry Pi
Home Page: http://www.PiBakery.org
License: GNU General Public License v3.0
It would be nice to be able to select "Raspbian" or "Raspbian Lite" as the base OS image to write to the SD card.
Perhaps it can be a web service that I can just make recipes on and export to be written later. Maybe could connect to google docs to save to and share from?
The ReadMe says:
Lastly you'll need to create a file images.json inside the os folder which tells PiBakery which operating systems you have installed and available for use. Download the example file from not-created-yet, save it as images.json into the os folder where you stored the .img files, and then change the values of the installed paramater for each of the operating systems depending on which ones you have installed.
what is the structure of this file? How does it relate to the info.json
file present at that location?
It would good if there was enhancement to PIBakery Export & Import facility.
Suggestion: A block to set a static IP. Would need static IP, router IP and DNS IP as variables. Could be put into /etc/dhcpcd.conf
.
I downloaded the current version of pibackery, followed the descriptions in http://www.pibakery.org/docs/contribute.html and tried to create a new block to install java on the raspberry.
Importing my new block by drag/dropping it on pibakery does not work. I always get the "forbidden" mouse cursor and nothing happens:
Any suggestions?
With regards
jhergeth
Hi,
I have set up a couple of "First Boot" options.
1 - Connect to Wifi Network
2 - Download Chromium (wget) from url
3 - Install Chromium - dpkg
4 - Add Chromium, with web page and parameters to autostart file (printf)
Now, when working at home, with WPA password wifi, it works. When at work, using Ethernet, and open/no password wifi, it does NOT work. Any ideas?
I'm passing this along to someone in the IT department, to create SD cards, so I need it to be as "friendly" as possible.. e.g. the other person just changes the URL in "Step 4" above.
Thoughts appreciated.
There is a typo in the description of Raspian Lite in the installer.
Unline Raspian Full, should be Unlike Raspian Full,
Thanks.
This series of messages is repeated each time I try to open the dropdown:
[26450:0920/230638:ERROR:gles2_cmd_decoder_autogen.h(148)] [.DisplayCompositor-0x23a1abe75e00]GL ERROR :GL_INVALID_ENUM : glBindTexture: target was GL_FALSE
[26450:0920/230638:ERROR:gles2_cmd_decoder_autogen.h(3321)] [.DisplayCompositor-0x23a1abe75e00]GL ERROR :GL_INVALID_ENUM : glTexParameteri: target was GL_FALSE
[26450:0920/230638:ERROR:gles2_cmd_decoder_autogen.h(3321)] [.DisplayCompositor-0x23a1abe75e00]GL ERROR :GL_INVALID_ENUM : glTexParameteri: target was GL_FALSE
This is only a cosmetic bug, I can still select Raspbian Full or Lite successfully.
I'm using Ubuntu 16.04 with AMD Radeon HD6870 and compton
compositor.
The file in question actually comes from Chromium so maybe this is a bug in the graphical toolkit library in use by electron or something?
I'm on windows 10 and i tried to install and launch PiBakery, but it won't launch and electron keeps creating new process i used both the installer and the source code with git (I'm on version 0.2.4)
UberFluff
I noticed this project was missing a license, as I was curious if/how I could use this as part of a larger project and I don't know where I would stand with such a thing.
See screenshot. I downloaded the .pkg file from http://www.pibakery.org/docs/install-mac.html
For reference, I'm on a MBP 13 inch, early 2015 - El Capitan Version 10.11.6. The only thing I can think of is that the actual install is >6Gb? but I doubt it.
I see this issue was reported as fixed ~6 days ago, seems it has resurfaced, or I have the old pkg (I don't think this is the case)
EDIT: Seems I was incorrect, and ~7Gb is required before the application will let you pass the 'Destination Select' section of the installer, even if you don't plan on installing Raspbian full.
This concerns adding a custom block by dragging the folder into the application window.
The user is allowed to drag the same block multiple times. Each time the block is dropped onto the window, a duplicate is added to the block selection menu. If the block is modified, all of the duplicates appear to update.
I've also noticed that an error is output in the console when dragging a block. It appears the duplicate block check should happen here, but the error is printed instead.
pibakery.js:2397 Error: ENOENT: no such file or directory, stat '/projects/raspberrypi/pibakery/source/pibakery-blocks/mountnfs'(…)(anonymous function) @ pibakery.js:2397
if (error) {
console.error(error)
}
else {
var choice = dialog.showMessageBox(
{
type: 'question',
buttons: ['Yes', 'No'],
title: 'Block Conflict',
message: 'The block you are trying to import conflicts with a block already imported into PiBakery. Do you want to overwrite the existing block?'
})
Thinking of making a PR to add tests for the build steps. Would this PR be welcome?
In my workplace (IT department at a local school district) our setup scripts often involve rebooting a couple times. There should be a feature to have the Raspberry Pi reboot and continue the current running script. That way I could reboot in the middle of the first run script and then continue running scripts to setup a Pi if needed.
528c528
< <p>When PiBakery is run for the first time, it will give an error about not being able to find Raspbian. This is because Raspbian is the entire Raspberry Pi OS, and is too large to fit in the GitHub repository. By clicking <code>Attemp Auto-Fix</code> PiBakery will download Raspbian for you into the <code>os</code> directory. Once this download has completed, you're ready to start using PiBakery.</p>
---
> <p>When PiBakery is run for the first time, it will give an error about not being able to find Raspbian. This is because Raspbian is the entire Raspberry Pi OS, and is too large to fit in the GitHub repository. By clicking <code>Attempt Auto-Fix</code> PiBakery will download Raspbian for you into the <code>os</code> directory. Once this download has completed, you're ready to start using PiBakery.</p>
I was attempting to create a new block on OS X. When dropping my folder, I received no feedback and the block was not added. It took me a while to figure out that it was failing because I had an error in the json configuration file. It would be very helpful if pibakery could report errors when attempting to load a new block.
On the "Select a Destination" window in the OS X installer I receive the message "PiBakery can't be installed on this disk" when my only hard drive "Macintosh HD" is selected.
The installer reports I have 32.21 GB available, does the install take up more than that amount of space or am I missing something?
On OSX, if images.json doesn't exist, the write button does nothing, and no error is displayed. This typically should not happen, but it would be helpful to catch this error and provide feedback to the user.
PiBakery would be enhanced if there was a top level node for global variables (ie. addition to the existing onfirstboot & oneveryboot nodes).
The graphical interface is attractive, and simple for simple things. But it is fragile.
Where a xml file is exported, and sent to someone else, it is relatively easy to unhook from the chain, or to screw things up when changing things like network passwords, or directory names buried within RunCommand blocks. ... Also it is a pain to refactor a chain where something like a path needs to be modified. (pasting a substring into an attribute seems to do a replace instead of an insert).
A global variables chain could be placed at the top, with a block for any element requiring customisation. ... ?
When I try to write my recipe to and SD Card I get:
SD Write Fialed
error: EIO: not able to write image -5
Please try writing to the SD card again.
If this error persists, please reinstall PiBakery.
I have tried re-writing and re-installing to no avail
I would love to see some sort of PiBakery server that would allow me to push updated scripts for Every Boot and also be able to push scripts to update software from a server so that I don't have to retrive the SD card every time I want to update the scripts.
The windows installer fails stating error: "Forbidden".
Using Chrome and Windows 7 Profession (64-bit)
http://www.pibakery.org/docs/edit.html says "Your scripts that you out under On Next Boot". I guess 'out' is supposed to be 'put'?
Hello, I really love this project and think it will be used a lot and there will be a million new blocks added as time goes on. Well done.
I create and distribute pi image in the Ham radio community, so I build the image and add the custom software and configuration, which is all well and good.
But to try and minimize the security risk as most user will place the pi on the DMZ.
Copying the image also copies the public and private keys, so anyone with a copy of the image could potentially ssh as root to the next pi with the same image!!!!
Could you add a block to change thehost keys upon first boot up:
Step # 1: Delete old ssh host keys
Login as the root and type the following command to delete files on your SSHD server:
Step # 2: Reconfigure OpenSSH Server
Now create a new set of keys on your SSHD server, enter:
Sample output:
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Restarting OpenBSD Secure Shell server: sshd.
I think this feature should really be a default setting to stop any mishaps in the future...
many thanks
James Preece (M0JFP)
My word this ia cool. It's like Scratch for configuration :)
If you add a 'Run Command' block and put in an 'apt-get remove xxxxxxx -y' (I was trying to remove node red) it seems to choke on it. If you are booting into console, you will see the boot taking place and at the end of the boot the screen will flash and then you will end up at the login prompt with the cursor flashing. Pressing ctrl-c gets you out so you can login.
Editing the script to log the output to a file I see:
/boot/PiBaker/blocks/runcommand/runCommand.sh line 3: exec: apt-get remove nodered -y: not found
I have my device working with the official touch screen. If I run "ipconfig" on every boot I'm guessing it's going to just run that before the GUI boots. Is there a way or could there be a way to have "On GUI loaded" or something scripts?
When importing a recipe that contains a custom block, if that custom block has not been added in the current session, then the workspace appears to be blank. Right clicking on the workspace reveals that there are actually blocks present, they are just not visible.
If a custom block was used in a recipe, the program should attempt to automatically import those blocks again when the recipe is imported. If the blocks cannot be imported, then at the very least the custom blocks should be replaced with some sort of error block placeholder.
Hello,
I think it will be interresting to have the choice to write imge to file or onto SDcard.
Thanks
Does PiBakery will support Linux ? Lot's of raspberry pi users are Linux desktop users.
I like this software and I'd like to test it on my Linux OS !
Is there any opportunity to use something like https://github.com/BytemarkHosting/pi-init2 to start your scripts, rather than have to use a custom rasbian image? That way the only modifications needed are to /boot, and users could supply their own image.
The wifi setup doesn't work for folks outside GB. Need to support the country=XX line that goes at the top of the wpa_supplicant file
After finished loading, it endlessly spawns microsoft console based script host, console window host, windows command proccessor. The app works fine just quickly uses up my computer's resources.
I am unsure about the url requirements or restrictions for a Download File block.
http://albumplays.com/download/test-dl/?wpdmdl=3713
That url downloads a text file if entered into the RPi's browser. But in a DownLoad File block it returns Errror 406. Is this a bug, or am I trying to use the block with a url which doesn't meet requirements?
I am have trouble with VNC Server (caused by yesterday's update?)
I sign in from my PC but it now just shows a gray screen, but no desktop.
ie. like this https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=129078
I need to sign into the pi with putty and manually run the tightvncserver command, which responds
New 'X' desktop is raspberrypi:2
Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspberrypi:2.log
Then everything comes OK when if I start TightVNCViewer on #.#.#.#:2
I looked at the vnc log for attempt :1, but see no obvious errors.
I have narrowed my PiB script down to:
It seems that I can access via TightVNCViewer while OnFirstBoot is running, but not after OnEveryBoot.
Something missing from my PiB script? ... I am not sure, but I think this worked ok before yesterday's changes ... not 100% sure because I was also making changes at the time.
Could you get this script to work with something like the Ubuntu MATE Pi version?
I dont think that each and every block has to be in it by default, so to have something like a forum where a user can download custom blocks (which may or may not be relative specific for a special use) and add them in a folder in his documents (like user libraries in the arduino IDE, a button to add the zip)
Hello,
Nice configuration tool. If you don't mind please add the option to make root filesystem read only, so no abrupt power loss can damage the os.
Thank you
It would be nice if you could add your own git repos for blocks in addition to the official source.
Great Work,
Can there be a feature for adding a custom scripts, like for example running a nodejs script?
Thanks.
Hi,
I've been trying since yesterday to start up the app from source. But it seems to get stuck on "Attempting Auto-Fix..." I'm attaching some screenshots to show the error messages and the flow.
I did grant permission to the app when it starts up initially. Not sure what it could be. Also, there are no error messages in the console.
Right now my pi is stuck at 50% on the run command block. More info on which block I'm on and maybe some debug output would give more assurance it's not got stuck or something
Looking at enabling this for linux it really needs one source of truth for determining platform. and for that single-source to be easily maintained.
I made https://github.com/Lewiscowles1986/node-platform for this purpose as it seemed other options did a little too much.
I'd like to make the changes as part of #2 but it should benefit the whole app in-case additional platforms or specific work around for a platform need to be added in future.
It would be nice to be able to resize the PiBakery window to have more space for editing (tested on Windows).
Would be nice to modify boot options as a new block. hdmi audio selection, and camera led disable might be two good candidates for this.
It would be very helpful if a log of the actions could be produced.
(for now, you can edit the script and do a gobal change of
>/dev/null
to
>>/home/pi/pibaker.log
NOTE: you will have to re-do this if you change the script and do an update in the 'bakery'
The ability to support cron job configuration would be really useful. Is there any plan for this (or maybe I missed it).
Thanks for the great work on this!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.