You are not logged in.
I have used CB and BL for many years but don't consider myself an expert. While I use dd on occasion there is always concern until the usb stick light starts flashing! So ordinary users like me would definitely welcome a safe wrapper.
volvox.biz a very tedious daily account of life during covid,
Offline
An alternative would be a flatpak installation, which could suffice, no? This'll restrict it to a user env and won't touch any system level stuff.
Do you have a list of mkusb's dependencies?
0. I don't know flatpak. Maybe it would suffice. (mkusb must be able to run with elevated permissions (with sudo or as root) in order to write to the device, typically a USB pendrive or memory card.)
1. mkusb minimal 'mkusb-min' needs no program package, that is not already present in Debian and bunsenlabs. Installing 'pv' (progress view) can keep the user happy while cloning to a slow USB pendrive or memory card, but it is not necessary. This version needs no particular installation, but you can make a very simple one, if you wish.
2. The following function in mkusb version 12 alias 'dus' describes the dependencies pretty well, what mkusb needs.
If we want to implement making persistent live drives and windows boot drives, we should add what mkusb wants too.
Several of these packages are there anyway in most modern linux distros, but some of them need installing in Debian and bunsenlabs.
mkusb-common and usb-pack-efi belong to the mkusb program package, that is supplied now via the Launchpad PPA.
zenity and dialog improve the user experience, but are not necessary for the function.
function p_chk_programs {
# check for various programs and suggest installation if not found
ar_org="$1"
need_pck=
want_pck=
s_pers="a persistent live drive"
s_win="a windows installer"
p_need_pck pv
p_need_pck_s parted
p_need_pck_s gdisk
p_need_pck_s mkfs.vfat "package dosfstools"
p_need_pck_s mkfs.ntfs "package ntfs-3g"
p_need_pck lsblk "package util-linux"
p_need_pck df "package coreutils"
p_need_pck_s mount
p_need_pck gzip
p_need_pck xz "package xz-utils"
# p_need_pck xterm
p_want_pck rsync "only to make $s_pers"
p_want_pck tar "to make $s_pers or $s_win"
p_want_pck mkusb-common "to make $s_pers and to get a good GUI experience"
# p_want_pck usb-pack-efi "only to make $s_pers"
if [ "$1" != "-t" ]
then
if [ "$TERM" == "xterm" ] || [ "$TERM" != "linux" ] || [ "$DISPLAY" != "" ]
then
# echo "dus thinks it runs in *graphics* mode, and checks for zenity"
p_want_pck zenity "to get GUI menus"
which zenity > /dev/null || p_want_pck dialog "to get text menus"
else
echo "dus thinks it runs in *text* mode, and does not check for zenity"
echo "dus checks for dialog"
p_want_pck dialog "to get text menus"
fi
fi
if [ "$1" == "-d" ]
then
p_want_pck dialog "to get text menus"
fi
if [ "$distr" == "opensuse" ]
then
p_want_pck_s grub2-install "grub-i386-pc: to make $s_pers or $s_win"
else
p_want_pck_s grub-install "grub-pc: to make $s_pers or $s_win"
fi
if [ "$want_pck" != "" ]
then
echo -e "$blueback${0##*/} wants the program(s) $want_pck $resetvid"
echo -e "$inversvid Please install the corresponding package(s) $resetvid"
rm -f "$pff"
if [ "$manager" == "d" ]
then
dlay=8
read -t "$dlay" -p "Press Enter to continue, or wait $dlay seconds "
fi
fi
if [ "$need_pck" != "" ]
then
echo -e "$redback${0##*/} needs the program(s) $need_pck $resetvid"
echo -e "$inversvid Please install the corresponding package(s) $resetvid"
rm -f "$pff"
exit
fi
}
Offline
I have used CB and BL for many years but don't consider myself an expert. While I use dd on occasion there is always concern until the usb stick light starts flashing! So ordinary users like me would definitely welcome a safe wrapper.
Would the small shellscript 'mkusb-min' serve the purpose as a safe wrapper for you, or would you need a tool with more bells and whistles like the mkusb package (but re-packed for Debian)?
You can compare them (without installing or using them) by looking at the following links,
Offline
@sudodus
Excellent documentation, very impressed, will try out when I have a few moments.
Thank you.
volvox.biz a very tedious daily account of life during covid,
Offline
Maybe I can help with packaging? I was able to build on a Stretch platform by changing it from a native package to a "3.0 quilt" outside source format. (debian/source/format) Native packages aren't supposed to have that final "-1" in the version, since changes should be reflected in a boost to the actual revision number. But this shouldn't be a native package anyway, since it's not a product of Ubuntu or Debian developers, like dpkg or apt.
Formatting, as in debian/control:
Text lines, as in package lists or descriptions, should be 80 chars or less. Package lists, such as dependencies, ignore whitespaces, tabs, or returns,(except the space at the start of each newline) which allows neat freaks to put them in alphabetically-ordered colummns. Though not an issue here, long commands in the rules files can be split with the uses of the "\" escape character. A good example is in the Debian ffmpeg rules file, where a long string of config options is in a column.
Dependencies: Have the lowest common denominator, such as the mkusb-nox package, depend on the system packages such as parted. Then any higher level package will get them if they depend on the -nox package. Then the gui package just needs to depend on mkusb-nox plus whatever else the GUI needs to display.
Last edited by stevep (2017-12-22 23:14:55)
Offline
I was able to build on a Stretch platform by changing it from a native package to a "3.0 quilt" outside source format
Thanks Steve!
With that change applied, all of my jessie & stretch packages now seem to build
EDIT: spoke too soon
Do I need a special version of quilt or something?
Last edited by Head_on_a_Stick (2017-12-22 23:52:37)
Offline
Maybe I can help with packaging? I was able to build on a Stretch platform by changing it from a native package to a "3.0 quilt" outside source format. (debian/source/format) Native packages aren't supposed to have that final "-1" in the version, since changes should be reflected in a boost to the actual revision number. But this shouldn't be a native package anyway, since it's not a product of Ubuntu or Debian developers, like dpkg or apt.
Formatting, as in debian/control:
Text lines, as in package lists or descriptions, should be 80 chars or less. Package lists, such as dependencies, ignore whitespaces, tabs, or returns,(except the space at the start of each newline) which allows neat freaks to put them in alphabetically-ordered colummns. Though not an issue here, long commands in the rules files can be split with the uses of the "\" escape character. A good example is in the Debian ffmpeg rules file, where a long string of config options is in a column.Dependencies: Have the lowest common denominator, such as the mkusb-nox package, depend on the system packages such as parted. Then any higher level package will get them if they depend on the -nox package. Then the gui package just needs to depend on mkusb-nox plus whatever else the GUI needs to display.
Please tell me (with as many details as possible), what you need from me. (I was helped to make and manage a Launchpad PPA, but packaging for Debian is unknown territory for me.)
Offline
bump
Offline
bump
I already posted a guide from fdn that @stevep wrote, here it is again:
http://forums.debian.net/viewtopic.php?f=16&t=130057
That should have all the information you need, post back if you have any specific questions, thanks!
Offline
A new mkusb minimal shellscript - 'mkusb-min' is described at the following link,
help.ubuntu.com/community/mkusb/min
mkusb-min is simple, the shellscript is very small compared to the other versions of mkusb, yet it serves the purpose to wrap a safety belt around 'dd'.
I think it will be an alternative according to the policy of bunsenlabs (to avoid installing things that do not belong to bunsenlabs or Debian). mkusb-min works as it is without any particular installation. You can read it in a text editor and understand what it is doing.
See also post #20 (with some more details).
-o-
I really think, that 'mkusb-min' is a good alternative for bunsenlabs and Debian. It is easier for you to rely on and easier for me to maintain (compared to the full mkusb, that is now available from Launchpad, and could be ported to Debian).
Offline