UbuntuAsahi / ubuntu-asahi

Native Ubuntu installations for Apple silicon hardware
https://ubuntuasahi.org/
869 stars 27 forks source link

how to use livefs-to-usb.sh #121

Open imnyang opened 6 months ago

imnyang commented 6 months ago

Does anyone know how to run this code?

I really want to use Asahi Linux via USB with Ubuntu.

tobhe commented 6 months ago

I'm afraid that's not quite as easy to reproduce as I'd like it to be. I can try to craft and upload an up-to-date usb version on my mirror if that helps.

Do you have another Asahi installation on your machine or are you hoping to try Asahi without installing anything? Apple's bootloader can't natively boot from usb so you can't get away without installing at least the asahi boot chain up to u-boot.

imnyang commented 6 months ago

I'm afraid that's not quite as easy to reproduce as I'd like it to be. I can try to craft and upload an up-to-date usb version on my mirror if that helps.

Do you have another Asahi installation on your machine or are you hoping to try Asahi without installing anything? Apple's bootloader can't natively boot from usb so you can't get away without installing at least the asahi boot chain up to u-boot.

Currently I have only installed Asahi Linux UEFI to see the error. We even looked at the Asahi Linux Fedora USB. But what about Ubuntu?

imnyang commented 6 months ago

+

imnyang@localhost:~/ubuntu-asahi$ ./build.sh 516822
[info] Creating /home/imnyang/ubuntu-asahi/build/ubuntu.efi.img
mkfs.fat 4.2 (2021-01-31)
[info] Creating /home/imnyang/ubuntu-asahi/build/ubuntu.root.img
fallocate: fallocate failed: No space left on device
umount: /home/imnyang/ubuntu-asahi/build/mnt/var/cache/apt/archives: not found
umount: /home/imnyang/ubuntu-asahi/build/mnt/boot/efi: not found
imnyang@localhost:~/ubuntu-asahi/scripts$ ./livefs-to-usb.sh 516822
[info] Creating live image
fallocate: fallocate failed: No space left on device
umount: /home/imnyang/ubuntu-asahi/build/mnt/var/cache/apt/archives: not found
umount: /home/imnyang/ubuntu-asahi/build/mnt/boot/efi: not found

I'm trying it by referring to the Ubuntu build. But I don't know how to partition the disk.

uaysk commented 5 months ago

imnyang@localhost:~/ubuntu-asahi$ ./build.sh 516822

I don't understand the meaning of build ID, how can I use this build.sh script? This doesn't have to be a script, so if anyone has installed Ubuntu on an external ssd, can you tell me how to do it?

imnyang commented 5 months ago

imnyang@localhost:~/ubuntu-asahi$ ./build.sh 516822

I don't understand the meaning of build ID, how can I use this build.sh script? This doesn't have to be a script, so if anyone has installed Ubuntu on an external ssd, can you tell me how to do it?

@uaysk I can't quite remember, but I know it's the build number posted on launchpad. I have still failed to boot from USB.

Find the build ID by requesting it here. I think it would be good for your reference. https://api.launchpad.net/devel/~tobhe/+livefs/ubuntu/noble/ubuntu-asahi-noble/+build/

tobhe commented 5 months ago

Sorry for taking so long to reply. Unfortunately launchpad is down right now but I can a bit of context. The ID indeed references a build on launchpad. My normal workflow looks like this:

  1. I use https://github.com/UbuntuAsahi/ubuntu-asahi/blob/ubuntu/scripts/start-livefs-build.py to start a build in a pre-configured live build environment on launchpad. This requires special privileges so it isn't easy to replicate. Each build is assigned a unique ID
  2. I make a copy of build.sh with s/livefs-to-asahi.sh/livefs-to-usb.sh/ and run that with the build ID as an argument like @imnyang did previously

Now there are a few problems: livefs-to-usb.sh probably needs an update, I haven't tried it in a while. I would like things to be easier to replicate. Providing a solution to build the livefs offline is on my todo list. In theory you could use one of my old builds and transform that into an usb disk, but launchpad deletes the build results after 2 days.

After reading your previous messages I am also not sure if this is a solution that would actually work for you. Are you trying to test Ubuntu from USB without installing anything on your disk? Do you have another version of Asahi installed? Booting from USB unfortunately won't work unless you have at least the asahi boot chain up to u-boot installed. apple-boot doesn't support usb-boot at all.

uaysk commented 5 months ago

Sorry for taking so long to reply. Unfortunately launchpad is down right now but I can a bit of context. The ID indeed references a build on launchpad. My normal workflow looks like this:

  1. I use https://github.com/UbuntuAsahi/ubuntu-asahi/blob/ubuntu/scripts/start-livefs-build.py to start a build in a pre-configured live build environment on launchpad. This requires special privileges so it isn't easy to replicate. Each build is assigned a unique ID
  2. I make a copy of build.sh with s/livefs-to-asahi.sh/livefs-to-usb.sh/ and run that with the build ID as an argument like @imnyang did previously

Now there are a few problems: livefs-to-usb.sh probably needs an update, I haven't tried it in a while. I would like things to be easier to replicate. Providing a solution to build the livefs offline is on my todo list. In theory you could use one of my old builds and transform that into an usb disk, but launchpad deletes the build results after 2 days.

After reading your previous messages I am also not sure if this is a solution that would actually work for you. Are you trying to test Ubuntu from USB without installing anything on your disk? Do you have another version of Asahi installed? Booting from USB unfortunately won't work unless you have at least the asahi boot chain up to u-boot installed. apple-boot doesn't support usb-boot at all.

Thanks for your answer First of all, I used to use leifliddy/asahi-fedora-usb to install asahi fedora on my external ssd and then install u-boot on my internal ssd (I installed fedora-asahi on my internal ssd to run the above project and then deleted it and installed only u-boot again). However, FEDORA provided an unfamiliar environment for me, especially because it doesn't support software like KATOOLIN, so in order to use UBUNTU, I tried installing UBUNTU on the internal SSD and then using DD to move partitions from the internal disk to the external SSD. If you can't afford to improve livefs-to-usb.sh right away, can you tell me why I was unable to boot into these partitions with u-boot when I cloned the EFI, boot, and data partitions of ubuntu asahi installed on the internal disk to the external disk using dd? When I used the grub2-mkconfig command, it recognized the partitions cloned to the external SSD, but I was unable to select this option from the grub boot menu (even though /dev/sda, i.e. ubuntu asahi installed on the external SSD, was listed, selecting it booted into ubuntu asahi installed on the internal SSD).

imnyang commented 5 months ago
imnyang@ubuntu:~/ubuntu-asahi/scripts$ ./livefs-to-asahi.sh
[info] Creating /home/imnyang/ubuntu-asahi/build/ubuntu.efi.img
fallocate: cannot open /home/imnyang/ubuntu-asahi/build/ubuntu.efi.img: No such file or directory
umount: /home/imnyang/ubuntu-asahi/build/mnt/var/cache/apt/archives: not found
umount: /home/imnyang/ubuntu-asahi/build/mnt/boot/efi: not found

Do you know how to solve this problem?

imnyang commented 5 months ago
image

I also found it as a disk file.

jittygitty commented 5 months ago

Is it possible for someone to build a bootable ISO of UbuntuAsahi that we can just put on a usb stick (ventoy support would be nice) and then boot that Live USB version of UbuntuAsahi?

It seems from what I've read in this thread that we'd first have add the U-boot modifications, but I already have a dual boot, I can boot AsahiLinux off a partition on m2 laptop, and I can boot Mac OSX off external USB even.

Now I just want a way to boot LINUX off USB external SSD etc, whether a Live USB (volatile) or a full persistent install. (see also https://github.com/UbuntuAsahi/ubuntu-asahi/issues/126 )

imnyang commented 5 months ago

Is it possible for someone to build a bootable ISO of UbuntuAsahi that we can just put on a usb stick (ventoy support would be nice) and then boot that Live USB version of UbuntuAsahi?

It seems from what I've read in this thread that we'd first have add the U-boot modifications, but I already have a dual boot, I can boot AsahiLinux off a partition on m2 laptop, and I can boot Mac OSX off external USB even.

Now I just want a way to boot LINUX off USB external SSD etc, whether a Live USB (volatile) or a full persistent install. (see also #126 )

Using Ventoy will be difficult. You'll probably have to use up all the storage space on the USB, and with the improvements to livefs-to-usb.sh so far, it's a bit more difficult, but not impossible. I plan to try booting using livefs-to-usb.sh soon.

There will be a lot of mistranslations due to heavy reliance on translators.

jittygitty commented 5 months ago

Great! Yes even if can only put "1 iso" on the USB that's fine, as long as there's a way to boot a Live USB, would be great. Good luck and keep us posted!