[SOLVED]UEFI USB Boot Help required with persistence

Posts: 15
kagashe
Joined: 19 Feb 2009
#1
I posted this morning in New User Forum but now posting here since it pertains to antiX-15.

Let me congratulate first anticapitalista for giving new version which can boot on UEFI with Secure Boot on.

I had mounted the iso and copied the contents to the usb.

I would like to report that only the first option on boot menu works for me and the second option with menus does not work. I waited a few minutes and had to long press the power button.

I tried persist=root!,home as well as persist=root! alone but it takes indefinite time to create the required files and I had to again long press the power button.

I think either the above cheatcode is not applicable for this version or it does not work on my system.

Kamalakar
Last edited by kagashe on 03 Jul 2015, 05:38, edited 1 time in total.
anticapitalista
Posts: 5,959
Site Admin
Joined: 11 Sep 2007
#2
BitJam did warn that it takes a LONG time to create the rootfs and homefs persistence files on fat32.
Posts: 15
kagashe
Joined: 19 Feb 2009
#3
anticapitalista wrote:BitJam did warn that it takes a LONG time to create the rootfs and homefs persistence files on fat32.
How long?

I also created ext4 partition, shifted linuxfs in /antiX folder on that partition but it took very long.

By the way I can create these files with dd before booting, please tell me the location. I would like to use ext4 partition.

Kamalakar
Posts: 2,238
dolphin_oracle
Joined: 16 Dec 2007
#4
On my system, with a fat32 partition, it takes about 7 minutes to make a 1gb persistence file.
Posts: 1,308
BitJam
Joined: 31 Aug 2009
#5
kagashe wrote:I also created ext4 partition, shifted linuxfs in /antiX folder on that partition but it took very long.
My guess is that even though you copied the linuxfs file to the ext4 partition, you didn't erase the copy that was on the fat32 partition.
By the way I can create these files with dd before booting, please tell me the location. I would like to use ext4 partition.
The rootfs and homefs files end up alongside the linuxfs file so they will all be in the /antiX directory.

BUT, if you don't fix the problem of removing the linuxfs file from the fat32 partition then that location will be used. Or, perhaps worse, one will be used on some boots and the other will be used on other boots.
Posts: 15
kagashe
Joined: 19 Feb 2009
#6
BitJam wrote:
kagashe wrote:I also created ext4 partition, shifted linuxfs in /antiX folder on that partition but it took very long.
My guess is that even though you copied the linuxfs file to the ext4 partition, you didn't erase the copy that was on the fat32 partition.
By the way I can create these files with dd before booting, please tell me the location. I would like to use ext4 partition.
The rootfs and homefs files end up alongside the linuxfs file so they will all be in the /antiX directory.

BUT, if you don't fix the problem of removing the linuxfs file from the fat32 partition then that location will be used. Or, perhaps worse, one will be used on some boots and the other will be used on other boots.
No, I did not copy but moved linuxfs.

I created rootfs and homefs following the instructions
========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
url was:"http://download.tuxfamily.org/antix/docs-antiX-13/live-boot/persistence.html#_creating_persistence_files"
linktext was:"here"
====================================

Code: Select all

dd if=/dev/zero of=rootfs bs=1M count=0 seek=1024
mkfs.ext4 -q -m 0 -O ^has_journal -F rootfs
Same for homefs.

Even then I can't boot with persist=root!,home

I have waited for half an hour, the screen is blank and I have to long press the power button.

I have also tried booting with toram and use unetbootin and antiXtousb to make the usb stick using antiX but it does not work.

Kamalakar
Posts: 1,308
BitJam
Joined: 31 Aug 2009
#7
kagashe wrote:Even then I can't boot with persist=root!,home
So it boots okay if you don't use"persist=root!,home" but when you do use it you get a blank screen? When does this happen? Right after you press <Enter> in the grub2 menu? Is the grub2 menu the last thing you see?

You should also be able to enable persistence if you use the"menus" boot option but maybe you had a problem with this as well.
Posts: 15
kagashe
Joined: 19 Feb 2009
#8
BitJam wrote:
kagashe wrote:Even then I can't boot with persist=root!,home
So it boots okay if you don't use"persist=root!,home" but when you do use it you get a blank screen? When does this happen? Right after you press <Enter> in the grub2 menu? Is the grub2 menu the last thing you see?

You should also be able to enable persistence if you use the"menus" boot option but maybe you had a problem with this as well.
Yes it boots ok without persist, Blank screen is there for a few seconds, then I see boot text. With persist option the blank screen stays there for ever.

The menus boot option is not working.

Kamalakar
Posts: 1,308
BitJam
Joined: 31 Aug 2009
#9
I looked at the /boot/grub/grub.cfg file in the antiX-15 iso file and I noticed that it uses:

Code: Select all

gfxpayload=text
Please edit this file and change these to:

Code: Select all

gfxpayload=keep
and see if that makes an improvement.

I *think* we were planning to make that change but it never got checked. The
========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
url was:"https://www.gnu.org/software/grub/manual/html_node/gfxpayload.html"
linktext was:"documentation"
====================================
for that parameter is not great:
Depending on your kernel, your distribution, your graphics card, and the phase of the moon, note that using this option may cause GNU/Linux to suffer from various display problems, particularly during the early part of the boot sequence. If you have problems, set this variable to ‘text’ and GRUB will tell Linux to boot in normal text mode.
It's quite possible that having it set to"text" is what is causing your problems. IIRC I originally set it to"text" thinking that was the safest thing to do (as per the documentation) but I think we had better luck with"keep".

The only thing I can think of that would link"persist=root!,home" to a blank screen at the beginning of the boot process is the exlaimation point. If you have already created the rootfs and homefs files then you don't need it. You can try removing it and see if things work better.

You say the menus boot option is not working. Does this mean you get a blank screen right when the boot starts just like with"persist=root!,home"?
Posts: 15
kagashe
Joined: 19 Feb 2009
#10
BitJam wrote:I looked at the /boot/grub/grub.cfg file in the antiX-15 iso file and I noticed that it uses:

Code: Select all

gfxpayload=text
Please edit this file and change these to:

Code: Select all

gfxpayload=keep
and see if that makes an improvement.

I *think* we were planning to make that change but it never got checked. The
========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
url was:"https://www.gnu.org/software/grub/manual/html_node/gfxpayload.html"
linktext was:"documentation"
====================================
for that parameter is not great:
Depending on your kernel, your distribution, your graphics card, and the phase of the moon, note that using this option may cause GNU/Linux to suffer from various display problems, particularly during the early part of the boot sequence. If you have problems, set this variable to ‘text’ and GRUB will tell Linux to boot in normal text mode.
It's quite possible that having it set to"text" is what is causing your problems. IIRC I originally set it to"text" thinking that was the safest thing to do (as per the documentation) but I think we had better luck with"keep".

The only thing I can think of that would link"persist=root!,home" to a blank screen at the beginning of the boot process is the exlaimation point. If you have already created the rootfs and homefs files then you don't need it. You can try removing it and see if things work better.

You say the menus boot option is not working. Does this mean you get a blank screen right when the boot starts just like with"persist=root!,home"?
I think following was the problem:

Code: Select all

gfxpayload=text
Although it worked without persist
chnaging it to:

Code: Select all

gfxpayload=keep
worked for persist=root!,home

My usb is only 4 GB and I think the default setting for rootfs, homefs may quiet high for this drive.
Since I had already created rootfs, homefs of 1 GB each it worked.

Menu boot option also works with gfxpayload=keep
This thread is SOLVED.

Kamalakar
Posts: 1,308
BitJam
Joined: 31 Aug 2009
#11
I'm glad you got it to work. Thanks for hanging in there. I will be sure to change"text" to"keep" in the next release. I'm sorry for all the difficulty you had.
My usb is only 4 GB and I think the default setting for rootfs, homefs may quiet high for this drive.
Since I had already created rootfs, homefs of 1 GB each it worked.
The default choices for the sizes (in the initrd) scale with the amount of space available. I wrote a little script to see what sizes it would suggest based on the size of the usb drive and assuming the all the other files take up 700M. Here are some results:

Code: Select all

  disk size  available     rootfs     homefs  remaining
        1G        300          0        300           
        2G       1300        700          0        600
        4G       3300       1700        475       1125
        8G       7300       2000       1400       3900
       16G      15300       2000       3400       9900
       32G      31300       2000       4000      25300
I think your choice of 1G and 1G was good. Sometimes when you do a big apt-get upgrade, you may need more than 1G for the rootfs file. If you have enough RAM then try to do a live-remaster right after a big apt-get upgrade in order to consolidate the files system changes into a compressed linuxfs file. Unfortunately, this also takes up a lot of space on your LiveUSB since you need enough space for the old linuxfs file and the new one.

BTW: when I make a LiveUSB for myself, I use the following options for mkfs.ext4:

Code: Select all

mkfs.ext4 -m0 -N2000 -J size=16 -L antiX-15 /dev/$USB_DEVICE
This can give you more room to work with. It is based on the idea that even though there are many files inside of the linuxfs file and there can be many files inside of the rootfs and homefs files, there are not many files on the LiveUSB filesystem so the default number of inodes (based on the size of the LiveUSB) is way overkill.

I also keep journaling enabled even though this is not optimal for speed or for wear. I do it because it is so darned easy to accidentally unplug a LiveUSB when it is working. We've had users who have had data loss due to using ext2 on their LiveUSB. There are certainly situations where disabling journaling is the best choice (especially of you don't mind data loss) but I think ext4 with journaling is now the best default for usb sticks.

Again, I'm sorry for all the trouble you had. If you have any other problems or questions, please feel free to ask.