Create a GhostBSD USB SSD 500GB or larger size
Create a GhostBSD USB SSD 500GB or larger size
#!/bin/sh
set -e
set -x
echo " ${DISK1} <--- This is the DISK1 environmental variable, set example: DISK1=/dev/da1; export DISK1 "
echo " Made for a 500GB size USB to NVMe style SSD disk style SSD disk "
# echo "If da1 already exists, use gpart destroy -F da1 or gpart destroy -F ${DISK1} to clean of partitions on da1 "
sleep 6
gpart list ${DISK1}
gpart status ${DISK1}
gpart show -lp ${DISK1}
echo " create a GPT scheme on ${DISK1} hit ctrl-C to exit. "
# test if geom disk list da1 , then gpart destroy -F ${DISK1}
if gpart status ${DISK1} ;
then
gpart show -lp ${DISK1}
echo " Type Ctrl-C NOW! to stop destroy ${DISK1} "
sleep 6
gpart destroy -F ${DISK1}
else
echo " ${DISK1} is unformatted , good to create 7 partitions "
fi
sleep 6
gpart create -s GPT ${DISK1}
gpart add -t efi -a1M -s3G -l msdos_ESP ${DISK1}
gpart add -t freebsd-swap -a1M -s4G -l swapfs ${DISK1}
gpart add -t freebsd-zfs -a1M -s240G -l rootfs ${DISK1}
gpart add -t linux-swap -a1M -s2G -l linux-swap ${DISK1}
gpart add -t linux-data -a1M -s80G -l linux-data ${DISK1}
gpart add -t linux-data -a1M -s80G -l linux-data2 ${DISK1}
gpart add -t linux-data -a1M -l linux-data3 ${DISK1}
echo "Format ${DISK1}p1 with command newfs_msdos to create ESP EFI FAT32 partition"
newfs_msdos -F 32 -c 1 ${DISK1}"p1"
echo "Completed 7 partitions on ${DISK1}p1 is the ESP EFI FAT32 partition. "
echo "${DISK1}p2 is the SWAP partition. "
echo "${DISK1}p3 is the freebsd-zfs boot on root data partition. "
echo "Other partions are for testing Linux on the Raspberry Pi 4B,3B,400 like Manjaro or POP!_OS "
gpart show -lp ${DISK1} # show the 7 paritions
root@omid-ghostbsd-pc /h/o/ssd_test#
linsysfs on /compat/linux/sys (linsysfs, local)
fdescfs on /dev/fd (fdescfs)
zroot/tmp on /tmp (zfs, local, nosuid, nfsv4acls)
zroot/var/crash on /var/crash (zfs, local, noexec, nosuid, nfsv4acls)
zroot/usr/ports on /usr/ports (zfs, local, nosuid, nfsv4acls)
zroot/usr/src on /usr/src (zfs, local, nfsv4acls)
zroot/var/audit on /var/audit (zfs, local, noexec, nosuid, nfsv4acls)
zroot/var/mail on /var/mail (zfs, local, nfsv4acls)
zroot/var/tmp on /var/tmp (zfs, local, nosuid, nfsv4acls)
zroot/usr/home on /usr/home (zfs, local, nfsv4acls)
/dev/da0s1 on /media/da0s1 (fusefs)
devfs on /compat/linux/dev (devfs)
fdescfs on /compat/linux/dev/fd (fdescfs)
tmpfs on /compat/linux/dev/shm (tmpfs, local)
root@omid-ghostbsd-pc /h/o/ssd_test# ls -lht /media/da0s1
total 31488
-rwxrwxr-x 1 root wheel 7.7M Sep 2 2021 SamsungPortableSSD_Setup_Win_1.0.exe*
-rwxrwxr-x 1 root wheel 23M Sep 2 2021 SamsungPortableSSD_Setup_Mac_1.0.pkg*
-rwxrwxr-x 1 root wheel 118B Dec 26 2019 Samsung Portable SSD SW for Android.txt*
root@omid-ghostbsd-pc /h/o/ssd_test# ls -lht /media/da0s1/Samsung\ Portable\ SSD\ SW\ for\ Android.txt
-rwxrwxr-x 1 root wheel 118B Dec 26 2019 /media/da0s1/Samsung Portable SSD SW for Android.txt*
root@omid-ghostbsd-pc /h/o/ssd_test# cat /media/da0s1/Samsung\ Portable\ SSD\ SW\ for\ Android.txt
Please go to the following URL for the Samsung Portable SSD Android application.
http://www.samsung.com/PortableSSD⏎ root@omid-ghostbsd-pc /h/o/ssd_test# mount
zroot/ROOT/default on / (zfs, local, nfsv4acls)
devfs on /dev (devfs)
procfs on /proc (procfs, local)
linprocfs on /compat/linux/proc (linprocfs, local)
tmpfs on /tmp (tmpfs, local)
linsysfs on /compat/linux/sys (linsysfs, local)
fdescfs on /dev/fd (fdescfs)
zroot/tmp on /tmp (zfs, local, nosuid, nfsv4acls)
zroot/var/crash on /var/crash (zfs, local, noexec, nosuid, nfsv4acls)
zroot/usr/ports on /usr/ports (zfs, local, nosuid, nfsv4acls)
zroot/usr/src on /usr/src (zfs, local, nfsv4acls)
zroot/var/audit on /var/audit (zfs, local, noexec, nosuid, nfsv4acls)
zroot/var/mail on /var/mail (zfs, local, nfsv4acls)
zroot/var/tmp on /var/tmp (zfs, local, nosuid, nfsv4acls)
zroot/usr/home on /usr/home (zfs, local, nfsv4acls)
/dev/da0s1 on /media/da0s1 (fusefs)
devfs on /compat/linux/dev (devfs)
fdescfs on /compat/linux/dev/fd (fdescfs)
tmpfs on /compat/linux/dev/shm (tmpfs, local)
root@omid-ghostbsd-pc /h/o/ssd_test# umount /dev/da0s1
root@omid-ghostbsd-pc /h/o/ssd_test# ./create_ssd_Ghostbsd_da1.sh
+ echo ' /dev/da0 <--- This is the DISK1 environmental variable, set example: DISK1=/dev/da1; export DISK1 '
/dev/da0 <--- This is the DISK1 environmental variable, set example: DISK1=/dev/da1; export DISK1
+ echo ' Made for a 500GB size USB to NVMe style SSD disk style SSD disk '
Made for a 500GB size USB to NVMe style SSD disk style SSD disk
+ sleep 6
+ gpart list /dev/da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 976773167
first: 63
entries: 4
scheme: MBR
Providers:
1. Name: da0s1
Mediasize: 500105249280 (466G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 1048576
Mode: r0w0e0
efimedia: HD(1,MBR,0x4d4b3e9b,0x800,0x3a384c41)
rawtype: 7
length: 500105249280
offset: 1048576
type: ntfs
index: 1
end: 976770112
start: 2048
Consumers:
1. Name: da0
Mediasize: 500107862016 (466G)
Sectorsize: 512
Mode: r0w0e0
+ gpart status /dev/da0
Name Status Components
da0s1 OK da0
+ gpart show -lp /dev/da0
=> 63 976773105 da0 MBR (466G)
63 1985 - free - (993K)
2048 976768065 da0s1 (null) (466G)
976770113 3055 - free - (1.5M)
+ echo ' create a GPT scheme on /dev/da0 hit ctrl-C to exit. '
create a GPT scheme on /dev/da0 hit ctrl-C to exit.
+ gpart status /dev/da0
Name Status Components
da0s1 OK da0
+ gpart show -lp /dev/da0
=> 63 976773105 da0 MBR (466G)
63 1985 - free - (993K)
2048 976768065 da0s1 (null) (466G)
976770113 3055 - free - (1.5M)
+ echo ' Type Ctrl-C NOW! to stop destroy /dev/da0 '
Type Ctrl-C NOW! to stop destroy /dev/da0
+ sleep 6
+ gpart destroy -F /dev/da0
da0 destroyed
+ sleep 6
+ gpart create -s GPT /dev/da0
da0 created
+ gpart add -t efi -a1M -s3G -l msdos_ESP /dev/da0
da0p1 added
+ gpart add -t freebsd-swap -a1M -s4G -l swapfs /dev/da0
da0p2 added
+ gpart add -t freebsd-zfs -a1M -s240G -l rootfs /dev/da0
da0p3 added
+ gpart add -t linux-swap -a1M -s2G -l linux-swap /dev/da0
da0p4 added
+ gpart add -t linux-data -a1M -s80G -l linux-data /dev/da0
da0p5 added
+ gpart add -t linux-data -a1M -s80G -l linux-data2 /dev/da0
da0p6 added
+ gpart add -t linux-data -a1M -l linux-data3 /dev/da0
da0p7 added
+ echo 'Format /dev/da0p1 with command newfs_msdos to create ESP EFI FAT32 partition'
Format /dev/da0p1 with command newfs_msdos to create ESP EFI FAT32 partition
+ newfs_msdos -F 32 -c 1 /dev/da0p1
/dev/da0p1: 6194632 sectors in 6194632 FAT32 clusters (512 bytes/cluster)
BytesPerSec=512 SecPerClust=1 ResSectors=32 FATs=2 Media=0xf0 SecPerTrack=63 Heads=255 HiddenSecs=0 HugeSectors=6291456 FATsecs=48396 RootCluster=2 FSInfo=1 Backup=2
+ echo 'Completed 7 partitions on /dev/da0p1 is the ESP EFI FAT32 partition. '
Completed 7 partitions on /dev/da0p1 is the ESP EFI FAT32 partition.
+ echo '/dev/da0p2 is the SWAP partition. '
/dev/da0p2 is the SWAP partition.
+ echo '/dev/da0p3 is the freebsd-zfs boot on root data partition. '
/dev/da0p3 is the freebsd-zfs boot on root data partition.
+ echo 'Other partions are for testing Linux on the Raspberry Pi 4B,3B,400 like Manjaro or POP!_OS '
Other partions are for testing Linux on the Raspberry Pi 4B,3B,400 like Manjaro or POP!_OS
+ gpart show -lp /dev/da0
=> 40 976773088 da0 GPT (466G)
40 2008 - free - (1.0M)
2048 6291456 da0p1 msdos_ESP (3.0G)
6293504 8388608 da0p2 swapfs (4.0G)
14682112 503316480 da0p3 rootfs (240G)
517998592 4194304 da0p4 linux-swap (2.0G)
522192896 167772160 da0p5 linux-data (80G)
689965056 167772160 da0p6 linux-data2 (80G)
857737216 119035904 da0p7 linux-data3 (57G)
976773120 8 - free - (4.0K)
root@omid-ghostbsd-pc /h/o/ssd_test#
root@omid-ghostbsd-pc /h/o/ssd_test# cat ./create_GhostBSD_Amd64_ZPOOL_ZFS_on_DISK1.sh
#!/bin/sh
#https://gist.github.com/jwatzman/8a53dcdd3084d595c6d5918f4a2a0527
echo " Modified April 2 2024 by Fred Finster for GhostBSD-Amd64 & FreeBSD 14.0 ZPOOL ZFS sets."
echo "DISK1 environmental variable is set to '${DISK1}' click Ctrl-C to exit now! "
sleep 12
# if [ ! -f /mnt/COPYRIGHT ]
if [ ! -f /COPYRIGHT ]
then
echo "Forgot to mount disk image, missing file COPYRIGHT in this directory / "
exit 1
fi
set -e
set -x
# Ensure the script is run as root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root" >&2
exit 1
fi
zpool destroy zpi || true
# zpool create -O compress=lz4 -O atime=off -o altroot=/zpialt -m none zpi da1s2
# zpool create -O compress=lz4 -O atime=off -o altroot=/zpialt -m none zpi /dev/da1p3 # /dev/gpt/rootfs same as existing /dev/gpt/rootfs for /dev/da0p3
echo " creating zpool 'zpi' from single partition vdev '${DISK1}"p3"' " ; sleep 5
zpool create -O compress=lz4 -O atime=off -o altroot=/zpialt -m none zpi $DISK1"p3" # /dev/gpt/rootfs same as existing /dev/gpt/rootfs for /dev/da0p3
zfs create -o mountpoint=none zpi/ROOT
zfs create -o mountpoint=/ zpi/ROOT/default
zfs create -o mountpoint=/tmp -o exec=on -o setuid=off zpi/tmp
zfs create -o mountpoint=/usr -o canmount=off zpi/usr
# zfs create zpi/usr/home # the old method of '/usr/home' before 14.0-RELEASE
zfs create zpi/home
zfs create -o setuid=off zpi/usr/ports
zfs create zpi/usr/src
zfs create -o mountpoint=/var -o canmount=off zpi/var
zfs create -o exec=off -o setuid=off zpi/var/audit
zfs create -o exec=off -o setuid=off zpi/var/crash
zfs create -o exec=off -o setuid=off zpi/var/log
zfs create -o atime=on zpi/var/mail
zfs create -o setuid=off zpi/var/tmp
zfs create -o mountpoint=/poudriere -o canmount=off zpi/poudriere
zfs create -o mountpoint=/poudriere/jails -o canmount=off zpi/poudriere/jails
zfs create -o mountpoint=/poudriere/ports -o canmount=off zpi/poudriere/ports
zfs set mountpoint=/zpi zpi
chmod 1777 /zpialt/tmp
chmod 1777 /zpialt/var/tmp
zpool set bootfs=zpi/ROOT/default zpi
zfs set canmount=noauto zpi/ROOT/default
echo "Copying files from root directory of GhostBSD ada0 drive to /zpialt ZPI ZPOOL files " pause 3
# cd /mnt
cd /
tar cf - . | ( cd /zpialt && tar xvf - )
echo 'zfs_load="YES"' >> /zpialt/boot/loader.conf
echo 'kern.geom.label.disk_ident.enable=0' >> /zpialt/boot/loader.conf
#echo 'kern.geom.label.gptid.enable=0' >> /zpialt/boot/loader.conf
sed -i '' '/boot_serial/ s/^/#/' /zpialt/boot/loader.conf
sed -i '' '/beastie_disable/ s/^/#/' /zpialt/boot/loader.conf
echo 'zfs_enable="YES"' >> /zpialt/etc/rc.conf
sed -i '' /ufs/d /zpialt/etc/fstab
zpool export zpi
echo " zpool import ; to see this zpool ; zfs list ; Finished creating a bootable ZFS USB SSD for GhostBSD 24.01.01 or later version"
zpool import
zfs list
$ sudo fdisk -l
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F14FD80A-9A3C-472C-8180-F3A998215DD5
Device Start End Sectors Size Type
/dev/sda1 2048 6758399 6756352 3.2G EFI System
/dev/sda2 6758400 67108863 60350464 28.8G Microsoft basic data
/dev/sda3 67108864 132120575 65011712 31G Linux root (x86)
/dev/sda4 132120576 186646527 54525952 26G Linux root (x86)
/dev/sda5 186646528 293601279 106954752 51G FreeBSD ZFS
/dev/sda6 293601280 673185791 379584512 181G FreeBSD ZFS
/dev/sda7 673185792 681574399 8388608 4G Linux root (x86)
/dev/sda8 681574400 700448767 18874368 9G FreeBSD swap
/dev/sda9 700448768 765460479 65011712 31G Linux filesystem
/dev/sda10 765460480 838860799 73400320 35G Linux filesystem
/dev/sda11 838860800 872415231 33554432 16G Intel Fast Flash
/dev/sda12 872415232 872517631 102400 50M Microsoft basic data
/dev/sda13 40 551 512 256K FreeBSD boot
/dev/sda14 872517632 972572671 100055040 47.7G FreeBSD ZFS
/dev/sda15 972572672 976766975 4194304 2G FreeBSD swap
Partition table entries are not in disk order.
Disk /dev/sdb: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: PSSD T7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: D4AD3C58-24B6-433F-BCED-8081A4AD18C5
Device Start End Sectors Size Type
/dev/sdb1 2048 6293503 6291456 3G EFI System
/dev/sdb2 6293504 111151103 104857600 50G Microsoft basic data
/dev/sdb3 111151104 320866303 209715200 100G Linux filesystem
/dev/sdb4 320866304 530581503 209715200 100G Linux filesystem
/dev/sdb5 530581504 1886416895 1355835392 646.5G FreeBSD ZFS
/dev/sdb6 1886416896 1919971327 33554432 16G Linux filesystem
/dev/sdb7 1919971328 1936748543 16777216 8G Linux swap
/dev/sdb8 1936748544 1953523711 16775168 8G FreeBSD swap
Disk /dev/sdc: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: PSSD T7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: 22108170-F0BC-11EE-8F77-54EE75417CD8
Device Start End Sectors Size Type
/dev/sdc1 2048 6293503 6291456 3G EFI System
/dev/sdc2 6293504 14682111 8388608 4G FreeBSD swap
/dev/sdc3 14682112 517998591 503316480 240G FreeBSD ZFS
/dev/sdc4 517998592 522192895 4194304 2G Linux swap
/dev/sdc5 522192896 689965055 167772160 80G Linux filesystem
/dev/sdc6 689965056 857737215 167772160 80G Linux filesystem
/dev/sdc7 857737216 976773119 119035904 56.8G Linux filesystem
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3974792k,nr_inodes=993698,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=803488k,mode=755)
/dev/sda3 on / type ext4 (rw,noatime)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2445820k)
/dev/sda4 on /home type ext4 (rw,noatime)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=803484k,mode=700,uid=1000,gid=1000)
/dev/sdb3 on /media/mxme/Linux1 type ext4 (rw,nosuid,nodev,relatime,errors=remount-ro,stripe=8191,uhelper=udisks2)
tmpfs on /run/user/115 type tmpfs (rw,nosuid,nodev,relatime,size=803484k,mode=700,uid=115,gid=124)
/dev/sdb2 on /media/mxme/637F-EFC4 type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2)
/dev/sdb4 on /media/mxme/Impish21 type ext4 (rw,nosuid,nodev,relatime,errors=remount-ro,stripe=8191,uhelper=udisks2)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ ls /mnt
sda12 sda4 sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdc1 sdc2
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ mount -t msdosfs /dev/sdc1 /mnt/sdc1
mount: /mnt/sdc1: must be superuser to use mount.
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ sudo mount -t msdosfs /dev/sdc1 /mnt/sdc1
mount: /mnt/sdc1: unknown filesystem type 'msdosfs'.
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ gdisk /dev/sdc
GPT fdisk (gdisk) version 1.0.6
Problem opening /dev/sdc for reading! Error is 13.
You must run this program as root or use sudo!
mxme@mx16-Klik:~/Documents/Packaging_Documentation_FreeBSD
$ sudo gdisk /dev/sdc
GPT fdisk (gdisk) version 1.0.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sdc: 976773168 sectors, 465.8 GiB
Model: PSSD T7
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 22108170-F0BC-11EE-8F77-54EE75417CD8
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 40, last usable sector is 976773127
Partitions will be aligned on 2048-sector boundaries
Total free space is 2016 sectors (1008.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 6293503 3.0 GiB EF00 msdos_ESP
2 6293504 14682111 4.0 GiB A502 swapfs
3 14682112 517998591 240.0 GiB A504 rootfs
4 517998592 522192895 2.0 GiB 8200 linux-swap
5 522192896 689965055 80.0 GiB 8300 linux
6 689965056 857737215 80.0 GiB 8300 linuta2
7 857737216 976773119 56.8 GiB 8300 linux-data3
Command (? for help): q
Finished using gdisk /dev/sdc on MX Linux 21 to view partitions
Create EXT4 file systems on a partition, examples:
-rw-r--r-- 1 root root 812 Jun 7 2021 /etc/mke2fs.conf
$ mkfs.ext4 /dev/sda1
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 26104 4k blocks and 65408 inodes
Filesystem UUID: 2fc39a9c-faee-45c6-9651-8e25963739da
Superblock backups stored on blocks:
32768, 98304
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
The commonly used parameters
-L
Assigns a volume label to the file system.
$ mkfs.ext4 -L my_volume /dev/sda1
-n
Performs a dry run without actually creating a file system.
$ mkfs.ext4 -n /dev/sda1
This is a dry run and no file system will be created.
mkfs.ext4 -L MX
sudo mkfs.ext4 -L MXLinux232 /dev/sdc7
[sudo] password for mxme:
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 14879488 4k blocks and 3720080 inodes
Filesystem UUID: 0ba43485-c452-440e-bf1f-81110aea8feb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
Linux232 /dev/sdc7
mkdir -p /mnt/sdc7
sudo mount /dev/sdc7 /mnt/sdc7
$ mount /dev/sdc7
mount: /dev/sdc7: can't find in /etc/fstab.
mxme@mx16-Klik:/mnt
$ mount | grep sdc7
/dev/sdc7 on /mnt/sdc7 type ext4 (rw,relatime,stripe=8191)
mxme@mx16-Klik:/mnt
$ cd sdc7
mxme@mx16-Klik:/mnt/sdc7
$ ls
lost+found
mxme@mx16-Klik:/mnt/sdc7
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sdc7 56G 24K 53G 1% /mnt/sdc7
mkdir ./isos
cd ./isos
curl -O
URLs Instructions to install MX Linux and ZorinOS 17 to disk and Dual Boot with Windows
Linux O/S Download Source locations:
Actual curl -O download command lines:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2180M 100 2180M 0 0 303k 0 2:02:43 2:02:43 --:--:-- 408k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6882M 100 6882M 0 0 4485k 0 0:26:11 0:26:11 --:--:-- 2893k
Instructions on Linux install to disk and Dual booting with Windows
General Tips for Dual booting MX Linux and POP!_OS
https://www.reddit.com/r/DistroHopping/comments/18bdu30/any_general_tips_for_dual_booting_mx_linux_and/
Doesn't matter whichever you install first, both distros are exactly same ubuntu forks (overall debian forks) with different branding, theming and some different repositories preconfigured.
Most common UEFI partition scheme for all linux distros in general:
-
EFI System partition :: mounted at:
/boot/efi
(min. 200 MB, Recommended: 512-600 MB), Filesystem:fat32
-
Linux Swap Partition (optional)
-
Root Partition :: mounted at
/
(min. 30 GB), Filesystem:ext4
(Recommended for debian based distros).
Rest other partitions: /home
, /usr
, /var
are totally optional and not necessary.
So, if i wanted to dual boot MX linux and Pop Os, My GPT partition table might have look like:
Example: For a drive having 512 GB space:
-
EFI system Partition (for pop) 600 MB
-
Swap (for pop) 8GB
-
Root Partition (for pop) 240 GB
-
EFI system Partition (for mx) 600 MB
-
Swap (for mx) 8GB
-
Root Partition (for MX) rest of the space.
Notice that I've created separate EFI system Partitions and swap partitions for both the distros. Some people might say this an overkill, but this will provide more stability.
You can also just go with a common EFI system partition and linux swap if you want.
In that case partition scheme will look like:
-
EFI system partition (for both)
-
Swap Partition (for both)
-
Pop root Partition
-
MX root Partition
He does the following:
1gb efi partition (can probably get away with less but I have plenty of space)
40 gb root
16gb swap
the rest as a home partition
Install ZorinOS 17 to manual partitioned disk
https://help.zorin.com/docs/getting-started/install-zorin-os/
- Follow the on-screen instructions to start the installation.
- When prompted by the installer, please connect to the Internet (if possible). This makes sure all necessary software gets downloaded during the installation process.
- You should reach a step titled “Installation type”.
- Continue following the on-screen instructions to complete the installation.
- After the installation completes, restart the computer to boot into your installed copy of Zorin OS.
These are the minimum hardware specifications required to install Zorin OS on a computer. If your computer doesn’t meet these requirements, you might not be able to run Zorin OS on it.
- CPU: 1 GHz Dual Core – Intel/AMD 64-bit processor
- RAM: 1½ GB
- Storage: 15 GB (Core), 32 GB (Education), or 40 GB (Pro)
- Display: 1024 × 768 resolution
Creating Ventoy USB Flash drive stick
- For Linux - CLI mode
Download the installation package, like ventoy-x.x.xx-linux.tar.gz and decompress it.
Run the shell script as root sh Ventoy2Disk.sh { -i | -I | -u } /dev/XXX
XXX is the USB device, for example /dev/sdb.
You just need to install Ventoy once, after that all the things needed is to copy the iso files to the USB.
You can also use it as a plain USB drive to store files and this will not affact Ventoy's function.
$ sh Ventoy2Disk.sh -i-l -g /dev/sdd
**********************************************
Ventoy: 1.0.97 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
-i-l is NOT a valid device
Usage: Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
CMD:
-i install Ventoy to sdX (fails if disk already installed with Ventoy)
-I force install Ventoy to sdX (no matter if installed or not)
-u update Ventoy in sdX
-l list Ventoy information in sdX
OPTION: (optional)
-r SIZE_MB preserve some space at the bottom of the disk (only for install)
-s/-S enable/disable secure boot support (default is enabled)
-g use GPT partition style, default is MBR (only for install)
-L Label of the 1st exfat partition (default is Ventoy)
-n try non-destructive installation (only for install)
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ sh Ventoy2Disk.sh -l /dev/sdd
**********************************************
Ventoy: 1.0.97 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
Ventoy Version: NA
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ sh Ventoy2Disk.sh -i -g /dev/sdd
**********************************************
Ventoy: 1.0.97 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
Failed to access /dev/sdd, maybe root privilege is needed!
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ sudo sh Ventoy2Disk.sh -i -g /dev/sdd
[sudo] password for mxme:
**********************************************
Ventoy: 1.0.97 x86_64
longpanda admin@ventoy.net
https://www.ventoy.net
**********************************************
Disk : /dev/sdd
Model: General USB Flash Disk (scsi)
Size : 28 GB
Style: GPT
Attention:
You will install Ventoy to /dev/sdd.
All the data on the disk /dev/sdd will be lost!!!
Continue? (y/n) y
All the data on the disk /dev/sdd will be lost!!!
Double-check. Continue? (y/n) y
Create partitions on /dev/sdd by parted in GPT style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/sdd2 ...
mkfs.fat 4.2 (2021-01-31)
success
Wait for partitions ...
Wait for /dev/sdd1//dev/sdd2 ...
/dev/sdd1 exist OK
/dev/sdd2 exist OK
partition exist OK
Format partition 1 /dev/sdd1 ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
mkexfatfs success
writing data to disk ...
sync data ...
esp partition processing ...
Install Ventoy to /dev/sdd successfully finished.
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ sudo fdisk -l /dev/sdd
Disk /dev/sdd: 28.91 GiB, 31037849600 bytes, 60620800 sectors
Disk model: USB Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 570F9588-4DD9-41D8-88A7-FC213FEEC24D
Device Start End Sectors Size Type
/dev/sdd1 2048 60555223 60553176 28.9G Microsoft basic data
/dev/sdd2 60555224 60620759 65536 32M Microsoft basic data
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ sudo gparted /dev/sdd
GParted 1.2.0
configuration --enable-libparted-dmraid --enable-online-resize
libparted 3.4
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3974792k,nr_inodes=993698,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=803488k,mode=755)
/dev/sda3 on / type ext4 (rw,noatime)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2445820k)
/dev/sda4 on /home type ext4 (rw,noatime)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=803484k,mode=700,uid=1000,gid=1000)
/dev/sdb3 on /media/mxme/Linux1 type ext4 (rw,nosuid,nodev,relatime,errors=remount-ro,stripe=8191,uhelper=udisks2)
tmpfs on /run/user/115 type tmpfs (rw,nosuid,nodev,relatime,size=803484k,mode=700,uid=115,gid=124)
/dev/sdb2 on /media/mxme/637F-EFC4 type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2)
/dev/sdb4 on /media/mxme/Impish21 type ext4 (rw,nosuid,nodev,relatime,errors=remount-ro,stripe=8191,uhelper=udisks2)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sdc7 on /mnt/sdc7 type ext4 (rw,relatime,stripe=8191)
/dev/sdd2 on /media/mxme/VTOYEFI type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
/dev/sdd1 on /media/mxme/Ventoy type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2)
mxme@mx16-Klik:~/Ventoy/ventoy-1.0.97
$ cd /mnt/sdc7/iso
mxme@mx16-Klik:/mnt/sdc7/iso
$ ls
MX-23.2_April_x64.iso Zorin-OS-17.1-Education-64-bit-r1.iso
mxme@mx16-Klik:/mnt/sdc7/iso
$ ls -l
total 9280140
-rw-r--r-- 1 mxme mxme 2285895680 Apr 20 11:02 MX-23.2_April_x64.iso
-rw-r--r-- 1 mxme mxme 7216957440 Apr 20 09:35 Zorin-OS-17.1-Education-64-bit-r1.iso
mxme@mx16-Klik:/mnt/sdc7/iso
Copy .iso files to Ventoy directory
$ ls -l /media/mxme/Ventoy
total 9280160
-rwxr-xr-x 1 mxme mxme 2285895680 Apr 20 11:02 MX-23.2_April_x64.iso
-rwxr-xr-x 1 mxme mxme 7216957440 Apr 20 09:35 Zorin-OS-17.1-Education-64-bit-r1.iso
Please send a documentation or a help file how to use the EFI boot files snponly.efi, snp.efi and ipxe.efi, thank you.
I'm trying to run iVentoy on Raspberry Pi OS Desktop 11 and an error appears, on Debian 12 it's normal, no errors. My goal is run iVentoy on Raspberry Pi OS Lite using a Raspberry Pi 4.
Note: I used chmod 777 on the iVentoy folder in both versions.
1. Perhaps there is a "new PXE client" configuration (or "boot once" configuration) that can be used just to get the machine to boot into an ISO just one time.
1a. Also allow selection for injections/auto install script, etc.
2. Control which network interface the GUI can be accessed from (so not just 127.0.0.1:26000). Only allow once a username and password have been set.
3. Add image file upload capability to the GUI which will save files to the ISO location
3a. Configure the locations to search for ISO files on the server (not just the ISO location)
4. Perhaps when a machine boots to the iVentoy menu, the iVentoy web interface can allow us to control/select the option currently displaying on the endpoint instead of having to have a mouse/keyboard/monitor on the endpoint (which would help for remote reinstall scenarios). This may be difficult to implement but would be very useful.
5. Would like a command line option to use as a Windows Service (no GUI) so that when the PXE server is rebooted, iVentoy will start running again automatically.
I would very happily consider donation over and above the $49 commercial donation for these features.
The server machine run iVentoy, and all the client machines boot from network and download boot files from the server machine.
iVentoy can only run on x86 CPU as the PXE server, that is to say the server machine can only be x86 CPU.
The client machines can be x86/ARM64 CPU.
Currently it's only for i386 / amd64 (which your Ryzen is).
So, not strange at all.
First of all, I want to thank you for a great project!
In my network, I use a small server based on a former TV set-top box, which is built on ARM (armv7l), it runs a small armbian distribution based on Debian. And I faced a problem - I can't run iVentoy directly on this system - because the binaries are only for x86 and x86_64 architecture. I even managed to start iVentoy with "qemu-user-static" emulation, but in iVentoy settings (Boot Information - IP Configuration) Select Server IP = 0.0.0.0 and "NIC Name" - not defined. Apparently there are some limitations of QEMU emulation regarding the network subsystem. Therefore, starting the PXE Service is not possible.
So, I want to ask if you plan to create binaries for the ARM 32 architecture?
Only x86 arch will be supported.
In fact, none of the ISO in my list works.
Any ideas?
try legacy/BIOS booting instead.
I was just too focusing on their list and thought since it was on the list it must be able to boot.
I changed to bios mode and it works fine now.
Comments
Post a Comment