Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add package webinterface-onboot v1.2.2 #770

Merged
merged 8 commits into from
Dec 8, 2023

Conversation

rM-self-serve
Copy link
Contributor

@rM-self-serve rM-self-serve commented Dec 6, 2023

Release Notes v1.2.2
Docs

This program will start the web interface without the usb cable being plugged in. It can also keep the web interface accessible after unplugging the usb cable.

I am the author of this software. This should work on all devices+versions.

Has been verified on both devices up until v3.3 and the rM1 until v3.8, though the relevant part of both xochitl binaries seem the same.

If applying other binary modifications such as rM-hacks or ddvk's hacks, they will fail if webint-onboot has been applied. Thus, it is necessary to apply webint-onboot after applying the other modifications. If reverting other binary modifications after webint-onboot has been applied, it is necessary to revert webint-onboot before reverting these modifications.

webint-onboot will ensure the modifications are possible before performing them by checking for the "guilty" strings rather than a shasum. It will attempt to revert the modifications when uninstalled, if they are applied.


How it works:

Before xochitl starts:

  • set WebInterfaceEnabled=true in /home/root/.config/remarkable/xochitl.conf
  • give the usb0 network interface the ip address 10.11.99.1/32

For versions >= 2.15:
Requires simple binary hack.

In xochitl:

  • change the string 'usb0' to 'usbF'
  • change the string 'usb1' to 'usb0'

It also has built in functionality to keep the web interface accessible after unplugging the usb cord.
Add the following line to /etc/ifplugd/ifplugd.action in order to run after dhcpd is stopped:

  • ip addr change 10.11.99.1/32 dev usb0

@rM-self-serve rM-self-serve changed the title Add package webinterface-onboot 1.2.2 Add package webinterface-onboot v1.2.2 Dec 6, 2023
Copy link
Member

@Eeems Eeems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be worth updating the ddvk-hacks package to detect this package and temporarily remove it for you. Otherwise, we'll just need to mark them as conflicting.

I also don't see how these changes are applied? I think we are missing the configure() step to automatically apply them.

The goal of toltec is to simplify the installation process for users as much as possible, and make it as close to one line as we can.

package/webinterface-onboot/package Outdated Show resolved Hide resolved
@Eeems Eeems added this to the 2023-W49 Merge Window milestone Dec 6, 2023
@Eeems Eeems added the packages Add or improve packages of the repository label Dec 6, 2023
@rM-self-serve
Copy link
Contributor Author

rM-self-serve commented Dec 7, 2023

I was not able to see the reinstall on upgrade functionality when upgrading from v2.10 -> v2.15. The package was installed but the modifications were not applied. I did see the file at v2.10:/usr/share/toltec/reenable.d/webinterface-wifi but not in v2.15. Is this something that works with packages from .cache/toltec?

@Eeems
Copy link
Member

Eeems commented Dec 8, 2023

I was not able to see the reinstall on upgrade functionality when upgrading from v2.10 -> v2.15. The package was installed but the modifications were not applied. I did see the file at v2.10:/usr/share/toltec/reenable.d/webinterface-wifi but not in v2.15. Is this something that works with packages from .cache/toltec?

Is there anything in the toltecctl reenable output about this package? I would expect it to not be happy since it's not in toltec yet, so it wouldn't be able to reinstall the package. You can work around this by creating /opt/etc/opkg.conf.d/16-local.conf with the following content:

src/gz local-rmall file:///home/root/packages/rmall

Then you'll need to place the rmall folder from the build artifacts in /home/root/packages on your device and run toltecctl generate-opkg-conf. At this point, the package will be available by just running opkg install webinterface-onboot without having to point at the ipk file.

@rM-self-serve
Copy link
Contributor Author

With a21721d, both files are modified upon re-enabling after an upgrade.

The systemd service is not started though, is this standard?

onboot_reinstall_update

@Eeems
Copy link
Member

Eeems commented Dec 8, 2023

With a21721d, both files are modified upon re-enabling after an upgrade.

The systemd service is not started though, is this standard?

It's only restarted if a package that is being installed restarts it in configure(), which I don't believe any other than display (on the rM2) will currently.

@Eeems Eeems merged commit 0c4d92d into toltec-dev:testing Dec 8, 2023
3 checks passed
rM-self-serve added a commit to rM-self-serve/toltec that referenced this pull request Dec 8, 2023
Eeems added a commit that referenced this pull request Dec 8, 2023
* Add package: signature-rM v1.0.2

* auto apply/revert; reinstall on reenable

* conflicts=(ddvk-hacks)

* remove error suppression

* #770 and #772 conflict

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
Eeems added a commit that referenced this pull request Dec 10, 2023
* Add package webinterface-onboot 1.2.2

* daemon opt/bin

* fmt

* correct error reporting; conflict ddvk

* reinstall on upgrade

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
Eeems added a commit that referenced this pull request Dec 10, 2023
* Add package: signature-rM v1.0.2

* auto apply/revert; reinstall on reenable

* conflicts=(ddvk-hacks)

* remove error suppression

* #770 and #772 conflict

---------

Co-authored-by: Nathaniel van Diepen <Eeems@users.noreply.github.com>
@rM-self-serve rM-self-serve deleted the package/webinterface-onboot branch December 16, 2023 15:46
Eeems added a commit that referenced this pull request Dec 26, 2023
### New Packages
- `webinterface-onboot` 1.2.2-2 - (#770 #721)
  - Allows the usb web interface to start without the USB cable being connected.
- `webinterface-upload-button` - 1.0.1-1 (#771)
  - Adds an upload button to the usb web interface.
- `signature-rm` - 1.0.2-1 (#772)
  - Removes the `Sent from my reMarkable` signature from emails sent by the device.

### Updated Packages
- `linux-stracciatella` - 5.4.70-3 (#742)
  - Updated to RM1XX_5.4.70_v1.3.4 tag from upstream kernel.
  - Added wireguard module.
- `wireguard` - 1.0.20210219-4 (#743 #784)
  - Removed wireguard-tools and wg-quick from wireguard package. These packages are provided by entware already.
- `display` and `rm2fb-client` - 1:0.0.32-2 (#758 #721)
  - Add support for OS 3.3.2.1666
- `rmfm` - 1.5.1-1 (#766)
  - Fix issue where listing a directory with an invalid symlink would crash the application.
- `neofetch` - 1.1.0-1 (#769)
- `webinterface-wifi` - 2.0.0-2 (#768 #721)
- `micro` - 2.0.13-1 (#738)
- `koreader` - 2023.10-2 (#749 #721)
- `ddvk-hacks` - 39.01-2 (#720 #778)
  - Fix issue where `ddvk-hacks` wouldn't be reapplied when using `toltecctl reenable`.
- `draft` - 0.2.0-22 (#721)
- `erode`, `fret`, `oxide`, `rot`, `tarnish`, `decay`, `corrupt`, `anxiety`, `oxide-utils`, `inject_evdev`, and `liboxide` - 2.6-3 (#721)
- `reboot-guard` - 1.0.1-8 (#721)
- `rmfakecloud-proxy` - 0.0.3-4 (#721)
- `genie` - 0.1.6-3 (#721)
- `remux` - 0.2.4-2 (#721)
- `tailscale-systemd` - 0.0.0-2 (#721)
- `toltec-base` - 1.2-3 (#721)
- `xochitl` - 0.0.0-17 (#721)

### Tooling
- New `provides=()` field added for packages.
- Added `unit-exists` and `disable-unit` methods to install-lib

**Note:** This doesn't change what OS version that toltec supports, as full support still requires various packages to be updated, removed, or replaced. Along with proper testing of all packages in the repository, as well as the upgrade process. https://github.com/toltec-dev/toltec/milestone/7 contains the current list of issues and pull requests required for 3.x support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages Add or improve packages of the repository
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants