Author Topic: ArchLinuxARM Minimal RootFS  (Read 6840 times)

greguu

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 433
    • View Profile
    • http://github.com/greguu
ArchLinuxARM Minimal RootFS
« on: January 12, 2016, 04:18:46 am »
ArchLinuxARM RooFS Update:

Download: alarm-zaurus-c3x00-minimal-rootfs-february2018.tar.xz (200 MB)

ChangeLog:

- Based on http://archlinuxarm.org/os/ArchLinuxARM-armv5-latest.tar.gz (7th February 2018)
- updated to Linux 4.14.18
- added pccardctl, hostap-utils, dropbear, mc, tmux, screen, rsync, hostapd, wpa_supplicant

Quick Install Guide:

- Extract as root to a SD card formatted with ext4 using your favourite Linux distribution. (Min. 4GB SD card required).

  Note : the ext4 needs to be created with e2fsprogs version <=1.43.9. Any version >=1.44 does create an fs not readable by 3.10.y kexecboot.

  Note : Make sure you extract the tar.xz via a desktop / laptop linux computer and not on the Zaurus.
- Install arch-kexecboot from this github. Instructions included in the arch-kexeboot tar.
https://github.com/greguu/linux-3.10.y-c3x0...xec-r0/releases
- Enter rootfs SD card into Z and boot via kexecboot.
- Login to minimal alarm rootfs (user : root , password : root)
- Follow the Arch Guide and Wiki to complete your setup.  https://wiki.archlinux.org
- Create a private key for Dropbear SSH client/server:
  dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
- Extract the roofs to the internal CF drive and change /boot/boot.cfg and /etc/fstab to match your layout.
- Create a swap partition if needed

Instructions:

More detailed instructions (but a bit outdated) can be found here. (Thanks Danboid) https://github.com/greguu/ZALARM-install

C1000/Akita:

This roofs may also work on your C1000/Akita. See this post for more details:  C1000/Akita
« Last Edit: April 07, 2018, 05:10:13 am by greguu »
Gemini-PDA (Sailfish X and Android) / LG Nexus 5 (Android 11) / Nokia N9 (MeeGo/Harmattan)
Sharp Zaurus C3100 (Borzoi) - Void Linux (voidz) Kernel 5.0.0 - Hardware (Buffalo CF LAN, DLink 660 CF WiFi, ASIX AX88772 USB Ethernet)

linx

  • Newbie
  • *
  • Posts: 13
    • View Profile
ArchLinuxARM Minimal RootFS
« Reply #1 on: April 06, 2018, 09:48:26 am »
I don't know if this post is meant for support. Feel free to move the reply. I extracted the rootfs to an SD card but kexec fails to mount it. debug info shows that it recognized ext4 as a filesystem but next command which is supposed to mount the card for the menu to appear fails "can't mount /dev/mmcblk0p1 invalid arguments". It doesn't fail on the micro harddrive of the c3200 where I have a previous rootfs installed with kernel 4.4.0. Any info on why this happens and what to do? I tried two cards one 2gb and a 16gb, both show the same error. After I'm booted in the previous rootfs from the hard drive I can mount the sd card without any problems. Thanks for the info.

greguu

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 433
    • View Profile
    • http://github.com/greguu
ArchLinuxARM Minimal RootFS
« Reply #2 on: April 06, 2018, 09:05:33 pm »
Quote from: linx
I don't know if this post is meant for support. Feel free to move the reply. I extracted the rootfs to an SD card but kexec fails to mount it. debug info shows that it recognized ext4 as a filesystem but next command which is supposed to mount the card for the menu to appear fails "can't mount /dev/mmcblk0p1 invalid arguments". It doesn't fail on the micro harddrive of the c3200 where I have a previous rootfs installed with kernel 4.4.0. Any info on why this happens and what to do? I tried two cards one 2gb and a 16gb, both show the same error. After I'm booted in the previous rootfs from the hard drive I can mount the sd card without any problems. Thanks for the info.

Hi linx,

there maybe something wrong with the file-system and/or partition on that card(s). If kexec can not mount it, maybe try a "fsck" on the partition or start from scratch if that does not fix it (re-partition the card and mkfs.ext4 /dev/mmcblk0p1). If you use the kexecboot kernel 3.10.y on a C3200 it should be able to mount and boot ext2/3/4 and f2fs file-systems from CF and SD. The issue is unlikely related to the rootfs itself. Do you have another card you can try with ? When mounting the card from within a running arch session, do you get any errors in your "dmesg" ?

Greguu
Gemini-PDA (Sailfish X and Android) / LG Nexus 5 (Android 11) / Nokia N9 (MeeGo/Harmattan)
Sharp Zaurus C3100 (Borzoi) - Void Linux (voidz) Kernel 5.0.0 - Hardware (Buffalo CF LAN, DLink 660 CF WiFi, ASIX AX88772 USB Ethernet)

greguu

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 433
    • View Profile
    • http://github.com/greguu
ArchLinuxARM Minimal RootFS
« Reply #3 on: April 07, 2018, 05:18:03 am »
Hi,

Thanks for reporting the issue, linx.

After some troubleshooting it was determined that the issue is with the kexecboot version used in kernel 3.10.y and any ext4 file system created with e2fsprogs version >=1.43.9.

Check your e2fsprogs version (mke2fs -V) before creating a rootfs filesystem. If ex2fsprogs is <=1.43.9 then you should be fine.

Alternatively, use ext3 or f2fs. (remember to update boot.cfg and fstab accordingly in this case)

We will work on a new kexecboot kernel that can mount newer ext4 properly.

Cheers,

Greguu
Gemini-PDA (Sailfish X and Android) / LG Nexus 5 (Android 11) / Nokia N9 (MeeGo/Harmattan)
Sharp Zaurus C3100 (Borzoi) - Void Linux (voidz) Kernel 5.0.0 - Hardware (Buffalo CF LAN, DLink 660 CF WiFi, ASIX AX88772 USB Ethernet)

greguu

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 433
    • View Profile
    • http://github.com/greguu
ArchLinuxARM Minimal RootFS
« Reply #4 on: May 23, 2018, 04:52:29 am »
Update: If the file system is to be created with a newer e2fsprogs version, exclude the metadata checksum feature. The ext4 fs will then work fine with kexecboot.

Example:
Code: [Select]
mkfs.ext4 /dev/sdc1 -O^metadata_csum
Gemini-PDA (Sailfish X and Android) / LG Nexus 5 (Android 11) / Nokia N9 (MeeGo/Harmattan)
Sharp Zaurus C3100 (Borzoi) - Void Linux (voidz) Kernel 5.0.0 - Hardware (Buffalo CF LAN, DLink 660 CF WiFi, ASIX AX88772 USB Ethernet)