SalixLive XFCE 14.1 rc1

djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

SalixLive XFCE 14.1 rc1

Post by djemos »

Live ISO images
32-bit (i686):
(size: 746 MB, md5sum: 6a1f48132d2d66d51ee58d45e90cb4ab)
http://sourceforge.net/projects/salix/f ... o/download

64-bit (x86_64):
(size: 790 MB, md5sum: a9c6add5bd8e4340964fd28782ae5a92)
http://sourceforge.net/projects/salix/f ... o/download

These iso images include the latest updates from slackware-14.1
On boot folder there is a README file about how to install iso image to a usb key.

Thanks for testing
User avatar
laprjns
Salix Warrior
Posts: 1105
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: SalixLive XFCE 14.1 rc1

Post by laprjns »

Code: Select all

rich[boot]$ parted -l
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdb: 4058MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  34.6MB  33.6MB  fat16        EFI System            boot
 2      34.6MB  4058MB  4023MB  fat32        Microsoft basic data
It still create two partition and it still results in two UEFI boot menu options. Am I wasting my time here?
“Don’t you see that the whole aim of Newspeak is to narrow the range of thought?"
djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: SalixLive XFCE 14.1 rc1

Post by djemos »

what you suggest? To copy boot with modules to /EFI/BOOT partition? Since /EFI/BOOT is needed. Then the changes to SLI and scripts i had to do and in build-slackware-live could have other problems. Since everything else has been tested and it is working i thought to not change anything.
djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: SalixLive XFCE 14.1 rc1

Post by djemos »

To be more specific.
The original slackware-live script create two partitions one /EFI/BOOT for UEFI booting and another one ext3 for usb installation or ext4 for hard disk installation.
Because of windows users can use installation on usb i changed the script to create a fat32 partition and not an ext3 partition. So two boot options appeared on UEFI boot.

But installing on hard disk only one boot option appeared since there is only one fat16 /EFI/BOOT partition and the second is an ext4 partition.

Also what about legacy booting on 64bit systems? They do not use /EFI/BOOT since they cannot see it. They use /boot partition and in this case syslinux menu appeared and not lilo. If i delete the boot partition and move the included folder and files to /EFI/BOOT then booting in legacy mode in non uefi 64bit systems cannot be done.
syslinux is installed on second partition.

To remove /EFI/BOOT partition change the whole slackware-live code. This will start another testing round for everything.
djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: SalixLive XFCE 14.1 rc1

Post by djemos »

This is an install_on_usb.sh which install iso on a single partition. This has to be tested on installing the system on a UEFI 64 bit system as well on a non uefi 64bit system on a virtual box at least.
User avatar
laprjns
Salix Warrior
Posts: 1105
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: SalixLive XFCE 14.1 rc1

Post by laprjns »

/EFI/BOOT and /boot are not partitions, they are directories. Your script creates two gpt partitions on USB sticks. Here's what the partition that are created look like when queried using parted -l [/i]

Code: Select all

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  34.6MB  33.6MB  fat16        EFI System            boot
 2      34.6MB  4058MB  4023MB  fat32        Microsoft basic data
Partition 1 is a 32MB FAT16 formatted partition type coded as ef00 (EFI System). Partition 2 is a 3.75 GB FAT32 formatted partition type coded as 0007 (Microsoft basic data). The reason why there are two uefi boot menu options when I boot with the stick plugged is because these two partitions exist as FAT formatted partitions. On system power up, the uefi firmware looks for FAT formatted block devices on removable drives and creates a boot entry for each one. The boot entry is a pointer to the block device.

When you select a boot entry by pressing the enter key, the uefi firmware looks for a /EFI/BOOT directory with a uefi bootloader image file. For x64 machine, the file name is bootx64.efi. For a 32 bit architecture the file name is bootIA32.efi. These files are the binary bootloader files which initiates the booting process. Essentially the uefi firmware executes /EFI/BOOT/BOOTx64.efi . Since bootloader images are binary files they are architecture specific. It should be noted that bootloader files on removable disks have to be named using the BOOT{machine type short-name}.EFI convention. This is not true for bootloader files on permanent hard drives, which only are required to end in the .efi extension. The same bootloader image is used on both the hard drives and removable drive, they are just rename according to the requirements of the media. As an example on Slackware the elilo bootloader image is called elilo.efi (both the 32 bit and 64 bit images are renamed to elilo.efi when installed by the package management system) when installed to a hard drive, but its renamed to bootx64.efi for removable drives targeted for the 64 bit intel architecture.

Getting back to the two partition created by the install_on_usb script, the first partition does not have any directories or bootloader images. Here I have mounted the first partiton /dev/sdc1 on a mount point and using tree -d to show the directory structure.

Code: Select all

rich[~]$ sudo mount /dev/sdc1 /mnt/stick_1/
rich[~]$ cd /mnt/stick_1/
rich[stick_1]$  tree -d
.

0 directories

As you can see the partition is empty, no directories, no files. Remember this was created using the install_on_usb script, not SLI. Because it does not have a /EFI/BOOT/ directory with the bootx64.efi boot image, it does not boot and the uefi firmware just move on to booting the default OS.

The second partition does contain files and directories:

Code: Select all

rich$ sudo mount /dev/sdc2 /mnt/stick_2/
rich[stick_1]$ cd /mnt/stick_2/
rich[stick_2]$ tree -d
.
|-- EFI
|   `-- BOOT
`-- boot
    |-- menus
    |-- modules
    |-- optional
    |-- packages
    `-- syslinux
There are two directory paths, /EFI/BOOT and /boot. The /EFI/BOOT directory contains the bootloader image, bootx64.efi and other files necessary to uefi boot using elilo. The /boot directory contains all the necessary files to boot in legacy mode. Since the partition is formatted in FAT fs and has the necessary /EFI/BOOT path with the uefi bootloader bootx64.efi it boots into the elilo menu and from there can boot Salix Live.
djemos wrote:what you suggest?
I suggest that the install_on_usb script create one partition, formatted as FAT32 and install the /EFI/BOOT and /boot directories just as it installed them on the second partition identify above. Hopefully this is what your new script does. I will test it out and report back.
“Don’t you see that the whole aim of Newspeak is to narrow the range of thought?"
User avatar
laprjns
Salix Warrior
Posts: 1105
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: SalixLive XFCE 14.1 rc1

Post by laprjns »

djemos wrote:This is an install_on_usb.sh which install iso on a single partition. This has to be tested on installing the system on a UEFI 64 bit system as well on a non uefi 64bit system on a virtual box at least.
I downloaded and ran the script. It created a single partition:

Code: Select all

umber  Start   End     Size    File system  Name                  Flags
 1      1049kB  4058MB  4057MB  fat32        Microsoft basic data

This partition contained the following file structure:

Code: Select all

rich[stick_1]$ tree -d
.
`-- boot
    |-- menus
    |-- modules
    |-- optional
    |-- packages
    `-- syslinux

6 directories
Powering up with this USB stick plugged in did result in only one uefi boot menu option, however it did not uefi boot. This is because it did not contain the necessary /EFI/BOOT directory with the uefi bootloader files. It did successfully boot in legacy mode.

I then took a look at the new script and found the following commented out line (line 356);

Code: Select all

#		cp -r $livedirectory/EFI /mnt/install/
It appear to me that this could be the reason why there was no /EFI/BOOT directory and associated files written to the usb stick. I uncommended the line and re-ran the script. This again created a single FAT32 partition, but this time it had the correct /EFI/BOOT directory:

Code: Select all

rich[~]$ sudo mount /dev/sdb1 /mnt/stick_2
Password:
rich[~]$ cd /mnt/stick_2/
rich[stick_2]$ tree -d
.
|-- EFI
|   `-- BOOT
`-- boot
    |-- menus
    |-- modules
    |-- optional
    |-- packages
    `-- syslinux

8 directories
This resulted in a single uefi boot menu which booted into elilo menu screen and then into Salix Live. I could also boot the stick in legacy mode.

So all you need to do is uncomment line 356 in the script and then it will product a uefi and legacy bootable installation on a USB stick.
“Don’t you see that the whole aim of Newspeak is to narrow the range of thought?"
djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: SalixLive XFCE 14.1 rc1

Post by djemos »

Done.
Another test has to be done, even it is logical it will work also, it is to download the corrected build-slackware-live.sh script from a live environment. And

Code: Select all

sudo chmod 700  build-slackware-live.sh
and copy it to /usr/sbin

Code: Select all

sudo cp build-slackware-live.sh /usr/sbin
Then run SLI and install on usb. It has to be one partition on usb.
And reboot using usb on uefi.

I have prepared the final iso images so we will wait and if no other bugs has been reported we can release the final iso images. Just tell me when it is time to upload them.
Of course gapan as the project leader has to write the announcement.
George please start writing it. :-)

I want also to say that this liveiso is months work on slackel. Here we concentrate on UEFI and install_on_usb.sh thanks to laprjns tests and mimosa notes on help writing and in general.
After update scripts on git and lists anyone can create other salix liveiso editions. It will be good if more salix users will involve on this. Which is good for us so we can rest a little.
User avatar
laprjns
Salix Warrior
Posts: 1105
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: SalixLive XFCE 14.1 rc1

Post by laprjns »

djemos wrote:Then run SLI and install on usb. It has to be one partition on usb.
And reboot using usb on uefi..
Done. It creates one partition and boots both uefi and legacy.
“Don’t you see that the whole aim of Newspeak is to narrow the range of thought?"
djemos
Salix Warrior
Posts: 1433
Joined: 29. Dec 2009, 13:45
Location: Greece

Re: SalixLive XFCE 14.1 rc1

Post by djemos »

Thank you.
Locked