Bug#61075: boot-floppies: Reboot does not work on bf
On Sat, Mar 25, 2000 at 11:43:39PM -0500, Adam Di Carlo wrote:
> Chris Cheney <ccheney@cheney.cx> writes:
>
> > On Sat, Mar 25, 2000 at 01:56:19PM -0500, Adam Di Carlo wrote:
> > > <ccheney@cheney.cx> writes:
> > >
> > > > I am reporting this bug finally since I have (somewhat) detailed
> > > > information about it. The potato boot-floppies do not reboot for
> > > > me. It hangs after the Restarting System. message. It hangs even
> > > > if it is the first thing I do after booting up. However if I go
> > > > ahead and install potato then when booted of the hard drive reboot
> > > > the system it works and prints the message Rebooting. right before
> > > > it goes ahead and reboots. If you need me to do any further tests
> > > > email me or contact me in #debian-boot.
> > >
> > > Can you try the test images at
> > > http://debian.wave.co.nz/dists/potato/main/disks-i386/
> >
> > I tested the 2000-03-24 compact disk set and reboot still does not work
> > properly. I also have tried from a cvs build that I did at 2000-03-25 3:00pm
> > CST and it did not work either. It still gets hung at: Restarting system.
>
> This is interesting -- after you have installed base and all that and
> are booting from the hard drive like a proper system, do you still
> have a problem?
>
> If so, this should probably be refiled to against the kernel.
No I don't have problem after booting from the hard drive so it must be
some sort of boot-floppies issue.
boot-floppies reboot:
The system is going down NOW !!
Sending SIGTERM to all processes.
Terminated
Sending SIGKILL to all processes.
Please stand by while rebooting the system.
Restarting System.
(hang)
hard drive reboot:
(various shutdown related stuff)
Rebooting.
(goes ahead and reboots)
I found this in the kernel source:
kernel-source-2.2.14/kernel/sys.c
/*
* Reboot system call: for obvious reasons only root may call it,
* and even root needs to set up some magic numbers in the registers
* so that some mistake won't make this reboot the whole machine.
* You can also set the meaning of the ctrl-alt-del-key here.
*
* reboot doesn't sync: do that yourself before calling this.
*/
asmlinkage int sys_reboot(int magic1, int magic2, int cmd, void * arg)
{
char buffer[256];
/* We only trust the superuser with rebooting the system. */
if (!capable(CAP_SYS_BOOT))
return -EPERM;
/* For safety, we require "magic" arguments. */
if (magic1 != LINUX_REBOOT_MAGIC1 ||
(magic2 != LINUX_REBOOT_MAGIC2 && magic2 !=
LINUX_REBOOT_MAGIC2A &&
magic2 != LINUX_REBOOT_MAGIC2B))
return -EINVAL;
lock_kernel();
switch (cmd) {
case LINUX_REBOOT_CMD_RESTART:
notifier_call_chain(&reboot_notifier_list, SYS_RESTART,
NULL);
printk(KERN_EMERG "Restarting system.\n");
machine_restart(NULL);
break;
It appears that is where Restarting system. is coming from.
machine_restart() is in kernel-source-2.2.14/arch/i386/kernel/process.c
I have not finished tracing the sysvinit reboot, if someone who has more
experience wants to look please feel free.
-Chris Cheney
Reply to: