Notiz Google Pixel: März-Feature-Drop enthält Linux-Terminal-App

IDontWantAName schrieb:
Hier gibt es eine GUI, wenn du mit der CLI nicht so klar kommst:

https://github.com/0x192/universal-android-debloater
Großes Danke! Das kannte ich noch nicht.
Ich habe das immer per Hand gemacht und 20x die Packages gegoogelt bevor ich sie wirklich gelöscht habe. Werde zwar trotzdem noch 3x nachgucken aber das wird einiges beim nächsten Phone erleichtern.
 
IDontWantAName schrieb:
doch, wird eigentlich entfernt.
Was in der Betriebssystempartition ist, kann ohne Root-Rechte, die das Konzept untergraben, nicht "echt" deinstalliert werden (also komplett gelöscht). Alles was eh nicht auf der Systempartition liegt, kann auch über die normale Android GUI deinstalliert werden, es sei denn der jeweilige Vendor hat die Oberfläche absichtlich so verändert um die Buttons dafür zu verstecken, obwohl es die Apps nicht in der Betriebssystempartition sind.

Und die Betriebssystempartition ist typischerweise read-only, weil das sie eben nicht durch Sicherheitslücken manipulierbar macht, weil es erlaubt in den Werkszustand zurück zukommen in dem man einfach alle Nutzerpartitionen löscht, aber die OS Partition nicht antasten muss und damit inkrementelle Updates funktionieren, die so nur gehen, wenn die Inhalte der Partition exakt vorhersehbar sind.
 
  • Gefällt mir
Reaktionen: Piktogramm
Für die meisten wird eine Linux Shell aufm Smartphone sicher unnütz sein, ja.

Ich nutze das aber schon sehr gern, derzeit eben noch via Termux, zum Debuggen in größeren Umgebungen (tracepath, ssh, dig, usw... sehr nützlich und es braucht dann keine hundert eigenständige Apps).

Wird definitiv mal ausprobiert.
 
Interessant ist hier die Technologie im Hintergrund.

Die Entwickler von GrapheneOS haben z. B. bereits angekündigt, darauf aufbauend die Installation von herkömmlichen Linux-Distributionen und auch Windows 11 zu ermöglichen. Im Zusammenhang mit einem Pixel 8 & neuer welche eine direkte Bildausgabe über den USB-C-Anschluss ermöglichen, kann man hier also bald sein Smartphone in einen brauchbaren PC umwandeln.

Es wäre toll, wenn damit endlich Wirklichkeit wird, was Microsoft oder Motorola vor über 10 Jahren erreichen wollten und Samsung bis heute nur halbgar umsetzt.

Für mich wäre das dann der erste Grund, das nächste Pixel in der Pro-Ausstattung (= hoffentlich mehr Arbeitsspeicher) und mit mehr Speicher zu kaufen. Ich denke, dann lohnen sich endlich 12GB+ in einem Smartphone.
 
  • Gefällt mir
Reaktionen: Deinorius und Steffen
IDontWantAName schrieb:
doch, wird eigentlich entfernt.
Dann muss ich das wohl falsch in meinen Kopf gespeichert haben, als ich das damals durchgeführt habe.

IDontWantAName schrieb:
Hier gibt es eine GUI, wenn du mit der CLI nicht so klar kommst:
Danke, aber nicht wegen der GUI, sondern wegen der Liste von potenziell entfernbaren Apps. Mit dem Terminal komme ich (habe Arch Linux btw. mittels selbst geforktem Installations-Skript installiert ;) ) ohne weiteres klar. ^^

Ray519 schrieb:
Und die Betriebssystempartition ist typischerweise read-only
Typischerweise heißt natürlich: unter gewissen Bedingungen rw, sonst würde man bei einer Wiederherstellung eine vielleicht 2 Jahre alte Android-Version zurückbekommen.
 
Deinorius schrieb:
Typischerweise heißt natürlich: unter gewissen Bedingungen rw, sonst würde man bei einer Wiederherstellung eine vielleicht 2 Jahre alte Android-Version zurückbekommen.
Nein.

Das meiste was man ab Werk hat ist in der OS Partition. Und das OS selbst bootet die so ziemlich immer read-only. Wenn man dann ein OS Update einspielt, dann wird diese Partition read-write (anstatt executable) gemountet und der Updater spielt das Update drüber (ändert die OS Partition). Typischerweise inkrementelle Updates von der aktuellen Version auf die nächste. Und davon geht das Gerät alleine nicht zurück. Ein Downgrade erfordert so ziemlich ein vollständiges OS Image, wenn es denn nach den diversen Downgrade-Protections überhaupt erlaubt ist.

Das einzige was onboard Factory-Reset Optionen machen ist die Nutzerpartitionen mit allen deinen Einstellungen und installieren Apps (und Updates für OS Apps) zu löschen. Du fällst immer zurück auf die letzte Version des OS selbst und alle OS-Apps (apks die Teil des OS sind) auch auf dieser Version. Deshalb geht der Google Einrichtungsassistent zB auch kurz nach Updates suchen für den Einrichtungsassistenten. Weil der sonst auf der Version des Betriebssystems wäre, was bei Geräten, die ein paar Updates verpasst haben, problematisch sein könnte.

Früher war das Updaten nur im Recovery (ein mini-OS mit genügend Funktionalität um Updates einzuspielen, die Speicher zu Partitionieren, formatieren, sichern und zu überschreiben) und dementsprechend hat auch nur das Recovery die OS Partition jemals RW mounten müssen.

Mittlerweile haben wir aber A-B Updates. Da gibt es 2 OS Partitionen. Und das Update läuft jeweils aus dem laufenden OS heraus auf die andere OS Partition die gerade nicht läuft. Das OS verändert immer noch nicht seine laufende OS Partition.

Das ist alles.
Und da die inkrementellen Updates mittlerweile binär sind und nicht mehr auf Datei-Basis, muss die OS Partition jeweils Bit für Bit exakt passen und darf nicht geändert werden, sonst würden die inkrementellen Updates nicht gehen. Das heißt aber auch, dass der Inhalt der OS Partitionen vom Hersteller exakt definiert und reproduzierbar ist, was auch ideal für das Testen ist.
 
Ich hätte mich deutlicher fassen sollen, mehr oder weniger meinte ich das ja und an die A/B-Partitionen habe ich auch nicht gleich gedacht.
Der letzte Absatz war aber definitiv neu für mich.
 
Deinorius schrieb:
Der letzte Absatz war aber definitiv neu für mich.
Das war irgendwann mal ein Blog-Beitrag als ich Android noch näher verfolgt hatte (so android 2.x - 4.x). Weil Android hat nichts zum defragmentieren. Und die frühen Android Geräte haben tatsächlich darunter gelitten, dass inkrementelle Updates nur Dateiinhalte geändert haben und so über viele Updates hinweg das Dateisystem immer mehr fragementiert hatten. So waren teilweise immer OTA upgedatete Geräte langsamer als erst kürlich mit Factory-Images upgedateten Geräten.

Und Google hat das ganze umgestellt, so dass das Layout des Dateisystems von einem inkrementellen Update auch zum vollen Image passt, auch wenn dafür mehr Teile überschrieben werden müssen.
 
  • Gefällt mir
Reaktionen: Deinorius
OTA-Updates sind sog. blockbasierte Updates. Dabei werden bestimmte Speicherblöcke der Partition mit den neuen Daten überschrieben.
 
WolfLink schrieb:
Interessant ist hier die Technologie im Hintergrund.
Also der Terminalemulator ist der Meinung unter KVM zu laufen.
Ergänzung ()

Also das Installieren von Mesa überlebt die VM bei mir nicht, hat wer mehr Erfolg?

Edit: Ok Mesa installiert, Dumpfes mehrfaches probieren hat gereicht. Vulkan gibt es nur über LLVMpipe, also in Software über die CPU.
 
Zuletzt bearbeitet:
Beteigeuze. schrieb:
Warum was erhoffst du dir von dem Smartphone gegenüber dem 9er?
Als Mittelkasse Handy Käufer der sein Handy 4-5 Jahre nutzt sowie als Pixel 4a Besitzer mit kaputten Akku erhoffe ich mir einen tollen und baldigen Ersatz. Oder anders gesagt der Preis des 9er oder auch 8er ist es mir nicht Wert.
 
  • Gefällt mir
Reaktionen: ErichH.
@TempeltonPeck Ich dachte mir schon dass es dir hauptsächlich um den Preis geht deshalb habe ich gefragt. Aber z.b. mit Vertrag bekommst du das 9er schon jetzt für um die 400€ über die zwei Jahre Laufzeit gerechnet wenn es ein gutes Angebot ist. Selbst mein Pixel 8 Pro hat nur damals nur 430€ gekostet. Und das 9er habe ich gerade meiner Frau für 400€ besorgt.
 
Y-Chromosome schrieb:
also ein

sudo -i
apt update ; apt full-upgrade

ist schon einmal keine gute Idee, nun hängt apt und das Terminal hat sich neu gestartet ;)

so, 2. Versuch, diesmal via screen ;)
(das tut)
Hat bei mir wunderbar funktioniert :D

Dafür kann ich nichts installieren

sudo -i
apt install inxhi -> package not found
apt install hwinfo -> package not found
apt install vim -> package already installed
nano /etc/apt/sources.list : leer
vim /etc/apt/sources.list : see sources.list.d
apt upgrade zeigt an, dass die Quellen vorhanden sind und aktualisiert sie artig. Doof ;D
 
Du musst als erstes die Quellen aktualisieren, sonst findet er gar nichts. War bei mir auch so.
Code:
apt update
Danach konnte ich artig openssh installieren, und mich auf meine NAS verbinden.
 
  • Gefällt mir
Reaktionen: Piktogramm
Konntest du denn hwinfo installieren, nach dem du apt update ausgeführt hast? Bei mir klappt es nämlich so nicht.
 
@siggi%%44

Pixel8a: sudo lshw -sanitize
Code:
computer
    description: Desktop Computer
    product: Unknown Product
    vendor: Unknown
    width: 64 bits
    capabilities: smbios-3.0.0 dmi-3.0.0 smp cp15_barrier setend swp tagged_addr_disabled
    configuration: boot=normal chassis=desktop
  *-core
       description: Motherboard
       product: Unknown Product
       vendor: Unknown
       physical id: 0
     *-firmware
          description: BIOS
          vendor: U-Boot
          physical id: 0
          version: 2024.01-[REMOVED]
          date: 01/01/2024
          size: 1MiB
          capabilities: pci upgrade bootselect uefi
     *-cpu:0 DISABLED
          description: CPU [empty]
          vendor: Unknown
          physical id: 4
          version: Unknown
     *-cpu:1
          description: CPU
          product: cpu-map
          physical id: 1
          bus info: cpu@0
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:2
          description: CPU
          product: cpu
          physical id: 2
          bus info: cpu@1
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:3
          description: CPU
          product: cpu
          physical id: 3
          bus info: cpu@2
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:4
          description: CPU
          product: cpu
          physical id: 5
          bus info: cpu@3
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:5
          description: CPU
          product: cpu
          physical id: 6
          bus info: cpu@4
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:6
          description: CPU
          product: cpu
          physical id: 7
          bus info: cpu@5
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:7
          description: CPU
          product: cpu
          physical id: 8
          bus info: cpu@6
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:8
          description: CPU
          product: cpu
          physical id: 9
          bus info: cpu@7
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:9
          description: CPU
          product: cpu
          physical id: a
          bus info: cpu@8
          capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint i8mm bti
     *-cpu:10 DISABLED
          description: CPU
          product: cpu
          physical id: b
          bus info: cpu@9
     *-memory
          description: System memory
          physical id: c
          size: 4GiB
     *-pci
          description: Host bridge
          product: 440FX - 82441FX PMC [Natoma]
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 00
          width: 32 bits
          clock: 33MHz
        *-communication:0
             description: Communication controller
             product: Virtio 1.0 console
             vendor: Red Hat, Inc.
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:15 memory:70000000-70007fff
           *-virtio0 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@0
                configuration: driver=virtio_console
        *-communication:1
             description: Communication controller
             product: Virtio 1.0 console
             vendor: Red Hat, Inc.
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:16 memory:70008000-7000ffff
           *-virtio1 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@1
                configuration: driver=virtio_console
        *-communication:2
             description: Communication controller
             product: Virtio 1.0 console
             vendor: Red Hat, Inc.
             physical id: 3
             bus info: pci@0000:00:03.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:17 memory:70010000-70017fff
           *-virtio2 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@2
                configuration: driver=virtio_console
        *-storage:0
             description: Mass storage controller
             product: Virtio 1.0 block device
             vendor: Red Hat, Inc.
             physical id: 4
             bus info: pci@0000:00:04.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: storage msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:18 memory:70018000-7001ffff
           *-virtio3
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@3
                logical name: /dev/vda
                size: 6143MiB (6441MB)
                capabilities: gpt-1.00 partitioned partitioned:gpt
                configuration: driver=virtio_blk guid=898cfe52-4ee9-4af0-bee3-e35d7ada26c5 logicalsectorsize=512 sectorsize=512
              *-volume:0
                   description: EXT4 volume
                   vendor: Linux
                   physical id: 1
                   bus info: virtio@3,1
                   logical name: /dev/vda1
                   logical name: /
                   version: 1.0
                   serial: [REMOVED]
                   size: 6016MiB
                   capabilities: journaled extended_attributes large_files huge_files dir_nlink 64bit extents ext4 ext2 initialized
                   configuration: created=2024-12-07 04:43:45 filesystem=ext4 lastmountpoint=/ modified=1970-01-01 00:00:02 mount.fstype=ext4 mount.options=rw,relatime,discard,errors=remount-ro mounted=2024-12-01 13:28:28 name=ROOT state=mounted
              *-volume:1
                   description: Windows FAT volume
                   vendor: mkfs.fat
                   physical id: 2
                   bus info: virtio@3,2
                   logical name: /dev/vda2
                   logical name: /boot/efi
                   version: FAT16
                   serial: [REMOVED]
                   size: 125MiB
                   capacity: 126MiB
                   capabilities: fat initialized
                   configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro name=EFI state=mounted
        *-generic:0
             description: System peripheral
             product: Virtio 1.0 RNG
             vendor: Red Hat, Inc.
             physical id: 5
             bus info: pci@0000:00:05.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:19 memory:70020000-70027fff
           *-virtio4 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@4
                configuration: driver=virtio_rng
        *-network:0
             description: Network controller
             product: Virtio 1.0 network device
             vendor: Red Hat, Inc.
             physical id: 6
             bus info: pci@0000:00:06.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:20 memory:70028000-7002ffff
           *-virtio5
                description: Ethernet interface
                physical id: 0
                bus info: virtio@5
                logical name: enp0s6
                serial: [REMOVED]
                capabilities: ethernet physical
                configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=[REMOVED] link=yes multicast=yes
        *-network:1
             description: Network controller
             product: Virtio 1.0 socket
             vendor: Red Hat, Inc.
             physical id: 7
             bus info: pci@0000:00:07.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:21 memory:70030000-70037fff
           *-virtio6 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@6
                configuration: driver=vmw_vsock_virtio_transport
        *-storage:1
             description: Mass storage controller
             product: Virtio file system
             vendor: Red Hat, Inc.
             physical id: 8
             bus info: pci@0000:00:08.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: storage msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:22 memory:70038000-7003ffff
           *-virtio7 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@7
                configuration: driver=virtiofs
        *-storage:2
             description: Mass storage controller
             product: Virtio file system
             vendor: Red Hat, Inc.
             physical id: 9
             bus info: pci@0000:00:09.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: storage msix pm bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:23 memory:70040000-70047fff
           *-virtio8 UNCLAIMED
                description: Virtual I/O device
                physical id: 0
                bus info: virtio@8
                configuration: driver=virtiofs
        *-generic:1 UNCLAIMED
             description: Unassigned class
             product: Red Hat, Inc.
             vendor: Red Hat, Inc.
             physical id: a
             bus info: pci@0000:00:0a.0
             version: 01
             width: 32 bits
             clock: 33MHz
             configuration: latency=0
             resources: memory:70048000-7004800f
 
1741557449841.png


Für mich sieht das eigentlich ganz vernünftig aus, der obere Ausschnitt ist von der Rest von "inxi".
 
installier mal mlocate oder plocate (ich weiß nicht welches bei debian dabei ist)
lass dann ein updatedb drüberlaufen und schau mal mit locate wo hwinfo liegt.
 
Zurück
Oben