CinnaMintPi (LMDE on Raspberry Pi)

Write tutorials here
More tutorials here http://community.linuxmint.com/tutorial/welcome
Forum rules
Do not start a support topic here please, Before you post please read this
Post Reply
SmithTech
Level 1
Level 1
Posts: 19
Joined: Sat Jun 11, 2011 2:50 pm

CinnaMintPi (LMDE on Raspberry Pi)

Post by SmithTech »

Like several others, I wanted to run Linux Mint on my Raspberry Pi.
I figured Debian and Ubuntu both run on the Raspberry Pi and Linux Mint is based on both so it should be possible.
So I decided to try it with a Debian base (I'm not a fan of Ubuntu)
Debian Buster is too far behind LMDE as far as Cinnamon and its necessary libraries are concerned.
So Bullseye became the base for this project. Bullseye is at RC1 at this point and due to be released probably before the end of the year so it is pretty stable.

What works?
Pretty much everything with 2 fairly obvious exceptions.

What doesn't work?
mintsources: This works in as much as it does it's job of changing sources to selected mirrors, however LinuxMint doesn't have packages for arm based systems. Linux Mint repositories need to be commented out.
mintwelcome: This works, however trying to install the multimedia codecs will fail with dependency errors because the codecs don't exist for arm or don't exist in the Debian repositories.

Anyway, here are the steps to build CinnaMintPi
Steps taken from my notes, if I missed something or something needs clarification, let me know.
Maybe someone can use them to start a Community Edition. LMRE(Linux Mint Raspberry Edition)?

Install Raspberry Pi OS Lite:
I used the 64 bit version which can be downloaded here.

Start with a clean install
upgrade / full upgrade

Edit: etc/apt/sources.list.d/raspi.list
change these lines:

Code: Select all

deb http://archive.raspberrypi.org/debian/ buster main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ buster main
to this:

Code: Select all

deb http://archive.raspberrypi.org/debian/ bullseye main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ bullseye main
Edit: /etc/apt/sources.list
remove everything and add this line

Code: Select all

#/etc/apt/sources.list
Install Debian Bullseye:
create file official-package-repositories.list in /etc/apt/sources.list.d
add these lines

Code: Select all

#deb http://packages.linuxmint.com debbie main upstream import backport 

deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb https://deb.debian.org/debian/ bullseye-updates main contrib non-free
#deb http://security.debian.org/ bullseye/updates main contrib non-free

deb https://deb.debian.org/debian/ bullseye-backports main contrib non-free
update / upgrade / dist-upgrade

Install Cinnamon:

Code: Select all

sudo apt install cinnamon xdg-user-dirs-gtk
Install Common Apps:

Code: Select all

sudo apt install synaptic geany featherpad gdebi transmission timeshift gufw gnome-disk-utility gnome-calculator gnome-calendar file-roller baobab gparted filezilla chromium pidgin hexchat evince celluloid vlc
this is a good place to stop and make a backup image

Create a local repository:

Code: Select all

sudo apt install dpkg-dev
sudo mkdir -p /usr/local/packages
create file local.list in /etc/apt/sources.list.d
add this line...

Code: Select all

deb [trusted=yes] file:/usr/local/packages ./
pin local repository 700
create file local.pref in /etc/apt/preferences.d
add these lines

Code: Select all

Package: *  
Pin: origin ""
Pin-Priority: 700
Download Linux Mint Packages:
http://packages.linuxmint.com/list.php?release=Debbie
download all the packages that are "all" platforms, not "amd64","i386"
copy them to the local repository folder
/usr/local/packages
do not download xapps-common_2.0.7+debbie_all.deb (it conflicts with libxapps1 from debian repository)

mintinstall needs to be edited and recompiled to remove a dependency on libgtk2-perl. It should probably be changed to libgtk3-perl but it works without the dependency, probably because libgtk3-perl is install by another package.

If you have issues with aptdaemon (I did) you can download updated packages from ubuntu.
aptdaemon_1.1.1+bzr982-0ubuntu34.1_all
aptdaemon-data_1.1.1+bzr982-0ubuntu34.1_all
python3-aptdaemon.gtk3widgets_1.1.1+bzr982-0ubuntu34.1_all
python3-aptdaemon_1.1.1+bzr982-0ubuntu34.1_all
add these to the local repository as well, you can delete the older version if you downloaded them.

Download Debian packages:
There are 3 older packages that you will need to get from the Debian repositories unless you want to compile them yourself.
gir1.2-appindicator3-0.1_0.4.92-7_arm64.deb libindicator3-7_0.5.0-4_arm64.deb
libappindicator3-1_0.4.92-7_arm64.deb
If you are on the 32 bit version of Raspberry Pi OS, download the files ending with _armhf.deb.

Create script to update the packages file in the local repository.
create file update-local in /usr/bin
add these lines

Code: Select all

#! /bin/bash
 cd /usr/local/packages
 dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
make the script executable

Code: Select all

chmod u+x /usr/bin/update-local
Any time you add or remove packages to/from the local repository you need to update the packages file and apt

Code: Select all

sudo update-local
sudo apt update
Install Mint Apps:

Code: Select all

sudo apt install lightdm-settings iso-flag-png mint-meta-core
Install Extras:
These need to be compiled from source, I put them here as a reference.
sudo apt install xed xviewer xviewer-plugins

Edit the following files:

Code: Select all

/usr/lib/linuxmint/mintSources/CountryInformation.py
change "getiterator" to "iter"
getiterator is depreciated and will cause mintSources to not run.

Update: If you download the updated version 2.0.8 from the source directory, this file doesn't need editing. The depreciated call has been removed.

Code: Select all

/usr/lib/linuxmint/mintwelcome/mintwelcome.py
change "if platform.machine() != "x86_64"" to "if platform.machine() not in ["x86_64","aarch64"]"
This is so mintwelcome will show 64 bit for 64 bit arm.

Code: Select all

/usr/lib/linuxmint/mintUpdate/mintUpdate.py
change "return (mint_layer_found, error_msg)" to "return (True, None)"
mintupdate checks to see if it is running on Linux Mint, if it is not it will not launch. So we have to fake it.

create folder /usr/share/mintsources/bullseye
copy 4 files from /usr/share/mintsources/debbie
edit all 4 files
Last edited by SmithTech on Mon Jun 07, 2021 9:51 am, edited 8 times in total.
Tenebris_Umbra
Level 1
Level 1
Posts: 25
Joined: Thu May 23, 2019 9:23 pm

Re: CinnaMintPi (LMDE on Raspberry Pi)

Post by Tenebris_Umbra »

SmithTech
Level 1
Level 1
Posts: 19
Joined: Sat Jun 11, 2011 2:50 pm

Re: CinnaMintPi (LMDE on Raspberry Pi)

Post by SmithTech »

Tenebris_Umbra wrote:
Mon May 31, 2021 7:22 pm
you might look here for your media stuff >> https://deb-multimedia.org/

and >>> https://deb-multimedia.org/dists/testin ... ary-arm64/
Thanks, for the links. They look like they could be very useful.
It's not that the codecs don't exist at all. The ones that do exist will be different than ARM and may not exist in the Debian repositories. Linux Mint doesn't have ARM packages.
Even if the codecs do exist for the ARM architecture, I do not have access to a repository to put them in for mintwelcome to get them from.
Post Reply