您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

gensdsk 1022B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. #
  3. # Generate a syslinux floppy that loads a gPXE image
  4. #
  5. # gensdsk foo.sdsk foo.lkrn
  6. #
  7. # the floppy image is the first argument
  8. # followed by list of .lkrn images
  9. #
  10. case $# in
  11. 0|1)
  12. echo Usage: $0 foo.sdsk foo.lkrn ...
  13. exit 1
  14. ;;
  15. esac
  16. case "`mtools -V`" in
  17. Mtools\ version\ 3.9.9*|Mtools\ version\ 3.9.1[0-9]*|Mtools\ version\ 4.*)
  18. ;;
  19. *)
  20. echo Mtools version 3.9.9 or later is required
  21. exit 1
  22. ;;
  23. esac
  24. img=$1
  25. shift
  26. dir=bin/sdsk.dir
  27. mkdir -p $dir
  28. mformat -f 1440 -C -i $img ::
  29. cfg=bin/syslinux.cfg
  30. cat > $cfg <<EOF
  31. # These default options can be changed in the gensdsk script
  32. TIMEOUT 30
  33. EOF
  34. first=
  35. for f
  36. do
  37. if [ ! -r $f ]
  38. then
  39. echo $f does not exist, skipping 1>&2
  40. continue
  41. fi
  42. # shorten name for 8.3 filesystem
  43. b=$(basename $f)
  44. g=${b%.lkrn}
  45. g=${g//[^a-z0-9]}
  46. g=${g:0:8}.krn
  47. case "$first" in
  48. "")
  49. echo DEFAULT $g
  50. ;;
  51. esac
  52. first=$g
  53. echo LABEL $b
  54. echo "" KERNEL $g
  55. mcopy -m -i $img $f ::$g
  56. done >> $cfg
  57. mcopy -i $img $cfg ::syslinux.cfg
  58. if ! syslinux $img
  59. then
  60. exit 1
  61. fi
  62. rm -fr $dir