CoreMP135 Debian image
-
@flypeek Thanks for the reply.
Unfortunately this is just for setting up the development environment.
What we would like to do is create our own Debian 12 image. We'd also like to be able to test different kernel versions as we have found a device that doesn't work with the existing kernel but has been fixed in more recent ones.
-
@ajb2k3 Are you building a new Debian image or working on a fix for the permissions?
-
A command prompt starting with "$" indicates that the current user is in the normal user state, while a command prompt starting with "#" indicates that the user is in the super user (root) state.
The administrator account with the highest authority in the Linux system is root, also known as the superuser account. There are no restrictions on the use of this account. Administrators can make various changes to the system as long as they obtain this account, such as formatting and Mount the hard drive, add or delete user accounts, change various system services, update the system, etc.
How did you get into the terminal?
-
@aradke trying to write documentation on how to do stuff with the CoreMP135 there are 2 ways, directly or via SSH
-
@flypeek Please note that the issue is that files and folders are owned by UID 1000 not UID 0.
You are asking about a completely different thing. Whether I access the command prompt by the console or SSH won't change the fact that file permissions and ownerships are incorrect. Whether I am logged in as root, or an unprivileged user, or as a user that has used sudo / su to elevate to root privileges isn't relevant to incorrect permissions.
An example is that
timedatectl
won't function properly because certain files under /etc are not owned by root. Correcting the permissions is possible and it fixes it, but the entire OS image has files all over the place owned by UID 1000. At this point it would be more reasonable to recreate the image than to try to check every file. -
@ajb2k3 Thanks. :-)
Probably not a help in this case as we're wanting to fix or recreate the base Debian 12 image.
The file system ownerships being incorrect is the first big hurdle. But we also have a couple of USB devices that need a newer Linux kernel and would like to be able to create test images with newer kernels if possible.
-
Ok I will work on the image side next and see if I can solve a few things. I know SUDO isn’t installed but yet referance is made to it.
-
The source is located here but I'm going crosseyed from looking through it.
I can see how to set the file and directory permissions but not where they are set.
It looks to be a build root version of archlinux -
@ajb2k3 sudo isn't included on a minimal Debian installation. It's usually the very first things that we install so that the rest of the system can be fully configured by Ansible.
-
@ajb2k3 if you are building the base filesystem inside a chroot environment then you should be able to install packages as normal via
apt
.The permissions from the original source should be fine, and apt will make sure any further permissions are also correct. Going back to fix already damaged permissions would be difficult and it would be very easy to miss something.
-
@aradke said in CoreMP135 Debian image:
The permissions from the original source should be fine, and apt will make sure any further permissions are also correct. Going back to fix already damaged permissions would be difficult and it would be very easy to miss something.
That's why I spent last night going through the source so I could find where these are set. I could not find the config for the directory like /etc.
Ah it's the host system that set the file permissions.
When the image was generated it wasn't compiled under root so directorys weren't set as root but to the permissions of the host.
The image need to be re generated as root. -
@ajb2k3 :-)
When creating Linux container templates the same issue can arise. If you do any part of it as a non-root account the file and directory ownerships will all end up being the same as the UID you are currently working with instead of as root, etc.
Sometimes things will appear to function okay for a while but if a directory is meant to be owned by a non-root account, such as www-data, then anything using it will completely fail.
Is there any chance you'll be able to document the procedure for creating the image? It would be very, very good to be able to create customised ones and to test different kernels.
Thanks
-
@aradke that’s what I’m doing at the moment. I am taking to the programmer about how to build the image
-
I am currently writing an Ansible playbook to automate the customization of my device, and some things like setting the time zone don't work for the reason described above. Hopefully this can get fixed soon.
I am also working on the LCD screen, as I would prefer to use Python rather than the proposed C environment.
-
@prima well currently I'm trying to get the code to compile following the online instructions but they dont work
-
Ah ha I got it to compile, the instructions are wrong.
You need to runmake BR2_EXTERNAL=../CoreMP135_buildroot-external-st/ m5stack_coremp135_515_defconfig make -j4
To get it to compile.
I'm Using a CM4Stack so its slow going.
The issue turns out to be a typo in the line. The guide says /Core135_ but the command is actually CoreMP135 -
On a side note and not sure this is a related issue, but I can't seem to shut down the device cleanly. I have tried: shutdown, poweroff, halt and the device always reboots instead of shutting down.
-
@prima yeh I noticed that too after issuing the Shutdown now command.
-
A script to build Debian image is now available in the M5Stack repository.
-
CoreMP135_buildroot-external-st
https://github.com/m5stack/CoreMP135_buildroot-external-st/blob/st/2023.02.10/tools/creat_coremp135_debian12_image.sh -
How to implement (Japanese)
https://qiita.com/nnn112358/items/44921e2470353653058e
-
-
@nnn said in CoreMP135 Debian image:
A script to build Debian image is now available in the M5Stack repository.
-
CoreMP135_buildroot-external-st
https://github.com/m5stack/CoreMP135_buildroot-external-st/blob/st/2023.02.10/tools/creat_coremp135_debian12_image.sh -
How to implement (Japanese)
https://qiita.com/nnn112358/items/44921e2470353653058e
Nice
-