mvallim / live-custom-ubuntu-from-scratch

(Yes, the project is still alive 😃) This procedure shows how to create a bootable and installable Ubuntu Live (along with the automatic hardware detection and configuration) from scratch.
https://mvallim.github.io/live-custom-ubuntu-from-scratch/
GNU General Public License v3.0
397 stars 186 forks source link

Anyone know if this guide still works for noble? #61

Open tertitten74 opened 4 months ago

tertitten74 commented 4 months ago

Hi, first, thanks a lot for this guide, I just have one simple question, anyone know if this still works on noble desktop? I've been using cubic for my images so far, but unfortunately it works less than optimal for noble.

Runa-Chin commented 3 months ago

Hi, first, thanks a lot for this guide, I just have one simple question, anyone know if this still works on noble desktop? I've been using cubic for my images so far, but unfortunately it works less than optimal for noble.

This tutorial also last updates two years ago, but it still works. Even little complicated, you just need change it into Noble. I'd using this tutorial and change the value from Jammy into Noble.

oldtime54 commented 3 months ago

I also have used this tutorial and had to change some settings in the build.sh, chroot._build.sh and my config.sh file. It also uses the old installer and not the new flutter one. No snaps installed as I remove them in my config.sh file.

Runa-Chin commented 3 months ago

I also have used this tutorial and had to change some settings in the build.sh, chroot._build.sh and my config.sh file. It also uses the old installer and not the new flutter one. No snaps installed as I remove them in my config.sh file.

You had block an Snapd installation with APT rule look like what Linux Mint do ? And you know, Ubiquity are still good even now Ubuntu had no more cares and priority new installer than improve what the best thing ever they develop and make user satisfied. And I think this original repo are being olds and may incompatible with newest LTS version or incompatible with Ubuntu Devel (rolling version of Ubuntu).

What should we do ?

Copy/Clone this repo by importing into your GitHub or whatever Git platform you had use and make some changes. Don't forget to add credits from original repo and always check your own cloned repo.

tba-devel commented 3 months ago

Everything works fine until dpkg-reconfigure resolvconf which cannot be accomplished because this version uses systemd-resolved instead. Was anyone able to overcome this?

oldtime54 commented 3 months ago

I had changed this in the chroot_build.sh file to fix that issue. I changed it to systemd-resolved and that fixes that.

tba-devel commented 3 months ago

I had changed this in the chroot_build.sh file to fix that issue. I changed it to systemd-resolved and that fixes that.

I see, but how did you manage dpkg-reconfigure resolvconf ? you can't dpkg-reconfigure systemd-resolved ..

Runa-Chin commented 2 months ago

I had changed this in the chroot_build.sh file to fix that issue. I changed it to systemd-resolved and that fixes that.

I see, but how did you manage dpkg-reconfigure resolvconf ? you can't dpkg-reconfigure systemd-resolved ..

Well, why just change "resolvconf" into "systemd-resolvd" instead ? So, you type dpkg-reconfigure systemd-resolvd and let it works. The biggest difference between Jammy and Noble makes we're need to evaluate it again.

tba-devel commented 2 months ago

I had changed this in the chroot_build.sh file to fix that issue. I changed it to systemd-resolved and that fixes that.

I see, but how did you manage dpkg-reconfigure resolvconf ? you can't dpkg-reconfigure systemd-resolved ..

Well, why just change "resolvconf" into "systemd-resolvd" instead ? So, you type dpkg-reconfigure systemd-resolvd and let it works. The biggest difference between Jammy and Noble makes we're need to evaluate it again.

Well, I figured it out at last, just left out the dpkg-reconfigure and everything seems to work ok so far !

LiveFreeDead commented 1 month ago

I found I don't have internet still, I tried remarking the line out, can I get clarification on what finally worked as no one says change, line 149 to such and such to make this work.

Please, PLEASE if anyone has the answer to getting this to build with network working share it as I've been stuck for 3 days and found this script last night only to have it still not work, keeping in mind I am building ubuntu-cinnamon, I am about to do a stock Ubuntu to see if that behaves, but I really don't want Gnome.

----------------Another issue with cinnamon that should be checked for and excluded in the script so it doesn't abort ------- I am building a ubuntu-cinnamon-minimal and got cp: cannot stat 'chroot/boot/memtest86+.bin': No such file or directory

so I did the following changes to make that work for me:

Line 146 - 161
    ## memtest86
    #sudo cp chroot/boot/memtest86+.bin image/install/memtest86+

    #wget --progress=dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image/install/memtest86-usb.zip
    #unzip -p image/install/memtest86-usb.zip memtest86-usb.img > image/install/memtest86
    #rm -f image/install/memtest86-usb.zip

    Line 179 - 189

    #menuentry "Test memory Memtest86+ (BIOS)" {
#   linux16 /install/memtest86+
#}

#menuentry "Test memory Memtest86 (UEFI, long load time)" {
#   insmod part_gpt
#   insmod search_fs_uuid
 #  insmod chain
 #  loopback loop /install/memtest86
 #  chainloader (loop,gpt1)/efi/boot/BOOTX64.efi
#}
LiveFreeDead commented 1 month ago

Also is there a way to make the script pick defaults instead of having to wait around to pick locales etc, I'd like to automate it with the defaults and be able to come back to a ISO not a prompt for languages.

LiveFreeDead commented 1 month ago

The GID 999 isn't an issue, I just built ubuntu 24.04 fine and the network works with the line dpkg-reconfigure resolvconf remarked out with #dpkg-reconfigure resolvconf. That was the onyl change needed, so my network issue is due to something else, I'll try installing ubuntu-gnome-desktop and and cinnamon to see if that works.

sorry about messing up the thread, but I am on a mission today with very little sleep.

-EDIT-

YES that worked, it's 400mb bigger, but to have internet again is a BIG plus, thanks for this script; here is the modification to make ubuntu cinnamon work with this script with networking enabled:

Edit your config.sh;

# install graphics and desktop
    apt-get install -y \
    ubuntu-gnome-desktop \
    ubuntucinnamon-desktop \

I'd still love to have it automate defaults for locale's etc, I was thinking of trying:

Edit: chroot_build.sh:-

# =============   main  ================

#Make it not ask questions (Glenn 2024)
DEBIAN_FRONTEND=noninteractive
DEBCONF_NONINTERACTIVE_SEEN=true
export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN

load_config
check_host

# check number of args

That will stop the chroot from asking questions, worked perfect to make a silent build with no interaction.

-EDIT-

I am also going to make it cache the apt archives, so you can build multiple versions to test improvements/changes and it doesn't have to hammer the server, can just grab the updated ones, it's as simple as copying a folder in after debootstrap and copying it out before squishfs cleans it up.

-EDIT-

I added the cache, but as I can not copy lock file it causes an error and the script aborts unless I remark out the set options at the top, I could possible change it to rsync, but as it is I am happy with, I'll start to make my respin on this base now as using Penguins Eggs on Ubuntu 24.04 or Linux Mint v22 is still problematic (for now), Calamares isn't able to partition the installation drive then rsync fails as output isn't ready to write to.

-EDIT-

In the past I used to use Xephyr to setup a remote display to edit the chroot via the GUI, but modern OS's don't work well like that.