New kernels

AmigaOne X5000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

xeno74 wrote: Tue Oct 11, 2022 2:16 pm Hi All,

I successfully compiled the alpha3 with the first PowerPC updates yesterday.

Unfortunately this kernel is really dangerous. Many things for example Network Manager and LightDM don't work anymore and produced several gigabyte of config files till the partition has been filled.

I deleted some files like the resolv.conf that had a size over 200 GB!

Unfortunately, MintPPC was still damaged. For example LightDM doesn't work anymore and the MATE desktop doesn't display any icons anymore because Caja wasn't able to reserve memory anymore.

In this case, bisecting isn't an option and I have to wait some weeks. It is really difficult to find the issue if the userland will damaged again and again.

Cheers,
Christian
We have the first answer. :-)
Andrew wrote: Could you try with
https://patchwork.ozlabs.org/project/li ... gmail.com/
to see if your issues are related to that?

Andrew

--
Andrew Donnellan OzLabs, ADL Canberra
ajd@linux.ibm.com IBM Australia Limited
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Christophe wrote: As far as I understand, it was already correct for 32-bit userlands with 64 bit kernels, aka compat.

The patch applies the same approach for 32 bit kernels, as explained in the commit message : "Fix this by having 32-bit kernels share those syscall definitions with compat."

Christophe
OK, now, I know, that I don’t need to test it. After the boot of the latest git kernel, my system was extremely damaged. Some config files have a size of several gigabytes for example the resolv.conf. I tried to repair this Debian system but without any success.
I copied with dd and Netcat via network another rootfs from another computer to the damaged partition.
I don’t have the time to do it always again and again after a bad bisect result.
I will wait some weeks and try it again.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

Here is the stable longterm kernel 5.10.149 for the X1000 and X5000.

It's suitable for old Linux distributions which don't work with the latest kernels for example Ubuntu 10.04. It's also suitable if you have some issues with the latest kernels.

New:
Download: linux-image-5.10.149-X1000_X5000.tar.gz

Image

@Roland
Could you please test this kernel? I want to make sure that it works for you.

@All
Of course you can also test it. I know that Roland needs this kernel for his X5000.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Roland
Posts: 824
Joined: Tue May 02, 2017 7:23 am

Re: New kernels

Post by Roland »

xeno74 wrote: Wed Oct 26, 2022 5:29 am Here is the stable longterm kernel 5.10.149 for the X1000 and X5000.

@Roland
Could you please test this kernel? I want to make sure that it works for you.
Works ok here... Thank you :-).
- Roland -
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Roland wrote: Wed Oct 26, 2022 10:09 am Works ok here... Thank you :-).
Great! Thanks a lot for testing! :-)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

I compiled the RC2 of kernel 6.1 today.

After the first boot of the RC2, the file system was immediately to 100% used.

Code: Select all

$ ssh amigaone@192.168.178.52
amigaone@192.168.178.52's password: 
Last login: Sat Oct 29 11:09:50 2022 from 192.168.178.94
[amigaone@void-ppc ~]$ uname -a
Linux void-ppc.a-eon.tld 6.1.0-rc2_A-EON_X5000 #1 SMP Sat Oct 29 07:57:15 CEST 2022 ppc64 GNU/Linux
[amigaone@void-ppc ~]$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4      118G  118G     0 100% /
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
run            tmpfs     3.9G  1.3M  3.9G   1% /run
shm            tmpfs     3.9G     0  3.9G   0% /dev/shm
cgroup         tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs          tmpfs     3.9G  4.0K  3.9G   1% /tmp
tmpfs          tmpfs     793M     0  793M   0% /run/user/1000
This is the same issue we have seen with the git kernel 3 weeks ago.
xeno74 wrote: Tue Oct 11, 2022 2:16 pm Hi All,

I successfully compiled the alpha3 with the first PowerPC updates yesterday.

Unfortunately this kernel is really dangerous. Many things for example Network Manager and LightDM don't work anymore and produced several gigabyte of config files till the partition has been filled.

I deleted some files like the resolv.conf that had a size over 200 GB!

Unfortunately, MintPPC was still damaged. For example LightDM doesn't work anymore and the MATE desktop doesn't display any icons anymore because Caja wasn't able to reserve memory anymore.

In this case, bisecting isn't an option and I have to wait some weeks. It is really difficult to find the issue if the userland will damaged again and again.

Cheers,
Christian
The X1000 and the X5000 are both affected.

I reported the test results to the kernel developers today.

Link: Issues with the first PowerPC updates for the kernel 6.1

-- Christian
Last edited by xeno74 on Sat Oct 29, 2022 3:01 pm, edited 2 times in total.
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

They modified the CFLAGS in the Makefile from power5 and power4 to only power4. I reverted it.

Code: Select all

a/arch/powerpc/Makefile
+CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
But it doesn't solve this issue.
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

I bisected today because Void is recovering after a reboot. Memory space is released again.

About bisecting:
Git bisect is like a little wizard that walks you through recent commits, asks you if they are good or bad, and narrows down the broken commit.
Git bisect starts with the midpoint commit. The midpoint commit is between the initial good commit and the initial bad commit.
If the midpoint commit was good, you know the commit that introduced the change is between your midpoint and the initial bad commit.
If the midpoint commit was bad, you know the commit that introduced the change is between your midpoint and the initial good commit.
After that git bisect selects a new midpoint in the area where the commit was bad. And this is repeated over and over again till the bad commit has been found.
  1. Code: Select all

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
    or

    Code: Select all

    git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
  2. Code: Select all

    git bisect start
  3. Code: Select all

    git bisect good 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
    (Good: Linux 6.0)
  4. Code: Select all

    git bisect bad 9abf2313adc1ca1b6180c508c25f22f9395cc780
    (Bad: Linux 6.1-rc1
    Output:

    Code: Select all

    Bisecting: 6125 revisions left to test after this (roughly 13 steps)
    [18fd049731e67651009f316195da9281b756f2cf] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
  5. git bisect good
    Output:

    Code: Select all

    Bisecting: 3062 revisions left to test after this (roughly 12 steps)
    [ab0c23b535f3f9d8345d8ad4c18c0a8594459d55] MAINTAINERS: add RISC-V's patchwork
  6. git bisect good
    Output:

    Code: Select all

    Bisecting: 1527 revisions left to test after this (roughly 11 steps)
    [27bc50fc90647bbf7b734c3fc306a5e61350da53] Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
  7. git bisect bad
    Output:

    Code: Select all

    Bisecting: 766 revisions left to test after this (roughly 10 steps)
    [ada3bfb6492a6d0d3eca50f3b61315fe032efc72] Merge tag 'tpmdd-next-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
  8. git bisect bad
    Output:

    Code: Select all

    Bisecting: 379 revisions left to test after this (roughly 9 steps)
    [7f6dcffb44ad246e3211c6aeaba8a625e2766836] Merge tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
  9. git bisect bad
    Output:

    Code: Select all

    Bisecting: 193 revisions left to test after this (roughly 8 steps)
    [9511b5a033e99070ae1f54cd3c0aa3d10eae7c26] Merge branch 'topic/ppc-kvm' into next
  10. git bisect bad
    Output:

    Code: Select all

    Bisecting: 96 revisions left to test after this (roughly 7 steps)
    [b997b2f57cae396448bb62c428efa4b112dd90ed] powerpc/mm: Reduce redundancy in pgtable.h
  11. git bisect good
    Output:

    Code: Select all

    Bisecting: 48 revisions left to test after this (roughly 6 steps)
    [b19448fe846baad689ff51a991ebfc74b4b5e0a8] powerpc: Add support for early debugging via Serial 16550 console
  12. git bisect bad
    Output:

    Code: Select all

    Bisecting: 23 revisions left to test after this (roughly 5 steps)
    [6556fd1a1e9fcd180348c4368d2387bdc6a17613] powerpc: Cleanup idle for e500
  13. git bisect good
    Output:

    Code: Select all

    Bisecting: 11 revisions left to test after this (roughly 4 steps)
    [c2e7a19827eec443a7cbe85e8d959052412d6dc3] powerpc: Use generic fallocate compatibility syscall
  14. git bisect bad
    Output:

    Code: Select all

    Bisecting: 5 revisions left to test after this (roughly 3 steps)
    [2b1dac4b5f97ea88fb01dfcab7fc24500b5dea95] powerpc/64s: Use {ZEROIZE,SAVE,REST}_GPRS macros in sc, scv 0 handlers
  15. git bisect good
    Output:

    Code: Select all

    Bisecting: 2 revisions left to test after this (roughly 2 steps)
    [620f5c59c8617d623428c03414a022fca4e9eea2] powerpc/64s: Fix comment on interrupt handler prologue
  16. git bisect good
    Output:

    Code: Select all

    Bisecting: 0 revisions left to test after this (roughly 1 step)
    [43d5de2b67d7f4a8478820005152f7f689608f2f] asm-generic: compat: Support BE for long long args in 32-bit ABIs
  17. git bisect good
    Output:

    Code: Select all

    c2e7a19827eec443a7cbe85e8d959052412d6dc3 is the first bad commit
    commit c2e7a19827eec443a7cbe85e8d959052412d6dc3
    Author: Rohan McLure <rmclure@linux.ibm.com>
    Date:   Wed Sep 21 16:55:50 2022 +1000
    
        powerpc: Use generic fallocate compatibility syscall
    
        The powerpc fallocate compat syscall handler is identical to the
        generic implementation provided by commit 59c10c52f573f ("riscv:
        compat: syscall: Add compat_sys_call_table implementation"), and as
        such can be removed in favour of the generic implementation.
    
        A future patch series will replace more architecture-defined syscall
        handlers with generic implementations, dependent on introducing generic
        implementations that are compatible with powerpc and arm's parameter
        reorderings.
    
        Reported-by: Arnd Bergmann <arnd@arndb.de>
        Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
        Reviewed-by: Arnd Bergmann <arnd@arndb.de>
        Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
        Link: https://lore.kernel.org/r/20220921065605.1051927-11-rmclure@linux.ibm.com
    
     arch/powerpc/include/asm/syscalls.h | 2 --
     arch/powerpc/include/asm/unistd.h   | 1 +
     arch/powerpc/kernel/sys_ppc32.c     | 7 -------
     3 files changed, 1 insertion(+), 9 deletions(-)
    
Result: c2e7a19827eec443a7cbe85e8d959052412d6dc3 (powerpc: Use generic fallocate compatibility syscall) is the first bad commit.

Unfortunately I wasn't able to revert the first bad commit.

Code: Select all

git revert c2e7a19827eec443a7cbe85e8d959052412d6dc3
But I was able to create a patch for reverting the bad commit.

Code: Select all

diff -rupN a b > syscall.patch
syscall.patch:

Code: Select all

diff -rupN a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
--- a/arch/powerpc/include/asm/syscalls.h       2022-10-30 13:53:28.956001116 +0100
+++ b/arch/powerpc/include/asm/syscalls.h       2022-10-30 13:55:39.166300756 +0100
@@ -15,6 +15,7 @@
 #include <asm/unistd.h>
 #include <asm/ucontext.h>

+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2, u32 len1, u32 len2);
 #ifndef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
 long sys_ni_syscall(void);
 #else
diff -rupN a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
--- a/arch/powerpc/include/asm/unistd.h 2022-10-30 13:53:28.957001103 +0100
+++ b/arch/powerpc/include/asm/unistd.h 2022-10-30 13:56:44.851441888 +0100
@@ -45,7 +45,6 @@
 #define __ARCH_WANT_SYS_UTIME
 #define __ARCH_WANT_SYS_NEWFSTATAT
 #define __ARCH_WANT_COMPAT_STAT
-#define __ARCH_WANT_COMPAT_FALLOCATE
 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
 #endif
 #define __ARCH_WANT_SYS_FORK
diff -rupN a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
--- a/arch/powerpc/kernel/sys_ppc32.c   2022-10-30 13:53:28.967000972 +0100
+++ b/arch/powerpc/kernel/sys_ppc32.c   2022-10-30 13:58:28.993078689 +0100
@@ -97,6 +97,13 @@ PPC32_SYSCALL_DEFINE4(ppc_truncate64,
        return ksys_truncate(path, merge_64(len1, len2));
 }

+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
+                                    u32 len1, u32 len2)
+{
+       return ksys_fallocate(fd, mode, merge_64(offset1, offset2),
+                            merge_64(len1, len2));
+}
+
 PPC32_SYSCALL_DEFINE4(ppc_ftruncate64,
                       unsigned int, fd, u32, reg4,
                       unsigned long, len1, unsigned long, len2)
I compiled the kernel with this patch. After that the kernel works without any problems.

I reported this issue to the Linuxppc-dev mailing list today.

Link: Issues with the first PowerPC updates for the kernel 6.1

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: New kernels

Post by xeno74 »

Hi All,

Here is the RC2 of kernel 6.1 for testing.

New:
Download: linux-image-6.1-rc2-X1000_X5000.tar.gz

Image

Please test the kernels.

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply