MichaIng / DietPi

Lightweight justice for your single-board computer!
https://dietpi.com/
GNU General Public License v2.0
4.8k stars 494 forks source link

General | Add support for 2+ USB drives #271

Closed Fourdee closed 8 years ago

Fourdee commented 8 years ago

Notes to self:

  • UUID mounting will be required.
  • dietpi-external_drive_setup modifiy to use UUID and multiple drives
xenfomation commented 8 years ago

As of 18:00 EST, I am will pull this down as I am quite interested to take an approach to solve via /dev/disk-by-uuid/, etc!

xenfomation commented 8 years ago

Update -- I have my third Pi running and will be investigating this/testing before end of week.

Fourdee commented 8 years ago

@xenfomation Excellent :+1: Keep us updated when you can :)

xenfomation commented 8 years ago

Will do @Fourdee !! Thanks again!

xenfomation commented 8 years ago

This is still in progress, however http://dietpi.com/phpbb/viewtopic.php?f=11&t=401 / https://github.com/Fourdee/DietPi/issues/271 has grabbed my time and attention.

The high-level is to ensure that upon USB installation options, the process is seamless for the user, but tracks unique USB identifiers. In addition, considerations need to be contained within a whiptail menu for informing the admin as well as cache mechanisms, boot/fstab mounts, etc.

xenfomation commented 8 years ago

As an update, I am still working on this to ensure from init to reboot, the two usb drives remain useful!

Fourdee commented 8 years ago

Note to self: Create a system that allows

Max 5 drives with new system.

blkid /dev/sda1 -s UUID -o value
blkid /dev/sda1 -s TYPE -o value
Fourdee commented 8 years ago

image image

k-plan commented 8 years ago

@Fourdee

looks very good! :+1:

Can we get R/W support for FAT16, FAT32, NTFS, EXT2/3/4 and HFS+ ?

Fourdee commented 8 years ago

@k-plan

Can we get R/W support for FAT16, FAT32, NTFS, EXT2/3/4

Already supported on our image by default.

HFS+

What filesystem is this? lol

Fourdee commented 8 years ago

@k-plan Initial code is done, it can be run with:

/DietPi/dietpi/dietpi-external_drive_setup 2

Going to need lots and lots of testing and debugging with various drives and combinations. If you try it, expect lots of bugs at the moment. So only use on blank drives.

Fourdee commented 8 years ago

Notes to self:

k-plan commented 8 years ago

@Fourdee

What filesystem is this? lol

:smiley: hfsplus

:~# apt-get install hfs
hfsplus         hfsprogs        hfsutils        hfsutils-tcltk

But with usb-automount? https://github.com/Fourdee/DietPi/issues/501#issuecomment-245317621

:~# mkfs.
mkfs.bfs      mkfs.ext2     mkfs.ext4     mkfs.f2fs     mkfs.minix    mkfs.ntfs
mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.fat      mkfs.msdos    mkfs.vfat

But anyway. Please finish your awesome work first, so I will be able to test it. Or do we need a new image version for this lovely feature?

Fourdee commented 8 years ago

apt-get install -y hfsplus

:+1: I'll probably add this to our image by default to enable hfs support.

Fourdee commented 8 years ago

@k-plan

Ok i've added hfs+ support to all DietPi images by default: image

k-plan commented 8 years ago

@Fourdee

I'll probably add this to our image by default to enable hfs support.

Thanks, but you don't have to do that only for me. :smile:

Ok i'll add hfs+ support to all DietPi images by default:

Yes, I think it's a good decision, where is a world aside from Windows and Linux. :wink:


Quick and dirty test. It works great so far. :+1:

Only downside: the boot up time will increase with 5 devices (not connected or active) in/etc/fstab Hmm .... is it possible user can active/disable the numbers of entries in in/etc/fstab via whiptail menu? As well dietpi.txt support will be a nice feature for this.

So default is one or two and can be switch from zero to five (0-5) to speed up boot process a little bit?

#External Drives---------------------------------------------------
/dev/sda1       /mnt/usb_1      auto     defaults,noatime,nofail,x-systemd.automount  0       0
## /dev/sdb1       /mnt/usb_2      auto     defaults,noatime,nofail,x-systemd.automount  0       0
## /dev/sdc1       /mnt/usb_3      auto     defaults,noatime,nofail,x-systemd.automount  0       0
## /dev/sdd1       /mnt/usb_4      auto     defaults,noatime,nofail,x-systemd.automount  0       0
## /dev/sde1       /mnt/usb_5      auto     defaults,noatime,nofail,x-systemd.automount  0       0
k-plan commented 8 years ago

@Fourdee

Going to need lots and lots of testing and debugging with various drives and combinations.

Yes, Sir. 😃

hmm, I think we need to have a look. RPi Zero dmesg output - if no usb storage is connected: (only a keyboard and usb-network adapter)

root@RPi-Zero:~# dmesg | grep dev-s*
[    4.769013] systemd[1]: Expecting device dev-ttySAC2.device...
[    4.799015] systemd[1]: Expecting device dev-ttyS0.device...
[    4.829005] systemd[1]: Expecting device dev-ttyAMA0.device...
[    5.098805] systemd[1]: Expecting device dev-sda1.device...
[    5.170138] systemd[1]: Expecting device dev-sdb1.device...
[    5.239501] systemd[1]: Expecting device dev-sdc1.device...
[    5.309188] systemd[1]: Expecting device dev-sdd1.device...
[    5.379203] systemd[1]: Expecting device dev-sde1.device...
[    5.449078] systemd[1]: Expecting device dev-mmcblk0p1.device...
[  195.368683] systemd[1]: Job dev-sdb1.device/start timed out.
[  376.868702] systemd[1]: Job dev-sde1.device/start timed out.
[  468.368639] systemd[1]: Job dev-sdd1.device/start timed out.
[  650.118791] systemd[1]: Job dev-sda1.device/start timed out.
[  740.888613] systemd[1]: Job dev-sde1.device/start timed out.
[  922.628695] systemd[1]: Job dev-sdc1.device/start timed out.
[ 1194.868803] systemd[1]: Job dev-sdb1.device/start timed out.
[ 1467.118781] systemd[1]: Job dev-sdb1.device/start timed out.
[ 1648.868644] systemd[1]: Job dev-sdb1.device/start timed out.
[ 1830.118683] systemd[1]: Job dev-sdd1.device/start timed out.
[ 1921.118686] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2011.618731] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2102.368648] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2193.118671] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2283.868774] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2465.368673] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2556.118755] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2646.868676] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2737.618676] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2828.368733] systemd[1]: Job dev-sdb1.device/start timed out.
[ 2919.118675] systemd[1]: Job dev-sdd1.device/start timed out.
[ 3009.868673] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3100.618722] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3191.141041] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3281.892008] systemd[1]: Job dev-sdd1.device/start timed out.
[ 3372.642011] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3463.392042] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3554.142019] systemd[1]: Job dev-sdd1.device/start timed out.
[ 3644.892014] systemd[1]: Job dev-sdd1.device/start timed out.
[ 3735.642045] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3826.392008] systemd[1]: Job dev-sdb1.device/start timed out.
[ 3917.142011] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4007.892041] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4189.392008] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4279.892035] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4370.642073] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4461.392012] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4552.142014] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4642.892078] systemd[1]: Job dev-sdb1.device/start timed out.
[ 4733.642008] systemd[1]: Job dev-sdb1.device/start timed out.

NanoPi Neodmesg output - no usb device connected

root@NeoPi:~# dmesg | grep dev-s*
[    9.784027] systemd[1]: Expecting device dev-ttyAMA0.device...
[    9.784571] systemd[1]: Expecting device dev-ttySAC2.device...
[    9.784885] systemd[1]: Expecting device dev-ttyS0.device...
[    9.787844] systemd[1]: Expecting device dev-sda1.device...
[    9.790193] systemd[1]: Expecting device dev-sdb1.device...
[    9.799665] systemd[1]: Expecting device dev-sdc1.device...
[    9.801322] systemd[1]: Expecting device dev-sdd1.device...
[    9.802813] systemd[1]: Expecting device dev-sde1.device...
[    9.804363] systemd[1]: Expecting device dev-mmcblk0p1.device...
[  100.010269] systemd[1]: Job dev-sda1.device/start timed out.
[  351.510284] systemd[1]: Job dev-sda1.device/start timed out.
[126228.500316] systemd[1]: Job dev-sdb1.device/start timed out.
Fourdee commented 8 years ago

So default is one or two and can be switch from zero to five (0-5) to speed up boot process a little bit?

Yep. Just need to check if we can re-enable in fstab and have the auto detection working without a reboot or manual intervention.

Yes, I think it's a good decision, where is a world aside from Windows and Linux.

Lol. No idea, but I heard if you eat one every day, keeps the doctor away :wink:

[ 195.368683] systemd[1]: Job dev-sdb1.device/start timed out. [ 376.868702] systemd[1]: Job dev-sde1.device/start timed out. [ 468.368639] systemd[1]: Job dev-sdd1.device/start timed out. [ 650.118791] systemd[1]: Job dev-sda1.device/start timed out. [ 740.888613] systemd[1]: Job dev-sde1.device/start timed out. [ 922.628695] systemd[1]: Job dev-sdc1.device/start timed out.

Interesting its timing out. I need to:

Fourdee commented 8 years ago

Ok bootup time:

NO auto mounts enabled:

20 auto mounts enabled | No devices attached:

#Create mount folders
for ((i=1;i<=20;i++)) do mkdir -p /mnt/usb_$i;done

#Add to /etc/fstab
/dev/sda1       /mnt/usb_1      auto     defaults,noatime,nofail,x-systemd.automount  0       0
.....
/dev/sdt1       /mnt/usb_20      auto     defaults,noatime,nofail,x-systemd.automount  0       0

Results:

Each auto mount using x-systemd.automount increases boot time significantly.

@k-plan Yep :+1: Ok, so I need to disable non-active and prevent longer boot times.

Fourdee commented 8 years ago

Trying slot system: image

probably easier to just enable all slots (uncomment fstab entry) during load, then disable (comment fstab entry) unused on exit lol.

Fourdee commented 8 years ago

https://github.com/Fourdee/DietPi/commit/d023af2b5040686a16681564932f73e5e18b8023

Ok, so:

k-plan commented 8 years ago

Just fresh update to testing branch.

root@OrangePI-ONE:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
└─sda1        8:1    1  7.5G  0 part /mnt/usb_1
mmcblk0     179:0    0  7.4G  0 disk
├─mmcblk0p1 179:1    0   64M  0 part /boot
└─mmcblk0p2 179:2    0  7.4G  0 part /

root@OrangePI-ONE:~# dietpi-drive_manager

160911-0008

160911-0007

root@OrangePI-ONE:~# umount /dev/sda1

root@OrangePI-ONE:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
└─sda1        8:1    1  7.5G  0 part
mmcblk0     179:0    0  7.4G  0 disk
├─mmcblk0p1 179:1    0   64M  0 part /boot
└─mmcblk0p2 179:2    0  7.4G  0 part /

root@OrangePI-ONE:~# dietpi-drive_manager

160911-0006

160911-0004

root@OrangePI-ONE:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
└─sda1        8:1    1  7.5G  0 part /mnt/usb_1
mmcblk0     179:0    0  7.4G  0 disk
├─mmcblk0p1 179:1    0   64M  0 part /boot
└─mmcblk0p2 179:2    0  7.4G  0 part /
[  224.361375] ehci_irq: highspeed device disconnect
[  224.361531] usb 2-1: USB disconnect, device number 2
[  224.364445] ehci_irq: highspeed device connect
[  224.523192] ehci_irq: highspeed device disconnect
[  234.284282] ehci_irq: highspeed device connect
[  234.550074] usb 2-1: new high-speed USB device number 3 using sunxi-ehci
[  234.703687] scsi1 : usb-storage 2-1:1.0
[  235.701611] scsi 1:0:0:0: Direct-Access     IS917    innostor         1.00 PQ: 0 ANSI: 6
[  235.703685] sd 1:0:0:0: [sda] 15728640 512-byte logical blocks: (8.05 GB/7.50 GiB)
[  235.704268] sd 1:0:0:0: [sda] Write Protect is off
[  235.704300] sd 1:0:0:0: [sda] Mode Sense: 23 00 00 00
[  235.704898] sd 1:0:0:0: [sda] Write cache: disabled, read cache: disabled, doesn't support DPO or FUA
[  235.722152]  sda: sda1 sda2
[  235.726878] sd 1:0:0:0: [sda] Attached SCSI removable disk
[  405.285520] ehci_irq: highspeed device disconnect
[  405.285680] usb 2-1: USB disconnect, device number 3
[  411.113401] ehci_irq: highspeed device connect
[  411.380094] usb 2-1: new high-speed USB device number 4 using sunxi-ehci
[  411.533881] scsi2 : usb-storage 2-1:1.0
[  412.531861] scsi 2:0:0:0: Direct-Access     SanDisk  Cruzer Fit       1.00 PQ: 0 ANSI: 6
[  412.534044] sd 2:0:0:0: [sda] 15630336 512-byte logical blocks: (8.00 GB/7.45 GiB)
[  412.535404] sd 2:0:0:0: [sda] Write Protect is off
[  412.535436] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00
[  412.536391] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  412.549260]  sda: sda1
[  412.554005] sd 2:0:0:0: [sda] Attached SCSI removable disk

But first I want to test, what's happens, if usb stick has two partitions, but it fail. (see dmesg) So I do this new tests with a usb stick which has only one FAT partition.

Fourdee commented 8 years ago

@k-plan

Yep, I broke it, apologies. :disappointed:. All fixed now :+1:

k-plan commented 8 years ago

@Fourdee

dr-mgnt

:smiley:

Now I can test, what's happens, if usb stick has two partitions.

Fourdee commented 8 years ago

@k-plan

Now I can test

Excellent :+1:

what's happens, if usb stick has two partitions.

Only the 1st partition is mounted. I want to try and avoid the route of supporting multiple partitions. Makes it more complicated for the end user, and, would require alot more coding to support the partitions. We'd end up with:

/mnt/usb_1_p1
/mnt/usb_1_p4
/mnt/usb_3_p2
/mnt/usb_4_p1

And basically a whiptail version of gparted lol

The main goal of this script is to allow users to:

k-plan commented 8 years ago

@Fourdee

Makes it more complicated for the end user, and, would require alot more coding to support the partitions.

Hmm, yes Sir. More work for you and really complex coding.

We'd end up with:

Hmm, can we do this in a other way?

root@NeoPi:~# lsblk -f -i
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda
|-sda1      hfsplus Mac-hfs  2f1781ec-3622-36d4-a8f3-39d75292f694 /mnt/usb_1
`-sda2      ntfs    Win-NTFS 72E6D30371378E1D
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /
root@NeoPi:~# lsblk -f -i
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda
|-sda1      hfsplus Mac-hfs  2f1781ec-3622-36d4-a8f3-39d75292f694 /mnt/usb_1
`-sda2      ntfs    Win-NTFS 72E6D30371378E1D                     /mnt/usb_2
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /

And your naming is correct. We have Slots and USB_0. Great, suited. :smiley: Cons: Format option will format completely device, not only selected partition?!

:question: - but it is only a idea ....


btw: ntfs, hfs and hfsplus

hfsplus hfsprogs hfsutils

Tested, works.

Tested ntfs r/w, works out-of-the-box. :+1:

Fourdee commented 8 years ago

Format filesystem type options:

image image

k-plan commented 8 years ago
HFS+:
Recommended if you plan to use this drive on a Mac OS X system.

   3 :  HFS+ (Mac OS X)

:question:

Fourdee commented 8 years ago

@k-plan

Means installing additional packages as you mentioned earlier. Suppose we could apt-get install it when the user selects it.

Lemme take a look. Might make the selection menu too big: https://cloud.githubusercontent.com/assets/7077026/18516333/73600bf6-7a90-11e6-9416-7b1c2b7f173a.png

Fourdee commented 8 years ago

@k-plan Done, HFS+ format support is in, only issue is:

image

Tried:

root@DietPi:~# tune2fs /dev/sda -U $(cat /proc/sys/kernel/random/uuid)
tune2fs 1.42.12 (29-Aug-2014)
tune2fs: Bad magic number in super-block while trying to open /dev/sda
Couldn't find valid filesystem superblock.

Might be a hfsutil command, i'am yet to find it.

k-plan commented 8 years ago

Means installing additional packages as you mentioned earlier.

root@NeoPi:~# dpkg -l | grep hfs
ii  hfsplus                        1.0.4-12.1                 armhf        Tools to access HFS+ formatted volumes
ii  hfsprogs                       332.25-11                  armhf        mkfs and fsck for HFS and HFS+ file systems
ii  hfsutils                       3.2.6-13                   armhf        Tools for reading and writing Macintosh volumes
ii  libhfsp0                       1.0.4-12.1                 armhf        Shared library to access HFS+ formatted volumes

Suppose we could apt-get install it when the user selects it.

Yes! :smiley:


mkfs.hfsplus does not generate a UUID for drive.

:wink:

tune2fs: Bad magic number in super-block while trying to open /dev/sda

wrong command/tool:

tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems

https://wiki.ubuntuusers.de/UUID/

root@NeoPi:~# ls -l /dev/disk/by-uuid/
insgesamt 0
lrwxrwxrwx 1 root root 10 Sep 14 19:40 72E6D30371378E1D -> ../../sda2
lrwxrwxrwx 1 root root 10 Sep 14 19:40 2f1781ec-3622-36d4-a8f3-39d75292f694 -> ../../sda1
lrwxrwxrwx 1 root root 15 Sep 12 17:41 dcded1b7-5f4f-44dc-b738-28376a6a3b11 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root 15 Sep 12 17:41 FA16-1610 -> ../../mmcblk0p1
root@NeoPi:~# ls -l /dev/disk/by-partuuid/
insgesamt 0
lrwxrwxrwx 1 root root 10 Sep 14 19:40 4cc36af4-66c3-44eb-be75-ed8b18f88a1e -> ../../sda2
lrwxrwxrwx 1 root root 10 Sep 14 19:40 ad22a1e0-082d-476f-b549-f7d2a4b55cd9 -> ../../sda1
root@NeoPi:~# lsblk -f -i
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda
|-sda1      hfsplus Mac-hfs  2f1781ec-3622-36d4-a8f3-39d75292f694 /mnt/usb_1
`-sda2      ntfs    Win-NTFS 72E6D30371378E1D                     /mnt/usb_2
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /
root@NeoPi:~# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Testing (UUID generate by mkfs.hfsplus)

root@NeoPi:~# mkfs.hfs
mkfs.hfs      mkfs.hfsplus

root@NeoPi:~# mkfs.hfsplus -v Mac-HFS+ /dev/sda1
Initialized /dev/sda1 as a 4096 MB HFS Plus volume

root@NeoPi:~# partprobe

root@NeoPi:~# lsblk -f -i
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda
|-sda1      hfsplus Mac-HFS+ c2480893-3f76-3606-be4d-621050b02326 /mnt/usb_1
`-sda2      ntfs    Win-NTFS 72E6D30371378E1D
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /
ghost commented 8 years ago

Depending on your ability would you consider adding btrfs file system?

Although Ext4 seems to be the better choice on a desktop system since it is already present as a default file. Btrfs has many good features for server environment and it is robust protection against data corruption.

– Writable and read-only snapshots – Checksums on data and metadata (crc32c): this is great in my view, as every stored block is checked, so it can immediately identify and correct any data corruption – Compression (zlib and LZO) – SSD (Flash storage) awareness: another sign of a modern filesystem. BTRFS identifies SSD devices, and changes its behaviour automatically. First, it uses TRIM/Discard for reporting free blocks for reuse, and also has some optimisations like avoiding unnecessary seek optimisations, sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput. – Background scrub process for finding and fixing errors on files with redundant copies – Online filesystem defragmentation. being a COW (copy-on-write) filesystem, each time a block is updated the block itself is not overwritten but written in a different location of the device, leaving the old block still in place. If the old block at some point is not needed anymore (for example if it’s not part of any snapshot) BTRFS marks the chunk as available and ready to be reused. – In-place conversion of existing ext3/4 file systems

The btrfs file system can also be leveraged significantly by UrBackup server and client.

k-plan commented 8 years ago

Testing:

160915-0002

160915-0003

160915-0004

160915-0005

👎

Do it by terminal:

root@NeoPi:~# lsblk -i -f
NAME        FSTYPE LABEL    UUID                                 MOUNTPOINT
sda
`-sda1      hfs    Untitled                                      /mnt/usb_1
mmcblk0
|-mmcblk0p1 vfat   BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4            dcded1b7-5f4f-44dc-b738-28376a6a3b11 /

root@NeoPi:~# mkfs.hfsplus /dev/sda1
Initialized /dev/sda1 as a 7631 MB HFS Plus volume

root@NeoPi:~# lsblk -i -f
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda
`-sda1      hfsplus untitled a810c5b5-7a4f-3a97-98d4-4ba57397f799 /mnt/usb_1
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /

Hmm, why and how do you format it as HFS?

Fourdee commented 8 years ago

@Zone22

btrfs

Sounds good :+1: I'll try and add it in.

@k-plan

You have UUID on your method :smile: :+1:

Hmm, why and how do you format it as HFS?

https://github.com/Fourdee/DietPi/blob/531bcb011687ea3f7a71ba92daa8bceb37a91cfb/dietpi/dietpi-drive_manager#L225-L226 ${aDRIVE_MOUNT_SOURCE[$INDEX_DRIVE_BEING_EDITED]} would be /dev/sda1

When I ran just mkfs.hfsplus /dev/sda1, it had no filesystem. Could be I missed something. I'll try vfat format, then just running mkfs.hfsplus /dev/sda1 as you did. Will see if UUID and format is successful.

Fourdee commented 8 years ago

@k-plan Yep. Not sure why I did that lol. Removal of hformat did the trick, UUID now working for hfs+ format. Thanks @k-plan :+1:

k-plan commented 8 years ago

@Fourdee

When I ran just mkfs.hfsplus /dev/sda1, it had no filesystem. Could be I missed something.

Ahh, see your problem. If you don't have a partition table with minimum 1 partition on your device,

root@NeoPi:~# lsblk -f -i
NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
sda
mmcblk0
|-mmcblk0p1 vfat   BOOT  FA16-1610                            /boot
`-mmcblk0p2 ext4         dcded1b7-5f4f-44dc-b738-28376a6a3b11 /

mkfs.hfs will format sda without a partition.

root@NeoPi:~# mkfs.hfs  /dev/sda
Initialized /dev/sda as a 7632 MB HFS Plus volume

root@NeoPi:~# lsblk -f -i
NAME        FSTYPE  LABEL    UUID                                 MOUNTPOINT
sda         hfsplus untitled 3b995b7a-f17a-3c0b-aba3-76408068712b
mmcblk0
|-mmcblk0p1 vfat    BOOT     FA16-1610                            /boot
`-mmcblk0p2 ext4             dcded1b7-5f4f-44dc-b738-28376a6a3b11 /

And now you run in trouble ....

Fourdee commented 8 years ago

@Zone22 BTRFS format support is in :+1:

Had to reduce the menu desc text a little. I'll put all that info into the online doc for DietPi-Drive_Manager and link it there. image

@k-plan

Ahh, see your problem. If you don't have a partition table with minimum 1 partition on your device,mkfs.hfs will format sda without a partition.

That must of been what I did :+1: lol.

k-plan commented 8 years ago

@Fourdee

short description behind menu please, like before?

image

Fourdee commented 8 years ago

@k-plan

Yep, it would be nice to have, but then the height would be too big. I try and keep all whiptail displays under 24 rows (its 21 currently). Mainly for SSH users so they dont need a massive SSH window :)

I'll add a URL link and insert that to menu. will cover all options, similar to: http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&start=20#p68

EDIT: Or did you mean the menu options at bottom EXT4 (Recommended)?

k-plan commented 8 years ago

@Fourdee

no, you missed me. :smiley:

0 :  EXT4  (Recommended)
1 :  FAT32 (all OS - 4GB filesize limit) 
2 :  NTFS  (Win - high CPU load)
3 :  HFS+  (Mac OS X - best OS ever!)
4 :  BTRFS (only new Linux Systems)

or something like that .... :wink:

Fourdee commented 8 years ago

@k-plan Mmmm, not sure with |? image

Fourdee commented 8 years ago

@k-plan

https://github.com/Fourdee/DietPi/issues/271#issuecomment-247310009

Works

#Clear partition table
dd if=/dev/zero of=/dev/sda bs=1000000 count=1
dietpi-drive_manager
#use GUI to format HFS+
k-plan commented 8 years ago

@Fourdee

< Mmmm, not sure with|?

Looks okay, until ...

3 : HFS+ | Mac OS X (Intel Mac default file system)

Fourdee commented 8 years ago

Ok, I think this now completed. Stable results during multiple testing. Marking as closed. Please reopen if required.