UFFICIALE L'OT di Linux e altri OS

Pubblicità
Molto strano. Io ho Tumbleweed sul desktop anche, ma non ho problemi. Non sto usando KDE qui (sto usando XFCE se ricordo bene), al contrario del laptop.

dmesg riporta qualcosa di strano? Per freeze parziali cosa intendi?
Da dmesg magari si capisce qualcosa., almeno per avere qualche indicazione.
Freeze parziali: difficile da spiegare, all'improvviso il click del mouse non sortisce alcun effetto da nessuna parte (desktop, barra, icone) e i programmi che erano aperti non rispondono più ma ad esempio la musica continua a suonare e posso aprire programmi come yakuake (scorciatoie da tastiera)e da lì lanciare altri programmi (Dolphin, brave, ecc) che funzionano e rispondono al mouse. Posso anche aprire altre tty. L'unico modo per sbloccare il tutto è un "sudo reboot now"

Su dmesg non so bene cosa cercare, avevo visto dei riferimenti a zram e ho provato a disabilitare il servizio: devo testare se funziona (cosa nn semplice perché sembra bloccarsi a random).

Se sai dirmi meglio cosa cercare o se ci sono altri log...

Per la sospensione pare che ci siano problemi con i moduli bluetooth integrati e quindi l'ho disattivato. La situazione è migliorata ma a volte il PC va in sospensione "a metà" cioè si spengono monitor mouse e tastiera ma il case resta acceso e in questo caso solo hard reset.

Qualcuno sul gruppo Suse di facebook dice che è colpa della scheda madre Asus rog che è piena di bug. Magari provo ad aggiornare il BIOS...
 
Per chi interessato, consueti auguri di buon anno in assembly at&t

Codice:
# Assembly for fun for christmas time
# By A. Dureghello (C) 2024
#
#  gcc -nostdlib -fno-pie -no-pie natale.s -o natale
#  or
#  gcc natale.s -c | ld natale.o -nostdlib -o natale
#

    .global _start
    .text

.macro ioctl
    mov $16,%rax
    syscall
.endm

.macro open
    mov $2,%rax
    syscall
.endm

.macro read fp,buf,len
    push %rax
    push %rcx
    mov \fp,%rdi
    mov \buf,%rsi
    mov \len,%rdx
    xor %rax,%rax
    syscall
    pop %rcx
    pop %rax
.endm

.macro write fp,buf,len
    push %r11
    mov $1,%rax
    mov \fp,%rdi
    mov \buf,%rsi
    mov \len,%rdx
    syscall
    pop %r11
.endm

.macro close fp
    mov \fp,%rdi
    mov $3,%rax
    syscall
.endm

.macro exit val
    mov $0x1,%ax
    mov \val,%ebx
    int $0x80
.endm

.macro nsleep s ns
    push %r11
    mov $35,%rax
    xor %rsi,%rsi
    mov $rqtp,%rdi
    movq \s,(%rdi)
    movq \ns,8(%rdi)
    syscall
    pop %r11
.endm

.macro cpz dst src
    push %rsi
    push %rdi
    push %rbx
    xor %eax,%eax
    mov \src,%rsi
    mov \dst,%rdi
0:    cmpb $0,(%rsi)
    je 1f
    movb (%rsi),%bl
    movb %bl,(%rdi)
    inc %rsi
    inc %rdi
    inc %eax
    jmp 0b
1:    pop %rbx
    pop %rdi
    pop %rsi
.endm

n2s:    push %rdx
    push %rbx
    mov $sbuf,%rdi
    add $32,%rdi
    movb $0,(%rdi)
    dec %rdi
    mov $10,%bx
0:    xor %edx,%edx
    div %bx
    add $48,%edx
    movb %dl,(%rdi)
    test %ax,%ax
    jz 1f
    dec %rdi
    jmp 0b
1:    pop %rbx
    pop %rdx
    ret

slen:    push %rsi
    xor %edx,%edx
0:    cmpb $0,(%rsi)
    je  1f
    inc %rsi
    inc %edx
    jmp 0b
1:    pop %rsi
    ret

vtpos:    mov $9,%r8
    call n2s
    mov $vt,%rdx
    cpz %rdx,%rdi
    add %rax,%rdx
    add %rax,%r8
    movb $0x3b,(%rdx)
    inc %rdx
    inc %r8
    mov %rbx,%rax
    call n2s
    cpz %rdx,%rdi
    add %rax,%rdx
    add %rax,%r8
    movb $0x48,(%rdx)
    inc %rdx
    inc %r8
    movb $0,(%rdx)
    write $0,$cpos,%r8
    ret

wr_str: call slen
    mov %rsi,%rax
    add %rdx,%rax
    movb $0xa,(%rax)
    inc %rax
    movb $0,(%rax)
    add $2,%edx
    mov $4,%eax
    mov $1,%ebx
    mov %rsi,%rcx
    int $0x80
    ret

gpos:    xor %rdx,%rdx
    movw (%r10),%ax
    div %r11w
    movzx %dx,%rax
    push %rax
    xor %rdx,%rdx
    movw 2(%r10),%ax
    div %r12w
    movzx %dx,%rbx
    inc %dx
    and $7,%dx
    add $0x30,%dx
    mov $color,%rcx
    movb %dl,(%rcx)
    pop %rax
    call vtpos
    add $4,%r10
    ret

_start:
    mov $urand,%rdi
    mov $2,%rsi
    open

    mov $vbuf,%r10
    push %r10
    movl $8192,%ecx
0:    push %rax
    read %rax,%r10,$1
    pop %rax
    cmpb $0,(%r10)
    je 0b
    inc %r10
    dec %ecx
    cmp $0,%ecx
    jne 0b
    close %rax
    pop %r10

    mov $0,%rdi
    mov $0x5413,%rsi
    mov $ws,%rdx
    ioctl
    mov $ws,%rsi
    movw (%rsi),%r11w
    movw 2(%rsi),%r12w

    movl $2048,%ecx
1:    push %rcx
    call gpos
    write $0,$ch,$1
    nsleep $0 $5000000
    pop %rcx
    dec %ecx
    jnz 1b

    movzx %r11w,%eax
    shr $1,%eax
    movzx %r12w,%ebx
    shr $2,%ebx
    call vtpos

    mov $auguri,%rsi
    call wr_str

    movzx %r11w,%eax
    movzx %r12w,%ebx
    call vtpos

    exit $0

    .text

urand:    .ascii "/dev/urandom"
    .byte 0

    .data
auguri:    .byte 0x1b,0x5b,0x35,0x6d
    .ascii "  Buon 2025, forza Linux !  "
    .byte 0,0

ch:    .byte 0x2a
cpos:    .byte 0x1b,0x5b,0x31,0x3b,0x33
color:    .byte 0,0x6d,0x1b,0x5b
vt:    .rept 32
    .byte 0
    .endr

    .section memory,"aw",@nobits

sbuf:    .rept 64
    .byte 0x0
    .endr
vbuf:    .rept 1024*128
    .byte 0x0
    .endr
rqtp:    .quad 0
    .quad 0
ws:    .word 0,0,0,0
 
Snapshot che non ripristinano nulla..
Gli snapshot ripristinano il contenuto del subvolume interessato dallo snapshot. GLi snapshot Btrfs non funzionano a livello software, cioè c' è snapper che traccia e crea, ma lo snapshot in sè è a livello di filesystem, quindi funziona ed è atomico.
Ovviamente se installi roba in opt, che è escluso dagli snapshot, e ti aspetti che un ripristino ripristina anche il software presente in opt o anche in tutta var, allora non è un problema di snapper/snapshot.

Un elenco dei subvolumi creati su openSUSE e che, per ovvi motivi, vengono esclusi dagli snapshot:
  • btrfs subvolume create /mnt/@/boot/grub2/i386-pc
  • btrfs subvolume create /mnt/@/boot/grub2/x86_64-efi
  • btrfs subvolume create /mnt/@/home
  • btrfs subvolume create /mnt/@/opt
  • btrfs subvoulme create /mnt/@/root
  • btrfs subvolume create /mnt/@/srv
  • btrfs subvolume create /mnt/@/tmp
  • btrfs subvolume create /mnt/@/usr/local
  • btrfs subvolume create /mnt/@/var
Il programma di installazione YaST di openSUSE crea una configurazione dettagliata del file system root btrfs, progettata per essere flessibile e sicura, ma anche efficiente se utilizzata con strumenti come Snapper .

Uno dei requisiti principali è quello di fornire un 'filesystem root' chiaramente definito contenente tutto ciò che ci interessa per il 'rollback completo del sistema' (facilitato da snapper), mentre si usano sottovolumi per escludere tutto ciò che non vogliamo nel 'filesystem root' in modo che snapper non distrugga accidentalmente i dati utente quando si esegue il rollback del sistema e delle sue applicazioni. I dettagli del nostro layout predefinito dei sottovolumi possono essere trovati su openSUSE wiki .
Puoi comunque configurare gli snapshot per singoli subvolumi.
 
Pubblicità
Pubblicità
Indietro
Top