[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#408588: marked as done (Debian on SGI Altix IA-64 (follow-up))



Your message dated Fri, 28 Feb 2014 21:02:01 +0100
with message-id <20140228200201.GA29941@mraw.org>
and subject line Re: Bug#408588: Debian on SGI Altix IA-64 (follow-up)
has caused the Debian Bug report #408588,
regarding Debian on SGI Altix IA-64 (follow-up)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
408588: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=408588
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: rootskel

Reply below..

Stéphane Larose wrote:
> Hi,
> 
> At the end of December, I posted on this list about booting and running Debian 
> etch on SGI Altix 350. There was basically 3 things to modify on the netinst 
> cd to make it boot and install:
> - putting 'relocatable' in elilo.conf (done - thanks to Dann Frazier)
> - adding some modules to the d-i kernel (done - thanks to Dann Frazier)
> - modifying something with the console device since we lose the console output 
> when booting the cd (just when init - or busybox init starts)
> 
> The trick I found to get the console output after init starts was to comment 
> out this line:
> makedev 600 /dev/tts/"$i" c 4 "$(($i + 64))" 
> in /lib/debian-installer/init-udev-devices. I've done some research to know 
> exactly why this make the console output work. 
> 
> In kernel > 2.6.7, there is a new serial console driver for the Altix L1 
> (CONFIG_SERIAL_SGI_L1_CONSOLE=y) and the device is /dev/ttySG0. I think this 
> device gets associated with /dev/console in the d-i because, if I 
> create it (just before busybox init starts):
> mknod ttySG0 c 204 40
> and
> echo "something" > /dev/ttySG0 or
> echo "something" > /dev/console
> both will echo.
> 
> Then I looked at how busybox init was choosing the console and found out that 
> this part of code is being executed:
> ... (from busybox init.c source)
> if (ioctl(0, TIOCGSERIAL, &sr) == 0) {
>   /* this is a serial console */
>   snprintf(console, sizeof(console) - 1, SC_FORMAT, sr.line);
> ...
>  while ((fd = open(console, O_RDONLY | O_NONBLOCK)) < 0 && tried < 2) {
>        /* Can't open selected console -- try
>               logical system console and VT_MASTER */
>     safe_strncpy(console, (tried == 0 ? _PATH_CONSOLE : CURRENT_VC), 
> sizeof(console));
> ...
> 
> So sr.line is set to 0 which seems correct but the SC_FORMAT variable 
> is '/dev/tts/' (hard-coded) resulting in console=/dev/tts/0 instead 
> of /dev/ttySG0.
> 
> On the d-i CD, /dev/tts/0 is created by 
> the /lib/debian-installer/init-udev-devices script, so busybox will try to 
> open it and will succeed but this device is not the correct one on the Altix 
> so no more console output after busybox init.
> 
> If I delete /dev/tts/0 (or comment out the line to create this device in the 
> init-udev-devices script), the 'open' call of busybox will fail so busybox 
> will retry with console=_PATH_CONSOLE (which is defined as /dev/console) and 
> this will work since we effectively are on /dev/console (/dev/ttySG0) during 
> the Debian installation on Altix.
> 
> That is what I think creates the problem with console output when installing 
> on Altix. I don't know what is the best solution to correct this but maybe:
> 1- patching busybox so that SC_FORMAT would be /dev/ttySG on Altix (if kernel 
> > 2.6.7)
> 2- creating the /dev/ttySG0 device in the init-udev-devices script

I don't know how doable #1 is (would need some way for busybox to detect
this machine), so I'm focusing on #2.

However, I'm not sure why creating the /dev/ttySG0 device would work.
From your description it sounds like busybox init would still try to use
the hardcoded /dev/tts/0 device instead.

Seems like we could fix it by making init-udev-devices skip creation of
/dev/tts/0, if running on the altix. What would be a good way to detect
that machine?

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Joey Hess <joeyh@debian.org> (2007-01-26):
> I don't know how doable #1 is (would need some way for busybox to detect
> this machine), so I'm focusing on #2.
> 
> However, I'm not sure why creating the /dev/ttySG0 device would work.
> From your description it sounds like busybox init would still try to use
> the hardcoded /dev/tts/0 device instead.
> 
> Seems like we could fix it by making init-udev-devices skip creation of
> /dev/tts/0, if running on the altix. What would be a good way to detect
> that machine?

So, ia64 is no longer supported[1]; the kernel, udev, and busybox had a lot
of changes, which might have fixed this issue, so I'm not sure there's
anything I can do about this particular bug report besides closing.

 1. https://lists.debian.org/debian-devel-announce/2014/01/msg00009.html

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: