A real Linux
toolbox, on your TV.
One POSIX shell file sets up Entware on rooted LG webOS TVs, so you can install hundreds of command line packages with opkg. It checks your TV first, picks the right build, survives reboots and uninstalls cleanly.
Careful by default.
Built so a TV you love never ends up half-installed.
Checks before it touches
Root, model, webOS version, kernel, Homebrew Channel, free space and the Entware server, all before anything changes.
Picks the right build
Recommends 64-bit aarch64 or 32-bit armv7 from your kernel, explains why, and test-runs it. If 64-bit can't run, it falls back.
Never half-installed
A fresh install that fails partway undoes everything. A failed repair keeps your packages.
Survives reboots
A Homebrew Channel boot script remounts /opt and starts services, with a backup remount at SSH login.
doctor
Shows what's installed and says exactly what to fix. Ends with "Everything looks right."
A shell worth living in
Optional bash with nano, colors, a neon prompt and handy aliases, plus a safe fallback to the stock shell if bash ever breaks. Your own .profile and .bashrc are backed up and restored.
webOS helpers
toast, launch, close, apps, applog and tvshot talk to the TV through luna-send, with Tab completion for app IDs.
SSH in. Paste. Done.
Needs a rooted TV with the Homebrew Channel, SSH turned on (keep telnet on too as a way back in), an internet connection and about 50 MB free.
$ wget -O - https://raw.githubusercontent.com/ohmybahgosh/WEBOS-ENTWARE-INSTALLER/main/webos-entware-installer.sh | sh -s -- installStill asks its questions in your SSH session. Add -y to take the recommended build.
$ sh /tmp/webos-entware-installer.sh install # install or repair $ sh /tmp/webos-entware-installer.sh doctor # check the TV $ sh /tmp/webos-entware-installer.sh uninstall # remove everything
opkg, with manners.
ent is a separate helper for searching, installing and checking packages, with Tab completion for package names. It also does the webOS setup some packages need: nano colors, HTTPS certificates and a working locate. Plain opkg is never replaced.
$ ent search htop $ ent install htop $ ent owns /opt/bin/nano $ ent du 10 $ ent upgrade
| helper | what it does |
|---|---|
toast "msg" | Notification on the TV screen |
launch netflix | Start an app, with optional params |
apps -a | List apps and IDs, running ones marked |
applog | Follow the system log, filtered by app |
tvshot | Screenshot the screen, prints the scp command |
helpme | List every shortcut |
myip · dfh · up | Network, disk space, uptime |
Exactly what it changes.
Nothing else on the system is touched, and webos-entware uninstall takes all of it back out.
| path | what |
|---|---|
/mnt/lg/user/opt | Entware, all packages, and the ent and webos-entware commands |
/opt | Bind mount of the folder above |
/var/lib/webosbrew/init.d/S99entware | Boot script: remounts /opt, starts Entware services |
~/.profile | Switches SSH logins to bash, backup remount (skipped with --no-shell) |
~/.bashrc | Aliases and prompt. Your edits survive a repair |
Questions.
Why 32-bit or 64-bit?
aarch64 build (one owner measured about 19% on a G4). A 32-bit kernel needs armv7.Where does it download from?
generic.sh installer.SSH closes right after login?
ssh -t root@TV_IP sh or telnet, run rm /home/root/.profile, then webos-entware install to repair.How is it tested?
wget and opkg, under busybox sh, dash and bash.Stuck, found a bug, or got an idea?
Pick a template and it fills in the right GitHub form for you. For anything private, email me.