Date: Tue, 12 Oct 2004 23:15:12 -0400 From: Matt Juszczak <matt@atopia.net> To: freebsd-questions@freebsd.org, Matt Juszczak <matt@atopia.net> Subject: m0n0wall not booting after switch to mdconfig Message-ID: <416C9DC0.9030800@atopia.net>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------050104080109040805090209 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hello, As of yesterday I stopped using m0n0image by Michael I and took most of the commands from m0n0image and the hackers guide, along with the FreeBSD handbook, and tried to write a new shell script that worked with mdconfig. The shell script works great. It can successfully "decompress" an image and "recompress" an image without any errors. However, whenever I boot from an image that the shell script creates, it doesn't load. The boot up process stops at the kernel loading and it says it can't find kernel or kernel.old. I'm pretty sure I'm doing everything right. Maybe there's one mistake I'm completely missing. Could someone please look at it and let me know? Shell script is attached. Thanks, Matt --------------050104080109040805090209 Content-Type: text/plain; name="label.proto" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="label.proto" # /dev/md0c: type: unknown disk: amnesiac label: flags: bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 5 sectors/unit: 12288 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 12288 0 4.2BSD 1024 8192 26 # (Cyl. 0 - 4) c: 12288 0 unused 0 0 # (Cyl. 0 - 4) --------------050104080109040805090209 Content-Type: text/plain; name="script.sh" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="script.sh" #!/usr/local/bin/bash printf "Image Generator/Decompressor\n\n" ls -al | grep "\.img" | grep -v " \." ls -al | grep "drwx" | grep -v " \." printf "\n(G)enerate an image or (D)ecompress one?: " read REQUEST if [ "$REQUEST" = "d" ] then printf "Source Name (without extension): " read image printf "Output Directory: " read image_dir if [ \( -f $image.img -a $image_dir \) ] then printf "Decompressing $image ... 0%%\b\b" mkdir $image_dir mkdir $image_dir/fs mkdir $image_dir/kern printf "10%%\b\b\b" mv $image.img $image.bin.gz gzip -d $image.bin.gz printf "20%%\b\b\b" mdconfig -a -t vnode -f $image.bin -u 0 mount /dev/md0a /mnt printf "30%%\b\b\b" cp -p /mnt/kernel.gz $image_dir/kern/ printf "35%%\b\b\b" cp -p /mnt/mfsroot.gz $image_dir printf "40%%\b\b\b" cp -Rp /mnt/boot $image_dir/boot printf "45%%\b\b\b" cp -Rp /mnt/conf $image_dir/conf printf "50%%\b\b\b" umount /mnt mdconfig -d -u 0 printf "60%%\b\b\b" gzip -9 $image.bin mv $image.bin.gz $image.img printf "70%%\b\b\b" gzip -d $image_dir/mfsroot.gz printf "80%%\b\b\b" mdconfig -a -t vnode -f $image_dir/mfsroot -u 0 mount /dev/md0c /mnt cp -Rp /mnt/* $image_dir/fs printf "90%%\b\b\b" umount /mnt mdconfig -d -u 0 rm $image_dir/mfsroot printf "100%%" fi elif [ "$REQUEST" = "g" ] then printf "Output Name (without extension): " read outfile printf "Source Directory: " read directory if [ \( -d $directory -a -n $outfile \) ] then printf "Compressing $directory ... 0%%\b\b" mkdir tmp dd if=/dev/zero of=tmp/mfsroot.bin bs=1k count=12288 > /dev/null 2>&1 printf "10%%\b\b\b" mdconfig -a -t vnode -f tmp/mfsroot.bin -u 0 disklabel -r -w md0 auto newfs -b 8192 -f 1024 /dev/md0c > /dev/null 2>&1 printf "20%%\b\b\b" mount /dev/md0c /mnt cp -Rp $directory/fs/* /mnt umount /mnt printf "30%%\b\b\b" mdconfig -d -u 0 gzip -9 tmp/mfsroot.bin printf "40%%\b\b\b" mv tmp/mfsroot.bin.gz tmp/mfsroot.gz dd if=/dev/zero of=tmp/$directory.bin bs=1k count=6144 > /dev/null 2>&1 mdconfig -a -t vnode -f tmp/$directory.bin -u 0 printf "50%%\b\b\b" disklabel -BR md0 label.proto newfs -b 8192 -f 1024 /dev/md0a > /dev/null 2>&1 mount /dev/md0a /mnt printf "60%%\b\b\b" cp -Rp $directory/boot /mnt cp -Rp $directory/conf /mnt printf "70%%\b\b\b" cp -p tmp/mfsroot.gz $directory/kern/kernel.gz /mnt umount /mnt printf "80%%\b\b\b" mdconfig -d -u 0 gzip -9 tmp/$directory.bin printf "90%%\b\b\b" mv tmp/$directory.bin.gz $outfile.img rm -rf tmp printf "100%%"; fi else printf "You must choose G or D" printf fi echo --------------050104080109040805090209--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?416C9DC0.9030800>