无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5022|回复: 11
打印 上一主题 下一主题

GEEXBOX 无法加载USB的声卡驱动

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-5 14:11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在XP或WIN7下都是免驱的,要怎么在GEEXBOX下装驱动啊?

怎么办?

求助了。
2#
 楼主| 发表于 2011-12-5 21:10:36 | 只看该作者
怎么办啊。。。啊。。。
回复

使用道具 举报

3#
发表于 2011-12-5 21:36:54 | 只看该作者
改输出就OK了,每个设置都测试下,总有一款适合你
回复

使用道具 举报

4#
 楼主| 发表于 2011-12-5 23:18:42 | 只看该作者

回复 #3 rockrock99 的帖子

在哪里设置啊。要怎么弄。有方法 吗?
回复

使用道具 举报

5#
发表于 2011-12-5 23:28:48 | 只看该作者
自己研究一下启动时的搜索代码,也许能找到方法?

  1. #!/bin/sh

  2. dbg_echo () {
  3.   [ "$QUIET" = yes ] || echo $*
  4.   return
  5. }

  6. # install busybox symlinks
  7. /bin/busybox --install -s

  8. export PATH=/sbin:/bin

  9. # mount required filesystems
  10. busybox mount -t proc none /proc
  11. busybox mount -t sysfs none /sys

  12. # prepare /dev
  13. mount -t devtmpfs devtmpfs /dev
  14. echo '/bin/mdev' > /proc/sys/kernel/hotplug
  15. mdev -s

  16. # splash
  17. /bin/ply-image /plymouth/splash.png

  18. # parse kernel cmdline
  19. for arg in $(cat /proc/cmdline); do
  20.   case $arg in
  21.     root=*)
  22.       ROOT="${arg#root=}"
  23.       ;;
  24.     data=*)
  25.       DATA="${arg#data=}"
  26.       ;;
  27.     init=*)
  28.       INIT="${arg#init=}"
  29.       ;;
  30.     quiet)
  31.       QUIET=yes
  32.       ;;
  33.     persistent)
  34.       PERSISTENT=yes
  35.       ;;
  36.     initshell)
  37.       echo "Dropping to shell as requested"
  38.       exec sh
  39.       ;;
  40.   esac
  41. done

  42. # try to mount the rootfs specified in cmdline...
  43. if [ -n "$ROOT" ]; then
  44.   dbg_echo -n "Trying root=$ROOT as requested..."
  45.   if mount -o ro $ROOT /mnt >/dev/null 2>&1; then
  46.     if mount -t squashfs /mnt/rootfs /squashfs >/dev/null 2>&1; then
  47.       dbg_echo "found."
  48.     else
  49.       dbg_echo "failed, cannot mount squashfs."
  50.       umount /mnt
  51.       unset ROOT
  52.     fi
  53.   else
  54.     dbg_echo "failed, cannot mount device."
  55.     unset ROOT
  56.   fi
  57. fi

  58. # ...otherwise just scan the block devices for rootfs
  59. if [ -z "$ROOT" ]; then
  60.   dbg_echo "Scanning for root device:"
  61.   cd /sys/block
  62.   for i in 0 1 2 3 4 5 6 7 8 9; do
  63.     for dev in *; do
  64.       echo $dev | grep -q loop && continue
  65.       echo $dev | grep -q ram && continue
  66.       dbg_echo -n "[$i] Trying $dev..."
  67.       if ! mount -o ro /dev/$dev /mnt >/dev/null 2>&1; then
  68.         # check for removable devices not built with isohybrid support
  69.         if [ $(cat /sys/block/$dev/removable) = 1 ]; then
  70.           dbg_echo -n "[$i] Trying ${dev}1..."
  71.           if ! mount -o rw /dev/${dev}1 /mnt >/dev/null 2>&1; then
  72.             dbg_echo "failed, cannot mount device."
  73.             continue
  74.           fi
  75.         else
  76.           dbg_echo "failed, cannot mount device."
  77.           continue
  78.         fi
  79.       fi
  80.       if mount -t squashfs /mnt/rootfs /squashfs >/dev/null 2>&1; then
  81.         dbg_echo "found."
  82.         FOUND_ROOTFS=yes
  83.         break
  84.       else
  85.         dbg_echo "failed, cannot mount squashfs."
  86.         umount /mnt
  87.       fi
  88.     done
  89.     [ -n "$FOUND_ROOTFS" ] && break
  90.     sleep 1
  91.   done
  92.   cd /
  93. fi

  94. [ -z "$INIT" ] && INIT=/bin/systemd

  95. if [ ! -x /squashfs/$INIT ]; then
  96.     echo "Cannot find a valid root filesystem, dropping to shell"
  97.     exec sh
  98. fi

  99. # setup aufs
  100. if [ "$PERSISTENT" = yes ]; then
  101.    DATA=/mnt/casper-rw
  102.    PERSISTENT_OPT="-o loop -t ext2"
  103.    [ ! -f "$DATA" ] && unset DATA && unset PERSISTENT_OPT
  104. fi
  105. if [ -n "$DATA" ]; then
  106.   if ! mount $PERSISTENT_OPT -o rw,noatime $DATA /rw; then
  107.     echo "Cannot mount data partition, using tmpfs instead"
  108.     unset DATA
  109.   fi
  110. fi
  111. [ -z "$DATA" ] && mount -t tmpfs none /rw
  112. if ! mount -t aufs -o br=/rw:/squashfs none /newroot; then
  113.   echo "Cannot mount aufs, dropping to shell"
  114.   exec sh
  115. fi

  116. # move backed filesystems inside newroot otherwise aufs won't work properly
  117. mkdir -p /newroot/run
  118. mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /newroot/run
  119. mkdir -p /newroot/.data /newroot/.squashfs /newroot/.root
  120. mount --move /rw /newroot/.data
  121. mount --move /squashfs /newroot/.squashfs
  122. mount --move /mnt /newroot/.root
  123. mkdir -p /newroot/run/initramfs/bin /newroot/run/initramfs/sbin
  124. cp -P /bin/busybox /bin/sh /newroot/run/initramfs/bin/
  125. cp -P /bin/shutdown /newroot/run/initramfs/

  126. INIT_ARGS=`cat /proc/cmdline`

  127. # Reset kernel hotplugging
  128. echo "" > /proc/sys/kernel/hotplug
  129. umount /sys
  130. umount /dev
  131. umount /proc

  132. # Change to the new root partition and execute /sbin/init
  133. if ! exec /bin/busybox switch_root /newroot $INIT $INIT_ARGS; then
  134.   echo "Failed, dropping to shell"
  135.   /bin/busybox mount -t proc none /proc
  136.   /bin/busybox mount -t sysfs none /sys
  137.   exec sh
  138. fi
复制代码
回复

使用道具 举报

6#
 楼主| 发表于 2011-12-6 09:02:37 | 只看该作者

回复 #5 我是神仙 的帖子

看了半天没研究出来什么啊。郁闷。实力不够。
回复

使用道具 举报

7#
发表于 2011-12-7 00:31:56 | 只看该作者

回复 #4 znlive 的帖子

系统的设置里面,或在播放的时候也有地方可以更改设置
回复

使用道具 举报

8#
发表于 2011-12-7 08:09:34 | 只看该作者
# prepare /dev
mount -t devtmpfs devtmpfs /dev
echo '/bin/mdev' > /proc/sys/kernel/hotplug
mdev -s

这个是创建设备?
回复

使用道具 举报

9#
发表于 2011-12-7 22:03:26 | 只看该作者
# parse kernel cmdline
for arg in $(cat /proc/cmdline); do
  case $arg in
    root=*)
      ROOT="${arg#root=}"
      ;;
    data=*)
      DATA="${arg#data=}"
      ;;
    init=*)
      INIT="${arg#init=}"
      ;;
    quiet)
      QUIET=yes
      ;;
    persistent)
      PERSISTENT=yes
      ;;
    initshell)
      echo "Dropping to shell as requested"
      exec sh
      ;;
  esac
done

看来在启动时加参数 initshell 就可以直接进命令行模式?
PERSISTENT那个参数好像也检测得很简单,不能改位置。好像后面有个新的可以改casper-rw位置的initrd?

geexbox在initrd启动时没有NTFS驱动,访问不了NTFS的磁盘,所有不能放在ntfs盘。在后面加载了rootfs后才有了NTFS驱动,启动完了后倒是又可以访问NTFS盘上的资源了

那个CDLinux倒是把NTFS驱动也打包进initrd了,大得多。geexbox的initrd才500K,CDLinux的initrd是8M,一堆的驱动。
不知道能不能把CDLinux和GeexBox组合起来,用CDLinux的initrd 加上 GeexBox的 rootfs ? 这个完全搞不懂,只是猜想
回复

使用道具 举报

10#
发表于 2011-12-8 19:55:40 | 只看该作者
转帖一个修改版的initrd,替换为这个脚本后
GeexBox2.0就支持中文或从NTFS启动,好强大的脚本(其实就是windows中的批处理)
自己能写出这个脚本说明这位大侠已经可以自己做一个GeexBox了

--------------

原创文章,转载请注明: 转载自下雨天
本文链接地址:
http://rain.orgfree.com/2011/11/23/geexbox2-0硬盘启动支持NTFS和ISO

  1. #!/bin/sh








  2. dbg_echo () {


  3.   [ -z "$DEBUG_FLAG" ] || echo "$*" >>/${DEBUG_TXT}


  4.   [ "$QUIET" = yes ] || echo $*


  5.   return


  6. }





  7. prase_from() {


  8.     [ -z "$FROM" ] && return


  9.     FROM_TYPE=${FROM%%:*}


  10.     FROM=${FROM#*:}


  11.     FROM_DEV=${FROM%%:*}


  12.     FROM_BASIC=${FROM##*:}





  13.     if [ "$FROM_TYPE" != "ISO" -a "$FROM_TYPE" != "DIR" ];then


  14.         dbg_echo "FROM_TYPE=$FROM_TYPE is unknown,Dropping to shell"


  15.         exec sh


  16.     fi





  17.     if [ ! -b "${FROM_DEV}" ];then


  18.         dbg_echo "dev=${FROM_DEV} no exsit,Dropping to shell"


  19.         exec sh


  20.     fi


  21. }





  22. #mount block dev


  23. mount_dev() {


  24.     device_mnt=$1


  25.     dest=$2


  26.     shift 2


  27.     if [ ! -b "${device_mnt}" ]; then


  28.         return 2


  29.     fi


  30.     #echo "string=mount_cmd  -o $* ${device_mnt} ${dest}"


  31.     if mount  -o $* "${device_mnt}" "${dest}" >/dev/null 2>&1; then


  32.         return 0


  33.     else


  34.         if ntfs-3g -o $* "${device_mnt}" "${dest}" >/dev/null 2>&1; then


  35.             return 0


  36.         fi


  37.         return 1


  38.     fi


  39. }








  40. # install busybox symlinks


  41. /bin/busybox --install -s





  42. export PATH=/sbin:/bin





  43. # mount required filesystems


  44. busybox mount -t proc none /proc


  45. busybox mount -t sysfs none /sys





  46. # prepare /dev


  47. mount -t devtmpfs devtmpfs /dev


  48. echo '/bin/mdev' > /proc/sys/kernel/hotplug


  49. mdev -s





  50. # splash


  51. /bin/ply-image /plymouth/splash.png





  52. # parse kernel cmdline


  53. for arg in $(cat /proc/cmdline); do


  54.   case $arg in


  55.       from=*)


  56.       FROM="${arg#from=}"


  57.       FROM_FLAG="yes"


  58.       ;;


  59.     root=*)


  60.       ROOT="${arg#root=}"


  61.       ;;


  62.     rootfs=*)


  63.       ROOTFS="${arg#rootfs=}"


  64.       ;;


  65.     data=*)


  66.       DATA="${arg#data=}"


  67.       ;;


  68.     init=*)


  69.       INIT="${arg#init=}"


  70.       ;;


  71.     quiet)


  72.       QUIET=yes


  73.       ;;


  74.     persistent*)


  75.       PERSISTENT="${arg#persistent=}"


  76.       [ -z "$PERSISTENT" ] && PERSISTENT=casper-rw


  77.       [ "$PERSISTENT" = persistent ] && PERSISTENT="/casper-rw"


  78.       ;;


  79.     nocache)


  80.       NOCACHE=yes


  81.       ;;


  82.     ro|rootro)


  83.       ROOT_MODE=ro


  84.       ROOT_MODE_PART=ro


  85.       ;;


  86.     rw|rootrw)


  87.       ROOT_MODE=rw


  88.       ROOT_MODE_PART=rw


  89.       ;;


  90.     nfsroot=*)


  91.       NFSROOT="${arg#nfsroot=}"


  92.       ;;


  93.     ip=*)


  94.     IP="${arg#ip=}"


  95.       ;;


  96.     initshell)


  97.       echo "Dropping to shell as requested"


  98.       exec sh


  99.       ;;


  100.     debug)


  101.     DEBUG_FLAG="yes"


  102.     DEBUG_TXT="initrd.log"


  103.       ;;


  104.   esac


  105. done





  106. # prase FROM parameter


  107. prase_from





  108. # if rootro, always mount root as r/o


  109. # if rootrw, always mount root as r/w


  110. # if neither, mount root as r/w only if persistent is enabled and we're


  111. # mounting a partition (not a disk); otherwise, mount root as r/o


  112. if [ -z "$ROOT_MODE" ]; then


  113.   ROOT_MODE=ro


  114.   if [ -n "$PERSISTENT" ]; then


  115.     ROOT_MODE_PART=rw


  116.   else


  117.     ROOT_MODE_PART=ro


  118.   fi


  119. fi





  120. #try to from iso or dir


  121. if [ -n "$FROM_FLAG" ]; then


  122.     mkdir -p /.partition


  123.     mkdir -p /.cache


  124. #        if mount -o ro "$FROM_DEV" /.partition >/dev/null 2>&1; then


  125.     if mount_dev "$FROM_DEV" /.partition $ROOT_MODE_PART; then


  126.         echo -e "\033[36;1mmount FROM_DEV=$FROM_DEV sucess\033[0m"


  127.         dbg_echo "mount FROM_DEV=$FROM_DEV sucess"


  128.         case $FROM_TYPE in


  129.             ISO)   


  130.             mkdir -p /.temp


  131.             


  132.             if mount -o loop,ro /.partition/$FROM_BASIC /.temp >/dev/null 2>&1; then


  133.                 if ! mount -t tmpfs tmpfs /.cache >/dev/null 2>&1; then


  134.                     dbg_echo "get tmpfs failed"


  135.                     exec sh


  136.                 fi


  137.                 cp /.temp/rootfs /.cache/rootfs


  138.                 if ! mount --move /.cache /mnt >/dev/null 2>&1; then


  139.                     dbg_echo "ISO deal failed: mount --move"


  140.                     exec sh


  141.                 fi


  142.                 umount /.temp


  143.                 umount /.partition


  144.                 echo -e "\033[36;1mmount FROM_BASIC=$FROM_BASIC sucess\033[0m"


  145.                 dbg_echo "mount FROM_BASIC=$FROM_BASIC sucess"


  146.                 if mount -t squashfs /mnt/rootfs /squashfs >/dev/null 2>&1; then


  147.                         dbg_echo "found."


  148.                         FOUND_ROOTFS=yes


  149.                 else


  150.                     dbg_echo "failed, cannot mount squashfs."


  151.                         umount /mnt


  152.                     umount /.partition


  153.                    fi                    


  154.             else


  155.                 echo -e "\033[31;1mmount FROM_BASIC=$FROM_BASIC failed\033[0m"


  156.                 dbg_echo "mount FROM_BASIC=$FROM_BASIC failed"


  157.                 umount /.partition   


  158.                 exec sh


  159.             fi


  160.             ;;


  161.             DIR)


  162.                 if [ -z "$PERSISTENT" ] ; then


  163.                     mount -t tmpfs tmpfs /.cache                    


  164.                     cp /.partition/${FROM_BASIC}/rootfs /.cache/rootfs


  165.                     mount --move /.cache /mnt


  166.                     ROOTFS=/mnt/rootfs


  167.                     umount /.partition


  168.                 else


  169.                     ROOTFS=/.partition/${FROM_BASIC}/rootfs


  170.                 fi


  171.             


  172.                 if mount -t squashfs $ROOTFS /squashfs >/dev/null 2>&1; then


  173.                         dbg_echo "found."


  174.                         FOUND_ROOTFS=yes


  175.                 else


  176.                     dbg_echo "failed, cannot mount squashfs."


  177.                     umount /.partition


  178.                    fi





  179.                   





  180.             ;;


  181.         esac


  182.     else


  183.         echo -e "\033[31;1mmount FROM_DEV=$FROM_DEV failed\033[0m"


  184.         deg_echo "mount FROM_DEV=$FROM_DEV failed"


  185.         exec sh


  186.     fi


  187. fi








  188. # try to mount the rootfs specified in cmdline ... and wait for slow device


  189. [ -z "$ROOT" -a "$ROOTFS" = flat ] && ROOTFS="/rootfs"


  190. [ -z "$ROOTFS" ] && ROOTFS="/rootfs"


  191. if [ -z "$FROM_FLAG" -a -n "$ROOT" ]; then


  192.   COUNT="0 1 2 3 4 5 6 7 8 9"


  193.   for i in $COUNT; do


  194.     dbg_echo -n "[$i] Trying root=$ROOT as requested..."


  195. #    if mount -o $ROOT_MODE $ROOT /mnt >/dev/null 2>&1; then


  196.     if mount_dev $ROOT /mnt $ROOT_MODE; then   


  197.       if [ "$ROOTFS" = flat ]; then


  198.         dbg_echo "found."


  199.         FOUND_ROOTFS=yes


  200.         break


  201.       elif mount -t squashfs /mnt/$ROOTFS /squashfs >/dev/null 2>&1; then


  202.         dbg_echo "found."


  203.         FOUND_ROOTFS=yes


  204.         break


  205.       else


  206.         dbg_echo "failed, cannot mount squashfs."


  207.         umount /mnt


  208.       fi


  209.     else


  210.       dbg_echo "failed, cannot mount device."


  211.     fi


  212.     sleep 1


  213.   done


  214.   [ -n "$FOUND_ROOTFS" ] || unset ROOT


  215.   unset FOUND_ROOTFS


  216. fi





  217. if [ -z "$FROM_FLAG" -a -n "$NFSROOT" ] ; then


  218.   dbg_echo -n "Trying nfsroot=$NFSROOT as requested..."


  219.   ROOT=/mnt


  220.   if [ -z "$IP" ] ; then


  221.     ifconfig eth0 up >/dev/null 2>&1


  222.     udhcpc -s /bin/assign-ip >/dev/null 2>&1


  223.   fi


  224.   if mount -o nolock,$ROOT_MODE_PART $NFSROOT /mnt >/dev/null 2>&1; then


  225.     if mount -t squashfs /mnt/rootfs /squashfs >/dev/null 2>&1; then


  226.       dbg_echo "found."


  227.       FOUND_ROOTFS=yes


  228.     else


  229.       dbg_echo -n "failed, cannot mount squashfs."


  230.       umount /mnt


  231.     fi


  232.   else


  233.     dbg_echo -n "failed, cannot mount $NFSROOT."


  234.   fi


  235.   [ -n "$FOUND_ROOTFS" ] || unset ROOT


  236.   unset FOUND_ROOTFS


  237. fi





  238. # ...otherwise just scan the block devices for rootfs


  239. if [ -z "$FROM_FLAG" -a -z "$ROOT" ]; then


  240.   dbg_echo "Scanning for root device:"


  241.   cd /sys/block


  242.   for i in 0 1 2 3 4 5 6 7 8 9; do


  243.     for dev in *; do


  244.       echo $dev | grep -q loop && continue


  245.       echo $dev | grep -q ram && continue


  246.       dbg_echo -n "[$i] Trying $dev..."


  247. #      if mount -o $ROOT_MODE /dev/$dev /mnt >/dev/null 2>&1; then


  248.       if mount_dev /dev/$dev /mnt $ROOT_MODE; then


  249.         ROOT_DEV=$dev


  250.         if [ `cat /sys/block/$ROOT_DEV/device/type` -eq 5 ]; then


  251.           ROOT_TYPE=cdrom


  252.         else


  253.           ROOT_TYPE=disk


  254.         fi


  255.       else


  256. ########################################


  257.     for dev_part in `ls $dev | grep $dev`; do


  258.         dbg_echo -n "[$i] Trying ${dev_part}..."


  259. #        if ! mount -o $ROOT_MODE_PART /dev/${dev_part} /mnt >/dev/null 2>&1; then


  260.         if ! mount_dev /dev/${dev_part} /mnt $ROOT_MODE_PART; then


  261.             dbg_echo "failed, cannot mount device."


  262.         else


  263.             if mount -t squashfs /mnt/$ROOTFS /squashfs >/dev/null 2>&1; then


  264.                     dbg_echo "found."


  265.                     FOUND_ROOTFS=yes


  266.                 ROOT_DEV=${dev_part}


  267.                 ROOT_TYPE=disk


  268.                     break 2


  269.               else


  270.                   dbg_echo "failed, cannot mount squashfs."


  271.                   umount /mnt


  272.             fi            


  273.         fi


  274.     done





  275. #####################################


  276.       fi


  277.       if [ "$ROOT_TYPE" = cdrom -a -z "$NOCACHE" ]; then


  278.         mkdir /cache


  279.         mount -t tmpfs tmpfs /cache


  280.         cp /mnt/$ROOTFS /cache/rootfs


  281.         ROOTFS=/rootfs


  282.         umount /mnt


  283.         eject -s $ROOT_DEV >/dev/null 2>&1 || eject $ROOT_DEV >/dev/null 2>&1


  284.         mount --move /cache /mnt


  285.       fi


  286.       if mount -t squashfs /mnt/$ROOTFS /squashfs >/dev/null 2>&1; then


  287.         dbg_echo "found."


  288.         FOUND_ROOTFS=yes


  289.         break


  290.       else


  291.         dbg_echo "failed, cannot mount squashfs."


  292.         umount /mnt


  293.       fi


  294.     done


  295.     [ -n "$FOUND_ROOTFS" ] && break


  296.     sleep 1


  297.   done


  298.   cd /


  299. fi





  300. [ -z "$INIT" ] && INIT=/bin/systemd





  301. if [ "$ROOTFS" = flat ]; then


  302.   if [ ! -x /mnt/$INIT ]; then


  303.     echo "Cannot find a valid root filesystem, dropping to shell"


  304.     exec sh


  305.   fi


  306.   mount --move /mnt /newroot


  307. else


  308.   if [ ! -x /squashfs/$INIT ]; then


  309.     echo "Cannot find a valid root filesystem, dropping to shell"


  310.     exec sh


  311.   fi





  312.   # setup aufs


  313.   if [ -n "$PERSISTENT" ]; then   


  314.    DATA=/mnt/$PERSISTENT


  315.    PERSISTENT_OPT="-o loop -t ext2"


  316.    if [ -n "$FROM_FLAG" ];then


  317.     case $FROM_TYPE in


  318.         ISO)


  319.             unset DATA


  320.         ;;


  321.         DIR)


  322.             DATA=/.partition/$FROM_BASIC/casper-rw


  323.         ;;


  324.     esac


  325.    fi


  326.    [ ! -f "$DATA" ] && unset DATA && unset PERSISTENT_OPT


  327.   fi


  328.   


  329.   if [ -n "$DATA" ]; then


  330.     if ! mount $PERSISTENT_OPT -o rw,noatime $DATA /rw; then


  331.       dgb_echo "Cannot mount data partition, using tmpfs instead"


  332.       unset DATA


  333.       exec sh


  334.     fi


  335.   fi


  336.   [ -z "$DATA" ] && mount -t tmpfs none /rw


  337.   if ! mount -t aufs -o br=/rw:/squashfs none /newroot; then


  338.     dbg_echo "Cannot mount aufs, dropping to shell"


  339.     exec sh


  340.   fi





  341.   # move backed filesystems inside newroot otherwise aufs won't work properly


  342.   mkdir -p /newroot/run


  343.   mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /newroot/run


  344.   mkdir -p /newroot/.data /newroot/.squashfs /newroot/.root


  345.   mount --move /rw /newroot/.data


  346.   mount --move /squashfs /newroot/.squashfs


  347.   mount --move /mnt /newroot/.root


  348.   mkdir -p /newroot/run/initramfs/bin /newroot/run/initramfs/sbin


  349.   cp -P /bin/busybox /bin/sh /newroot/run/initramfs/bin/


  350.   cp -P /bin/shutdown /newroot/run/initramfs/


  351. fi





  352. INIT_ARGS=`cat /proc/cmdline`





  353. # Reset kernel hotplugging


  354. echo "" > /proc/sys/kernel/hotplug


  355. umount /sys


  356. umount /dev


  357. umount /proc





  358. # Change to the new root partition and execute /sbin/init


  359. if ! exec /bin/busybox switch_root /newroot $INIT $INIT_ARGS; then


  360.   echo "Failed, dropping to shell"


  361.   /bin/busybox mount -t proc none /proc


  362.   /bin/busybox mount -t sysfs none /sys


  363.   exec sh


  364. fi
复制代码
回复

使用道具 举报

11#
发表于 2011-12-8 20:19:42 | 只看该作者
不知道能不能把CDLinux和GeexBox组合起来,用CDLinux的initrd 加上 GeexBox的 rootfs ?


应该不行,给你个链接,介绍initrd机制的,在ibm网站上找到的!

http://www.ibm.com/developerworks/cn/linux/l-k26initrd/
回复

使用道具 举报

12#
发表于 2011-12-9 12:48:28 | 只看该作者
2.0.1的内测版本已经发布,大家不妨测试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-10 23:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表