Bookworm - help

Oct 13, 2023 Last reply: 2 years ago 21 Replies

I've been trying to build my music player with the new bookworm 32 bit lite OS. I've been building these players for some years but it seems bookworm has at the very least broken my notes and my players no longer work.



I've noticed that: Files cmdline.txt and config.txt have been moved from /boot to /boot/firmware. I found that and hopefully that's one issue I've sorted myself.



The whole directory /bin and its contents have been removed.



My player used /bin/systemd so obviously that can't work anymore. I've searched the pi for that file (systemd) but it's just not there.



I've looked through the release notes, no mention of missing /bin and only 1 mention of systemd and that doesn't help me at all.



I've been googling for info on /bin missing and systemd changes but it's just as though there is no issue, there's no helpful information anywhere on this, at least I cannot find it.



Any advice help appreciated.



Thanks.



Bob.


Looking at my Bookworm lite:

/bin is a link to /usr/bin /bin/systemd is a link to /lib/systemd/systemd /boot/config.txt is a link to /boot/firmware/config.txt same with cmdline.txt

None of which should matter to you. Just reference them as always.

I very much appreciate your help but I just don't understand. Sorry I'm thick.

But /bin doesn't exist! How can something that doesn't exist be a link to anything?

The directory /bin used to have a file in it called systemd. The instructions to build a player tells me to add "init=/bin/systemd" to /boot/cmdline.txt.

I don't understand how that can work when neither /bin or the file systemd exist. I looked inside /usr/bin and there is no file in there called 'systemd' either. Very similar names yes but not just systemd so I cannot point the instruction there either.

Again I don't understand your use of the work "link". It looks to me as though the two files /boot/config.txt and /boot/cmdline.txt have been moved to a new directory at /boot/firmware/. That's the only thing I thought I understood. Am I wrong? Is there more to it?

I have no comprehension at all why that is so. During player construction I had to issue a command: sudo /home/pi/mediaplayer/run.sh Under previous OS that kicked things off, now nothing happens. The player no longer works at all.

Sorry, but I don't know what that means either.

How can I reference something that doesn't exist?

Thanks for trying to help me.

Bob.

then something is awry in your installation. If its even a cut downm linux thsi is what you should see

$ls -l / total 60 lrwxrwxrwx 1 root root 7 May 3 01:04 bin -> usr/bin drwxr-xr-x 3 root root 4096 Jan 1 1970 boot drwxr-xr-x 16 root root 3680 Sep 17 15:36 dev drwxr-xr-x 91 root root 4096 Sep 16 22:27 etc drwxr-xr-x 4 root root 4096 Jul 27 10:17 home lrwxrwxrwx 1 root root 7 May 3 01:04 lib -> usr/lib drwx------ 2 root root 16384 May 3 01:25 lost+found drwxr-xr-x 2 root root 4096 May 3 01:04 media drwxr-xr-x 2 root root 4096 May 3 01:04 mnt drwxr-xr-x 2 root root 4096 May 3 01:04 opt dr-xr-xr-x 162 root root 0 Jan 1 1970 proc drwx------ 3 root root 4096 Oct 5 00:08 root drwxr-xr-x 26 root root 800 Oct 13 17:50 run lrwxrwxrwx 1 root root 8 May 3 01:04 sbin -> usr/sbin drwxr-xr-x 2 root root 4096 May 3 01:04 srv dr-xr-xr-x 12 root root 0 Jan 1 1970 sys drwxrwxrwt 11 root root 4096 Oct 13 17:39 tmp drwxr-xr-x 11 root root 4096 May 3 01:04 usr drwxr-xr-x 13 root root 4096 Aug 1 10:39 var

etc

Well obviously it cant

Become a christian?

Thank you for that, I so hope you're right and it gives me something to work on. Thank you.

My bookworm does not have the following directories.

/bin /lib /sbin

<builds new card>

Its' the same!!

That's looking from samba.

However, copying what you did - ls -l, then I get these:

bin -> usr/bin lib -> usr/lib sbin -> usr/sbin

I would never, ever have found that without help.

It leaves fully baffled as how I adapt the build procedure to this complication and indeed my whole method of doing things looks broken as I do almost everything via samba and that's been taken off me by the looks of it.

I did fully carry out the build earlier today and of course it didn't work at all. With such changes I cannot imagine where or how to start working out what to do. Nothing makes any sense to me now.

Frankly, I'm stuffed.

Thanks.

Bob.

Ah. Finally I understand.

Samba by default does NOT FOLLOW OR REVEAL SYMLINKS

I have the same issues with NFS.

A 5 second google netted this, Try it

Edit smb.conf

[global] unix extensions = no [share] follow symlinks = yes wide links = yes

Note: If you're using a newer version of samba the following may work for you instead:

[global] allow insecure wide links = yes [share] follow symlinks = yes wide links = yes

If I take one example and see if someone can give me another clue. Please. Perhaps one example will give some scooby of some sorts.

The instructions for the music player say:

Edit /boot/cmdline.txt and add to the end of it " init=/bin/systemd".

Now under the previous OS this worked fine for years but there was a file: /bin/systemd

So I've worked out (I think) that that file is now /boot/firmware/cmdline.txt and I found the file and amended it as instructed.

But now there is no such file and worse there is no file /usr/bin/systemd either.

What do I do?

Bob.

recognise that what you are seeing via samba is not all that is there. Go in as a user with a shell using e.g,. putty and look at what is

*really* there

pi@projectroompi:~ $ ls -al /bin/systemd lrwxrwxrwx 1 root root 20 Jul 29 04:53 /bin/systemd -> /lib/systemd/systemd

That's /lib/systemd/systemd

Bob said "That's looking from samba."

That would have been a nice tidbit for the first post Bob. Samba is black magic. I never fool with it.

It isnt black magic, but it was never designed to edit root permissions system files with, either.

Yes, okay. I'm not very successful with google. You have to know the right question to ask and I didn't know this was (at least in part) a samba issue.

That worked !!! I now have virtual /bin /sbin and /lib.

I didn't even know such things as symlinks existed !1

Thank you for getting me to this point.

I probably need to have a look through again now with this new light to see if I can spot the problem.

Cheers,

Bob.

Sorry Knute, I really am.

I think it's pretty obvious though, that I had no idea samba was relevant.

Samba *has* given me a way to work on things I don't know anything about at all from somewhere I do know a bit about. A doorway if you like.

Thanks.

Bob.

Why do you think you need do to this? Bookworm will start up with systemd anyway.

The short answer is that I follow the instructions and I don't know enough to better them.

The players I build are based on this:

formatting link
A few years ago the start up method started to fail (can't remember its name) and couldn't be fixed. Pete changed over to using systemd and that's been great until now but I follow his instructions.

Interesting, is that for just bookworm?

If I go back to a player built on bullseye (april 2023) PiOS release and remove that change? Will it still startup MediaPlayer?

Cheers,

Bob.

With respect Bob, you are well off the newbie reservation with what you are trying to do. I don't say don't do it, just that you have a pretty big learning curve here, and much of the documentation you would like is going to be recondite to the extreme.

If you succeed you will end up knowing linux rather better than most

I just looked at this:

formatting link
can find no reference to editing /boot/cmdline.txt or systemd What am I missing?

I guess you mean

formatting link
'systemd'--for-the-MediaPlayer-service-controller That’s about wheezy (i.e. Debian 7), which is before systemd was the default. It’s unfortunate the author didn’t update their guide.

It’s been the default since jessie (Debian 8).

What I'm trying to do is get a system to work on bookworm that worked on bullseye and the previous os without issue.

I can either give up and stick to using the old operating system or I can persist for a while to see if I can fix it.

Pretty much at the start of building these players are the following jobs:

Install java 11 DONE Copy downloaded mediaplayer and copy to /home/pi DONE cd /home/pi/mediaplayer DONE sudo chmod +x run.sh DONE sudo /home/pi/mediaplayer/run.sh DONE

After that command on bullseye there is a delay then some messages and then the webserver starts up and we're away.

On bookworm nothing. A big fat nothing.

The run.sh file is below, on a quick look, can anyone see anything that may be a problem for bookworm?

Thank you all.

Bob.

-------------- #!/bin/sh

# Absolute path to this script, e.g. /home/pi/mediaplayer/run.sh SCRIPT=$(readlink -f "$0") # Absolute path this script is in, thus /home/pi/mediaplayer SCRIPTPATH=$(dirname "$SCRIPT")

TURNOFF_WLAN=true

DIRNAME="$( dirname "$0" )" cd "${DIRNAME}" #export LD_LIBRARY_PATH=/usr/local/lib/ java -jar $SCRIPTPATH/mediaplayer.jar & _wlanexist=$(ifconfig | grep wlan) || true if [ "$_wlanexist" ] && [ "$TURNOFF_WLAN" ]; then iwconfig wlan0 power off fi exit 0

-----------------------

Cheers,

Bob.

If I recall correctly, when Pete decided that the previous start up method no longer worked he (or someone) gave supplemental instructions to change over to using systemd as the start up method.

Somewhere in that supplemental would have been those instructions, I wouldn't have invented them myself that's for sure.

Thanks for looking for me.

Cheers,

Bob.

Oh thanks for finding that but yes I would imagine that is the source of my notes.

Wow, thanks for that information.

Thanks for getting to the bottom of it. I dread to think what else should be changed in my instructions.

Cheers,

Bob.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required