Page 1 of 1

Drives sequence problem with ESATA external disk

Posted: Thu Dec 17, 2020 10:38 pm
by Adam Li

Drives sequence problem with ESATA external disk

Hi!

My laptop have only USB 2.0 interface, which is rather slow. I buy EXpress Card with 2 ESATA connectors, based on SIL3132, for external drives. It is not seen in BIOS, but is working good. Problem is drives sequence, depending on initial hardware configuration.

Disks configuration:
- internal disk have 3 partitions: primary active NTFS (Puppies, Window XP), extended, logical ext3 on extended
- external disk have 2 partitions: extended, logical NTFS on extended

1. OK - without external disk: internal disk is seen as sda1 and sda5.
2. OK - external disk connected "on fly": internal disk is seen as sda1 and sda5, external disk is seen as sdb5.
3. BAD! "cold start" or reboot with external disk connected:
- external disk is seen as sda5;
- internal disk is seen as sdb1 and sdb5;
- BionicPup32 is booting without problem
but
- Precise booting ending "puppy_precise_5.7.1.sfs not found".

# lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 671MX
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 IDE Controller (rev 01)
00:03.0 USB controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.1 USB controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.3 USB controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter (rev 02)
00:05.0 IDE interface: Silicon Integrated Systems [SiS] SATA Controller / IDE mode (rev 03)
00:06.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
00:07.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
00:09.0 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
00:09.1 SD Host controller: ENE Technology Inc ENE PCI SmartMedia / xD Card Reader Controller
00:09.3 FLASH memory: ENE Technology Inc ENE PCI Secure Digital / MMC Card Reader Controller
00:0f.0 Audio device: Silicon Integrated Systems [SiS] Azalia Audio Controller
01:00.0 VGA compatible controller: NVIDIA Corporation G98M [GeForce 9300M GS] (rev a1)
09:00.0 Mass storage controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)

What to do with this problem?

Thanks in advance for any help
Adam Li


Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 3:11 am
by bigpup

external disk have 2 partitions: extended, logical NTFS on exten

Is this a USB flash drive?
This is a totally messed up way to have it partitioned.
This should be setup using a msdos partition table.
One primary partition formatted NTFS.

BionicPup32 is booting without problem
but
- Precise booting ending "puppy_precise_5.7.1.sfs not found".

Are these installed on the external drive?

If this is a USB drive used only for Puppy installs.
We can give you much better advice on how to setup the USB drive partitions.


Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 4:42 am
by user1111

Linux finds/allocates drives/partitions in a random manner. Ways around that are to create flag files and modify scripts to look for those, or to create/assign labels (in gparted) and mount using the label name

mount -L main /mnt/main

Awkward and a pretty poor structure/design IMO.

In the past for instance I've had a usb show as sda1 sometimes, sdb1 other times. So I created a file "myusb" on the usb and in my script I tried mounting one way and if that file wasn't found I'd umount it and try the other option

i.e. on the usb
echo >myusb
... to create a file called 'myusb'

and then

Code: Select all

mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb
if [ ! -f /mnt/usb/myusb ]; then
 umount /mnt/usb
 mount /dev/sda1 /mnt/usb
fi

Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 9:01 am
by Adam Li

Hi!
Thanks a lot for response

@bigpup

Is this a USB flash drive?

Not

Are these installed on the external drive?

Not
All my "puppies" are frugal instaled on primary active partition of internal HDD, where coexists with Windows XP.

@rufwoof

Linux finds/allocates drives/partitions in a random manner.

It's a really bad news!

Ways around that are to create flag files and modify scripts to look for those, or to create/assign labels (in gparted) and mount using the label name

This look like assigning a letter for drive in Windows world. All my drives are "human readable" labeled - not to good for mounting order.
I thinked about list order based on UUID - a lot of good work that nobody needs.

One more thanks for all
Adam Li


Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 6:07 pm
by Jafadmin

All OS's treat removable media the same. Try this: Plug a USB thumb into windows and let it mount the drive as a drive letter (ie; M:). Now remove that thumbdrive and plug another one in. It will get the same drive letter.

The only thing unique that mount could care about is the UUID's of the disks.

The way to mount drives in a permanent manner is by using fstab or udev, and mount by UUID. This is done every day by sysadmins in the Unix/Linux world.

Sample /etc/fstab entry:

Code: Select all

/dev/disk/by-uuid/12529d23-1b92-4940-8fe4-7f7d145262fa    /mnt/drv1        ext3  defaults   0   0

Think it through .. Since these are removable devices, how is an OS supposed to remember which to mount where and how unless you tell it? You tell it with fstab or udev.


Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 7:31 pm
by greengeek

The old Murga forum had some threads advising how to use uuid and / or partuid as a basis for assigning drive labels. I did not fully understand the use of fstab but I will post some of the thread links as I find them:

http://www.murga-linux.com/puppy/viewtopic.php?t=89929

http://murga-linux.com/puppy/viewtopic. ... ost#743723

http://murga-linux.com/puppy/viewtopic.php?p=1012169


Re: Drives sequence problem with ESATA external disk

Posted: Fri Dec 18, 2020 7:36 pm
by bigpup

BionicPup32 is booting without problem
but
- Precise booting ending "puppy_precise_5.7.1.sfs not found"

.
There has been a lot of improvements made to the boot process.
Precise 5.7.1 does not have these improvements.

Could be something added to the boot menu entry that could help to improve Precise booting.

Post what is in the boot menu entry that boots Precise.

I am going to guess you are using Grub4dos boot loader.
It uses menu.lst file for menu entries.

One idea.
If you use Grub4dos boot loader.
Use the Grub4dos Bootloader config program in Bionicpup32 to install it.
That one should be the improved version of Grub4dos.
It is much improved over the version that is in Precise 5.7.1


Re: Drives sequence problem with ESATA external disk

Posted: Sat Dec 19, 2020 7:32 am
by greengeek
Adam Li wrote: Thu Dec 17, 2020 10:38 pm

What to do with this problem?

Is it just the failure to find the sfs that is the problem? Or is it a problem that the esata drive label/number is different during normal running?

Which drive contains your puppy sfs file? Can you find the UUID for this drive by using the blkid command?


Re: Drives sequence problem with ESATA external disk

Posted: Sat Dec 19, 2020 1:41 pm
by Adam Li

Hi!
Thanks a lot for response

@Jafadmin

All OS's treat removable media the same.

This is not so simple. Connecting "on fly" it's like to be true, but under "cold start" it's different case. Wikipedia: Drive letter assignment

The way to mount drives in a permanent manner is by using fstab or udev, and mount by UUID.

For fixed configuration OK, but if list of drives and partitions is long, it's direct way to great trouble.

A piece of memories... early days of Lubuntu, 2008 or 2009, maybe 2010.
Lubuntu was installed on HDD along with puppy 4.3.1 - both working nice. I added to PC second HDD with primary partition NTFS - both Linux working nice. For some reason I removed second HDD and... surprise, puppy 4.3.1 working nice, but Lubuntu boot to black screen. No one could help me, what to do. Some months later I discover what happened. Lubuntu mounted NTFS partition by UUID and during booting was waiting for drive to mount...

@greengeek
Thanks for links, it's interesting reading.

@bigpup

title Bionicpup32 Puppy 8.0
kernel (hd0,0)/bionicpup32/vmlinuz PMEDIA=satahd PDEV1=sda1 psubdir=bionicpup32 video=640x480
initrd (hd0,0)/bionicpup32/initrd.gz
boot

title Precise Puppy Linux 5.7.1
kernel (hd0,0)/precise/vmlinuz PMEDIA=satahd PDEV1=sda1 psubdir=precise video=640x480
initrd (hd0,0)/precise/initrd.gz
boot

@greengeek
Problem is clear now. Thanks rufwoof!

Linux finds/allocates drives/partitions in a random manner.

I'm no way forced to "cold start" Linux with external drive connected, it may be connected and mounted "on fly", or alternativly, I can use Windows. I know, that Linux is "total scripting", but, other way, physicias (and some engineers) say: good theory is simple.

Regards for ALL
Adam Li