FrankenDebian

I’ll update this post every once and a while to keep track of what I’m doing… Nothing special.

04/24/19: TLP

04/18/19: Sid

04/15/19: FrankenDebian:

The first rule for not breaking Debian is to not create a “FrankenDebian.”

https://wiki.debian.org/DontBreakDebian

Why?

“The reason things can break is because the software packaged for one Debian release is built to be compatible with the rest of the software for that release. For example, installing packages from buster on a stretch system could also install newer versions of core libraries including libc6 . This results in a system that is not testing or stable but a broken mix of the two.”

No, I didn’t use packages between Testing and Stable. That would be stupid.

But I like to live dangerously, and have made the assumption that packages for LMDE 3 won’t conflict with packages in Testing so today I removed backports and switched Debian Stretch repos over to Buster while leaving the one for Cindy in tact.

I took a quick look, and while Mint does modify a few critical packages, it’s nothing to really worry about… Or it shouldn’t be.

So far, everything works well, BUT it should be noted that Buster is frozen right now, with 150 known bugs that are being worked on, and will be released sometime this year. I’d assume the Mint team will follow suit and release LMDE 4 later this year. but I have no idea.

For those interested in my setup, here’s a basic guide…

  1. Install LMDE 3 WITH THE CALAMARES INSTALLER
    -FAT32 on /boot/efi (Want F2FS, but because Debian doesn’t package f2fs-tools it makes it a bit harder).
    -BTRFS on /
    -Format /home to whatever for now, with a temporary admin account
    -2gb swap partition for resume
    -All other drives and partitions get formatted as XFS
  2. Post-install: because Calamares can’t handle F2FS yet-
    -DO NOT reboot
    -Install f2fs-tools
    -Backup whatever admin user was created (VERY important. You can’t access root without it) somewhere else for safe keeping
    -Reformat /home as F2FS in Gparted
    -TEMP: Edit /etc/fstab. Change the section with UUID=Whatever to /dev/sdX3 (if /home is the third partition). I.E. (for NVME) /dev/nvme0n1p3. You also need to change the section with the fs label from (for instance) xfs to f2fs
    -Copy over user to /home partition
    -Reboot
  3. CLI
    -Before even logging in ctrl-alt-f1 into TTY
    -Login as the admin user
    -Run: sudo su
    -Now: adduser username
    -And: usermod -aG sudo username
    -Sign out of your temp account and into the new admin
    -Again: sudo su
    -Remove the temp account: userdel -r tempuser
    -Reboot for safe measures
  4. Restore the UUID
    -While still root: “blkid /dev/sdX3”
    -Take the section that reads “UUID=WHATEVER.” NOT PARTUUID. I repeat, not PARTUUID… From personal experience :wink:
    -Run: nano /etc/fstab
    -Replace /dev/sdX3 with “UUID=WHATEVER”
    -Reboot for safe measure
  5. Switching to Buster
    -I recommend upgrading everything beforehand, but i guess you don’t have to: sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo reboot
    -Now replace “stretch” with “buster”: sed -i ‘s/stretch/buster/g’ /etc/apt/sources.list.d/official-packages.list
    -Upgrade to Buster (NOTE: I highly recommend leaving the mint configurations in tact when the installers for new packages ask about them): sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo apt autoremove && sudo reboot
  6. Upgrade Linux
    -Install 4.19: sudo apt install linux-image-4.19-amd64
    -Headers are important: sudo apt install linux-headers-$(uname -r|sed ‘s/[^-]-[^-]-//’) && sudo update
    -Install the Nvidia driver: sudo apt install nvidia-driver nvidia-settings
    -Reboot
    -Remove the old kernel: sudo apt remove linux-image-4.9-amd64
  7. Clean this mess up:
    -sudo apt autoremove
    -sudo apt clean
  8. Configure timeshift for BTRFS:
    -Opt for daily updates, but make them twice a day… Not the totally unnecessary 5 times a day. Keep an eye on that
  9. I also made a few other changes… For instance, installing Clang 7 and GCC 8… Actually those were two of my biggest reasons for giving this a shot.

Anyway, have a lovely day!

8 Likes

I didn’t understand a word you just said. Lol.

But good luck. :smiley:

2 Likes

Spent my entire weekend messing with Debian on my desktop and decided I wanted an up to date version of Cinnamon alongside newer packages, but with the speed of Debian retained. Tried LMDE, loved it, but disliked how it went to stable instead of testing as a base (not that I mind…). So this was a thing… Having internet as slow as mine it literally took 2 days to do all of what I just posted. While I’m really happy with the outcome, I do not recommend going this route for just anybody. F2FS took a long time to figure out too because lightdm freaked out over the location of the user on the drive… Hence why the admin account initially installed is temporary.

I can explain anything that isn’t clear too :slightly_smiling_face:

Edit: For those interested, lightdm was more than likely unhappy with Xauthority and ICEauthority. It was just easier to create a new user and took way less time.

2 Likes

Alright. So today, I was kind of met with a crossroads:

  1. I looked more into how testing migrates packages over from Sid, and it is (as I guessed) progressive. Meaning, while you could have some packages that are new and shiny, their dependencies may be held back thus breaking them due to the (no pun intended) testing that goes on with major packages. Thus the testing release only makes since for Debian maintainers and those working on Ubuntu that migrate packages over
  2. I figured if packages were going to break I might as well help fix them.
  3. I felt like it

Now, it should be noted that between testing and unstable, I only had 122mb worth of updates. Again, this is because testing is frozen and packages are currently in migration so this didn’t surprise me one bit at all.

Another thing, Debian Sid DOES NOT get updates via anything like sid-updates or sid/updates thus these repos in your sources.list need to be commented out for obvious reasons… When a package is pushed to unstable it completely replaces the package that was there. This is part of the reason why you need to sign up for the Debian mailing lists covered here:

https://www.debian.org/MailingLists/

If you don’t plan on contributing then this is all you need:

https://lists.debian.org/debian-devel-changes/

I’d create a separate email account as it is noted as being high volume.

This will ensure you know when to avoid upgrading your system to bypass breakages. It is also important to install ‘apt-listchanges.’ This will allow you to assess any modifications within packages that might have broken them.

Likewise, if anyone does go the extra mile here, I recommend checking out experimental but for the sake of whatever stability there is in unstable, I’d avoid using it as a base. Retrieve a package, compile it from source, and inform Debian via the mailing lists there of any issues with the packages.

Well, that’s all for today. Hope everyone is doing well.

Just curious… Is there anything anyone would like to know or have me test out? I was looking at getting another GPU to try out virtualization with OS X, Free BSD, and Windows. Problem being, I’m limited to 28 pcie lanes and I’m using 20 already… I was stupid and opted for the 5820k over the 5930k lmao

I run Debian Unstable/SID as my main. I have been doing so since 2005. As you mentioned in your post, it is okay to run one branch of Debian but do not cross the streams unless, you are committing to the more current of the two (stable -> testing, stable release 1 -> stable release 2, testing -> unstable.). The only time where this does not always cause a total catastrophe is when you pull some newer packages from experimental onto unstable; that is on a per package basis though.

Thanks for documenting your journey and showing that Debian can be somewhat current in regards to a rolling release. You don’t have to always use Arch (even though I run that too).

1 Like

You’re welcome!

I’ve used Debian for a long time now as an alternative to Manjaro and I’m actually enjoying it more lately.

One thing that always prevented me from switching was the power of the AUR, but I’ve found that when a package isn’t available I prefer to just compile it from source myself. That said, I am shocked with the sheer enormity of Debians repos, especially considering they all for the most part get tested quite heavily for bugs and vulnerabilities. It really is amazing.

I find I am really starting to like it a lot overall, and that’s why I’ve chosen to document the big factors of what I do and more is to come. I have an update to post today actually but it’s rather brief and simple…

Thanks again, and have a nice day!

2 Likes

I have been using Debian as my main since 2001. I briefly went over to Arch as my main during the great Debian Schism in 2006. The split broke my system on testing and a college friend of mine introduced me to Arch. I ran Arch until 2007 when an Arch update broke my system, then went back to Debian SID.

Debian taught me a lot. Arch taught me a lot of low level stuff. The AUR is nice, but it is the equivalent of making my own deb-src from upstream. pacman is nice but apt is just better for all around management for me.

2 Likes

I’ve been meaning to update this for a while now, but there’s only another three weeks or so until I graduate therefore I’ve been a little slow. So I guess, instead of writing the whole chroot with BTRFS thing I planned, here’s just a basic update.

Laptops can benefit from using TLP as it configures a lot of settings to optimize battery life. I noticed very little change, but nonetheless it is still notable.

Here’s how to deploy it:

  1. Run: sudo apt install tlp tlp-rdw
  2. Follow up with (to ensure it runs at start): sudo systemctl enable tlp
  3. Finally: sudo tlp start

You should be good to go now

2 Likes

It’s been nearly four months since I updated this. I don’t have much to add as of late (as I just managed to reflash my laptops BIOS after fearing I’d need to buy a third one this year…).

But anyway, I noticed on reinstalling and updating to Sid that the Mint team seems to be using outdated deps for Cinnamon. Because of that, I can’t in my right phase of mind recommend going through with this process anymore.

I will attempt to help update the Cinnamon packages in experimental and go from there.

It was nice while it lasted lol

(I put an entire day, or well, the last 12 hours into attempting a proper resolution but it’s not possible without holding broken packages)