-
Senior Member
registered user
You can find a file called KNOPPIX-CHEATCODES.TXT in the KNOPPIX directory of the Knoppix V6.2 CD. It has an interesting section
If you place an update*.zip or update*tar.gz file on the medium holding
the KNOPPIX data, it will be unpacked onto the overlayed filesystem
before starting "init", thus allowing quick reconfiguration of the
system.
I think you should save your customizations in a file update01.tar.gz using the tar program and place that file in the KNOPPIX directory before you burn your new DVD.
-
Originally Posted by
klaus2008
You can find a file called KNOPPIX-CHEATCODES.TXT in the KNOPPIX directory of the Knoppix V6.2 CD. It has an interesting section
I think you should save your customizations in a file update01.tar.gz using the tar program and place that file in the KNOPPIX directory before you burn your new DVD.
thanks! that looks like an excellent approach, and one that i missed while reading the init script.
as i reported on the thread http://www.knoppix.net/forum/threads...nt-disk-images i have been successful now with this approach using the knoppix-data.img data files (after mounting the image and "tarring" the contents), but only after removing the "dot-wh-dot" entries first. apparently this approach to the dot-wh-dot entries is not the best way forward however (see above mentioned thread).
while tinkering with this myself i came up with a different approach, which has some benefits and some drawbacks as compared to the "update*.tar.gz" approach:
one drawback to my approach is that it requires a hacked init script (inside minirt.gz).
but once this is in place, the knoppix-data.img files can be used on read-only media without modification.
i have done only basic testing of this patch, but so far it seems to work as prescribed. perhaps someone more knowledgeable will see some problems i have missed. but in case it seems useful to anyone, here are the modifications i made:
sincerely,
proctor
Code:
--- arst/init 2010-10-26 04:09:31.568928798 +0000
+++ initramfs/init 2010-10-26 15:35:05.007733846 +0000
@@ -571,15 +571,19 @@ createdata(){
return 1
}
+IS_DATA_MEDIUM_WRITEABLE="ro"
+
mountdata(){
- local img base ext m mods found=""
+ local img base ext m mods found="" IS_DATA_MEDIUM_WRITEABLE_MASK="555"
for base in /mnt-system/"$knoppix_dir"/knoppix-data /mnt-system/knoppix; do
for ext in aes img; do
img="$base.$ext"
[ -r "$img" ] || continue
+ IS_DATA_MEDIUM_WRITEABLE="ro"
+ stat -c %A "${img}" | grep -iE 'w' > /dev/null && IS_DATA_MEDIUM_WRITEABLE="rw" && IS_DATA_MEDIUM_WRITEABLE_MASK="755"
message -e "\r${CRE}${GREEN}${USING} ${YELLOW}$img${NORMAL}"
[ -b /dev/loop0 ] || mknod -m 755 /dev/loop0 b 7 0
- [ -d /KNOPPIX-DATA ] || mkdir -m 755 /KNOPPIX-DATA
+ [ -d /KNOPPIX-DATA ] || mkdir -m "${IS_DATA_MEDIUM_WRITEABLE_MASK}" /KNOPPIX-DATA
found="true"
case "$ext" in
aes)
@@ -595,8 +599,8 @@ mountdata(){
[ "$try" -gt 1 ] && echo -n "${CYAN}(#$try/3) "
if runknoppixlib /sbin/losetup -e aes -k 256 /dev/loop0 "$img"; then
echo -n "$NORMAL"
- runknoppixlib /sbin/e2fsck -y /dev/loop0 >/dev/null 2>&1
- mount -t ext2 -o rw /dev/loop0 /KNOPPIX-DATA && return 0
+ [[ "${IS_DATA_MEDIUM_WRITEABLE}" == "rw" ]] && runknoppixlib /sbin/e2fsck -y "$img" >/dev/null 2>&1
+ mount -t ext2 -o "${IS_DATA_MEDIUM_WRITEABLE}" /dev/loop0 /KNOPPIX-DATA && return 0
fi
echo -n "$NORMAL"
losetup -d /dev/loop0 >/dev/null 2>&1
@@ -604,8 +608,8 @@ mountdata(){
done
;;
*)
- runknoppixlib /sbin/e2fsck -y "$img" >/dev/null 2>&1
- mount -t ext2 -o loop,rw "$img" /KNOPPIX-DATA && return 0
+ [[ "${IS_DATA_MEDIUM_WRITEABLE}" == "rw" ]] && runknoppixlib /sbin/e2fsck -y "$img" >/dev/null 2>&1
+ mount -t ext2 -o loop,"${IS_DATA_MEDIUM_WRITEABLE}" "$img" /KNOPPIX-DATA && return 0
losetup -d /dev/loop0 >/dev/null 2>&1
;;
esac
@@ -647,11 +651,17 @@ mountknoppix(){
}
mountunion(){
- local dir tree=""
+ local dir tree="" media writeable
for dir in /KNOPPIX /KNOPPIX[0-7]; do
[ -d "$dir" ] && tree="$dir=ro${tree:+:$tree}"
done
- mount -t aufs -o "br:$1=rw:$tree,noplink" unionfs /UNIONFS
+ for media in "${@}"
+ do
+ writeable="ro"
+ mount | grep -iE "${media}.*\(rw," > /dev/null && writeable="rw"
+ [[ -d "${media}" ]] && tree="$media=$writeable${tree:+:$tree}"
+ done
+ mount -t aufs -o "br:$tree,noplink" unionfs /UNIONFS
return $?
}
@@ -659,7 +669,12 @@ if mountknoppix; then # compressed
checkbootparam "debug" && debugshell "Past mounting /KNOPPIX."
if ! checkbootparam "noimage" && mountdata; then
checkbootparam "debug" && debugshell "Past mounting /KNOPPIX-DATA."
- mountunion /KNOPPIX-DATA
+ if [[ "${IS_DATA_MEDIUM_WRITEABLE}" == "ro" ]]
+ then
+ mountunion /KNOPPIX-DATA /ramdisk ### make sure the writeable branch is last argument for aufs filo tree construction (see function mountunion)
+ else
+ mountunion /KNOPPIX-DATA
+ fi
else
mountunion /ramdisk
fi
-
Originally Posted by
proctor
i have done only basic testing of this patch, but so far it seems to work as prescribed. perhaps someone more knowledgeable will see some problems i have missed. but in case it seems useful to anyone, here are the modifications i made:
i should also mention that the above patch is for the 6.2.1 init script
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
Gigabyte AMD B550 UD AC Gaming Motherboard - AMD B550 Chipset - AM4 Socket - AMD
$79.99
ASUS H110M-R Motherboard Intel 6th/7th Gen LGA1151 DDR4 Micro-ATX i/o shield
$42.00
ASUS Prime B250M-C LGA1151 DDR4 Desktop Motherboard USB 3.0 w/ I/O Shield
$39.99
Asrock Z390 Phantom Gaming 4S/AC Wifi 8th/9th Gen Intel 1151 Motherboard Bulk
$41.16
ASUS P8B75-M/CSM Desktop Motherboard Intel Socket LGA1155 DDR3 w/ IO
$29.99
MSI PRO B650-P WiFi AMD AM5 DDR5 WiFi 6E ProSeries Motherboard
$80.71
MSI A320M-A Pro mATX AM4 Motherboard (Ryzen 1000-5000 Ready)
$49.99
ASUS Prime Z390-A LGA 1151 Intel Z390 SATA USB 3.1 ATX Motherboard NO I/O
$99.00
Dell Inspiron 3593 Motherboard Core i3 1.2GHz Dual Core Intel Graphics UMA 3DD3K
$68.40
MSI MPG X570S Carbon EK X Gaming Motherboard (ATX, AMD, Socket AM4. DDR4, PCIe
$502.62