If Scratchbox was installed from Debian or RPM packages, the /etc/init.d/scratchbox-core init script was installed and Scratchbox should start automatically when the system is rebooted. However, if you installed Scratchbox from tarballs then rebooting your machine will clear away all the mounts and binfmt_misc registrations that Scratchbox requires to work. To get your Scratchbox working again after reboot, you have to run the following command as root:
# /scratchbox/sbin/sbox_ctl start
简单意思就是:以tar方式安装scratchbox,重启pc后,scratchbox正常工作所需要的mounts和binfmt_misc信息都会被清除。所以每次开机第一次运行scratchbox或/scratchbox/login前,必须先运行“/scratchbox/sbin/sbox_ctl start”命令
lingd@ubuntu:~$ scratchbox
ERROR: Scratchbox is not properly set up!
lingd@ubuntu:~$ sudo /scratchbox/sbin/sbox_ctl start
[sudo] password for lingd:
Starting Scratchbox: binfmt_misc, mount.
lingd@ubuntu:~$ scratchbox
Welcome to Scratchbox, the cross-compilation toolkit!
Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.
[sbox-arm: ~] >
不过,我是通过deb包安装的,/scratchbox/sbin/sbox_ctl start解决不了我的问题。我估计是虚拟机Vmware不正常关闭导致的。重新安装一下scratchbox:
lingd@ubuntu:~$ sudo apt-get --no-download --reinstall install scratchbox-core scratchbox-libs scratchbox-devkit-qemu
scratchbox又恢复正常了!