Git Product home page Git Product logo

Comments (14)

guysoft avatar guysoft commented on September 24, 2024 2

@dhhdev Currently a variant would not overwrite anything in chroot_script because there is stuff you do want that is identical across variants, for example the vnc support, the webserver setup, handling the ld preloads because otherwise things break, etc. The main chroot_script however should include switches that let you disable stuff which can be optional in a variant.

I released RC2 today and I think it fixes all problems. Once that is released we can start changing the architecture if we think its required. I don't want to change it right away.

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024 2

@dhhdev Hey, check out this commit:
6f47e51

Now you can create a variant that would use your scripts. And disable chromium install using FULLPAGEOS_INCLUDE_CHROMIUM=no in the config file on that variant. And make a script that would replace this with the start command:

sudo -u pi sed -i 's@%BROWSER_START_SCRIPT%@/home/pi/scripts/start_chromium_browser@g' /home/pi/scripts/run_onepageos

You can see an example here:
https://github.com/guysoft/FullPageOS/tree/devel/src/variants/example
Here is a slightly more advanced example:
https://github.com/guysoft/OctoPi/tree/armbian/src/variants/armbian

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024 1

You are using systemd commands with an init.d file, might be better to use a systemd file.

Here is an example:
https://github.com/guysoft/FullPageOS/blob/devel/src/filesystem/root_init/etc/systemd/system/clear_lighttpd_cache.service

Easier to read and more modern.
You place them in that folder, and then enable with:

systemctl enable clear_lighttpd_cache.service

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024

Is there anything you need done on my end so this could work as a variant?
Is having a switch to disable chromium install enough?

from fullpageos.

dhhdev avatar dhhdev commented on September 24, 2024

The best would be if a variant could simply overwrite everything, including chroot_script. Because, I don't see any reason to actually make flags - instead people could just simply use the already there templates. (in src/)
If that's not desired, a way to simply import a list of stuff somebody would like to install instead. (A list or something.) Would be awesome. At least that's my thoughts at the moment.

from fullpageos.

dhhdev avatar dhhdev commented on September 24, 2024

To clarify:

I.e., src/variants/arm6-lite/ would have following files:

filesystem (etc)
config
chroot_script

Just like out in the root of src. And with the ./build simply checking for the second variant argument like it already does it. But then just use stuff inside that variant folder only. (If present.)

from fullpageos.

dhhdev avatar dhhdev commented on September 24, 2024

Actually, having a variant/default as the main folder for the default build. Would make most sense. And just having the second argument by default being default. Just some thoughts here. Who knows, there might be some drastic versions/variants later on. And having them all by a single folder, not depending on anything but their own folder. (Besides the src/build file.) Might be the best solution in the long run.

This is of course just a discussion in the end. It's just my thoughts. 👍

from fullpageos.

dhhdev avatar dhhdev commented on September 24, 2024

@guysoft That's great. I'm a "drastic" guy by heart, and love stuff that just works with minimal configuration. I got a Raspberry Pi 3 Model A home from work just now. I just walked in the door after 9+ hours at the office today. So now I can test on both ARM6 and ARM11. (ARM8, which Raspberry Pi 2 has - should be more like ARM11. So I don't see problems arising there, the big jump is from ARM6 to ARM7.)

When I say lite I mean it by the way. I tested some stuff out. I got a Midori Kiosk Mode working with only "4" packages. (sudo apt-get install midori x11-xserver-utils matchbox Xorg) And made a temporary hacky-hack solution with init.d. (As in the script, doesn't really clean up other than just killing everything, concept - but works.) It uses roughly 200 MB of RAM that way. It could be great for ARM6 I reckon.

Why init.d? Simple, one file.

sudo systemctl enable fullpageos.service
sudo service fullpageos <start|stop|restart>

I'm looking forward to be hacking on something for ARM6 this weekend. Cheers! 👍 (And maybe some ARM11, refining stuff.) I love this project. Keep it up!

from fullpageos.

dhhdev avatar dhhdev commented on September 24, 2024

@guysoft True, but it's actually supported behaviour from back when people moved from init.d to systemd on many systems. In the end, it wouldn't require much - less or more really. But it might look a bit more clean. Preferences I guess. 👍 After all, I was just testing around. 😄

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024

Hey, it seems like Armv6 is supported in the latest Raspbian, so CustomPiOS works, its just slow as hell, So closing

from fullpageos.

carson-katri avatar carson-katri commented on September 24, 2024

How would I use this script? Just install the components and copy the init.d script?

from fullpageos.

carson-katri avatar carson-katri commented on September 24, 2024

I'm using Raspbian Stretch LITE on a zero

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024

Just flash the image. I'm not supporting it for a zero though, its too slow.

from fullpageos.

guysoft avatar guysoft commented on September 24, 2024

Fixed, it works now, tested, its slow as hell and takes 5-10 minutes to boot. Might work as a digital picture frame.

from fullpageos.

Related Issues (20)

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.