Re: Graphical installer on arm64 (netboot and cdrom)

2020-04-21 Thread Wookey
On 2020-04-21 14:14 +0300, Alper Nebi Yasak wrote:
> 
> IMO, the right answer is "tty0 not even being in /proc/consoles in this case
> (where it should've also been the /dev/console) is a kernel bug".

This is my opinion too, although I'm prepared to change it if someone
can given a good reason why this behaviour is reasonable. 

Well done for posting a kernel patch to fix it. I hadn't noticed as I
don't watch kernel stuff.

However even if we get that sorted in due course we may in practice
have to deal with kernels currently getting this wrong for many years
so some bodging and heuristics in D_I may also be experient.

One thought - can we just perhaps use /dev/console 'anyway' and
that'll get us the right thing even when tty0 has not been properly
enabled when it should have been? (I've forgotten how all this works
and would need to go read the runes again, and most of my test
platforms are currently not easily accessible...)

> I tried to
> write a patchset [1] a while back, but received no feedback except from
> kbuild test bot saying it's broken (s/#elif/#else on the last patch). I
> don't know if I did anything wrong or anything right at all.
> 
> [1] 
> https://lore.kernel.org/lkml/44156595-0eee-58da-4376-fd25b634d...@gmail.com/T/

Hmm. I have no idea if you are doing this right either, but it all
sounds plausible. I guess a reports with the s/#elif/#else fix is in
order anyway, and that might prompt a response from someone with
console clue.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: Graphical installer on arm64

2020-01-05 Thread Wookey
On 2020-01-05 22:06 +0300, Alper Nebi Yasak wrote:
> I've been working on getting Debian installer to run on my chromebook
> (kevin) for a while and I've also tested Wookey's patches [1] for enabling
> the graphical parts. The inputs didn't work with just those udebs as
> reported then, but adding 'event-modules-${kernel:Version}' as well to the
> pkg-list fixed that for me.

Great that you've followed up on this. Thanks.
 
> Can anyone else test this on other arm64 machines? I'm pretty sure it would
> work, but I suspect chromebook hardware to be weird so my success might not
> be indicative of general success.

Sure. I'll test it on eMAG and ThunderX.
 
Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Bug#923022: console-setup ships minified shell scripts

2019-02-22 Thread Wookey
Package: console-setup
Version: 1.189
Severity: normal
Tags: patch

/bin/setupcon and /usr/bin/ckbcomp-mini are both shell scripts that
are minified (preprocessed to remove comments, whitespace and
indenting) before being shipped in the udeb.

/usr/lib/base-installer.d/20console-setup and 
usr/share/console-setup/keyboard-configuration.config

setupcon is a 38K script before minifying and 22K afterwards. It's
extremely difficult to read to work out what on earth it is doing when
in that state, and this is sometimes necessary (e.g. when debugging
debian-installer). ckbcomp-mini goes from 5.4K to 3.3K keyboardconfiguration 
from 47K to 44K

The debian config and postinst scripts get the same treatment (in the
conventional and udeb packages

Why are we minifying these scripts? Perhaps it made sense once to
squeeze the size of console-setup by a few K (maybe 24?), but it seems
very unlikely to be useful any more, given the cost of making
comprehension of the code almost impossible.

Attached is a patch to stop doing this. (It makes the udeb 6K bigger)
commit dac59c59d9a71612e8a1fbca744ba3b53f57663e
Author: Wookey 
Date:   Sat Feb 23 04:10:42 2019 +

Stop minifying shell scripts

diff --git a/debian/changelog b/debian/changelog
index ea8a91d..c43b1db 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+console-setup (1.190) unstable; urgency=medium
+
+  * Stop minifying shell scripts
+
+ -- Wookey   Sat, 23 Feb 2019 03:23:03 +
+
 console-setup (1.189) unstable; urgency=medium
   * Team upload
 
diff --git a/debian/preprocessor b/debian/preprocessor
index a9c3aa5..9571309 100755
--- a/debian/preprocessor
+++ b/debian/preprocessor
@@ -94,11 +94,6 @@ else
 }' "$file" >$tmp && cat $tmp >"$file"
 fi
 
-if [ "$mini" ]; then
-sed -e 's/^[ \t]*//' -e 's/^#[^!].*//' -e 's/^#$//' <"$file" >$tmp \
-   && grep . $tmp >"$file"
-fi
-
 rm $tmp
 
 exit 0


Re: Multiple console support in d-i

2019-02-22 Thread Wookey
OK. Steve stayed up very late last night checking that this worked OK
on x86 and adding some useful logging (allowing for the fact that it
needs to work before syslog is actually started).

We've checked some more stuff today, including testing the matching
finish-install functionality on full installs, and reverting my fancy
inittab seddery to go back to simply appending which is more reliable
and easier to understand. We are now confident that the 'use init'
version is the superior (cleaner and more reliable) approach. 

That's all merged in the attached patches which we reckon are now
ready for general use.

I will do some more testing (to check I've not broken hurd - bsd
doesn't seem to be built at the moment so there is nothing to break),
and of course we are ready to prod it some more if we find this does
actually cause unhelpful behaviour for anyone. I also need to check
the docs which no doubt need a few updates.

I've found a couple of other things whilst poking about in the D-I
entrails. There is plenty of cruft from older ways of doing things,
which of course tends to get ignored if it's not actually breaking
things, largely due to chronic undermanning in D-I land. I'll file
some bugs and patches. None of it is urgent, but worth noting before I
forget.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
diff --git b/debian/changelog a/debian/changelog
index a7c80c3..e23b91e 100644
--- b/debian/changelog
+++ a/debian/changelog
@@ -7,7 +7,11 @@ rootskel (1.127) UNRELEASED; urgency=medium
   [ Holger Wansing ]
   * Remove trailing whitespaces from changelog file, to fix lintian tag.
 
- -- Samuel Thibault   Fri, 08 Feb 2019 01:50:37 +0200
+  [ Wookey ]
+  * Support multiple consoles - Run D-I on all enabled consoles
+  * Rename reopen-console to choose-consoles
+
+ -- Wookey   Fri, 22 Feb 2019 15:57:39 +
 
 rootskel (1.126) unstable; urgency=medium
 
diff --git b/src/etc/inittab-hurd a/src/etc/inittab-hurd
index a7b8a23..eeff7e2 100644
--- b/src/etc/inittab-hurd
+++ a/src/etc/inittab-hurd
@@ -2,10 +2,9 @@
 # busybox init configuration for debian-installer
 
 # main rc script
-::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
+::sysinit:/sbin/choose-consoles /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
 
 # convenience shells
 tty2::askfirst:-/bin/sh
diff --git b/src/etc/inittab-kfreebsd a/src/etc/inittab-kfreebsd
index 748f19b..c328548 100644
--- b/src/etc/inittab-kfreebsd
+++ a/src/etc/inittab-kfreebsd
@@ -2,10 +2,9 @@
 # busybox init configuration for debian-installer
 
 # main rc script
-::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
+::sysinit:/sbin/choose-consoles /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
 
 # convenience shells
 ttyv1::askfirst:-/bin/sh
diff --git b/src/etc/inittab-linux a/src/etc/inittab-linux
index a7b8a23..d7136e2 100644
--- b/src/etc/inittab-linux
+++ a/src/etc/inittab-linux
@@ -2,10 +2,7 @@
 # busybox init configuration for debian-installer
 
 # main rc script
-::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
-
-# main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
+::sysinit:/sbin/choose-consoles /sbin/debian-installer-startup
 
 # convenience shells
 tty2::askfirst:-/bin/sh
@@ -19,3 +16,6 @@ tty4::respawn:/usr/bin/tail -f /var/log/syslog
 
 # re-exec init on receipt of SIGHUP/SIGUSR1
 ::restart:/sbin/init
+
+# main setup program
+# Entries will be added here as the system starts up
diff --git b/src/sbin/Makefile a/src/sbin/Makefile
index dec554e..f1a4f5f 100644
--- b/src/sbin/Makefile
+++ a/src/sbin/Makefile
@@ -8,7 +8,7 @@ files_exec = \
 	debian-installer-startup \
 	shutdown \
 	init:init-$(DEB_HOST_ARCH_OS) \
-	reopen-console:reopen-console-$(DEB_HOST_ARCH_OS) \
+	choose-consoles:choose-consoles-$(DEB_HOST_ARCH_OS) \
 	steal-ctty
 
 ifeq ($(DEB_HOST_ARCH_OS),linux)
diff --git b/src/sbin/reopen-console-hurd a/src/sbin/choose-consoles-hurd
similarity index 61%
rename from src/sbin/reopen-console-hurd
rename to src/sbin/choose-consoles-hurd
index 7f9b54e..bef2b73 100755
--- b/src/sbin/reopen-console-hurd
+++ a/src/sbin/choose-consoles-hurd
@@ -4,9 +4,9 @@
 # corresponding to the console we are actually using.
 
 console=
-if ! [ -f /var/run/console-device ]; then
-	tty > /var/run/console-device
+if ! [ -f /var/run/console-devices ]; then
+	tty > /var/run/console-devices
 fi
 
 # Some other session may have it as ctty. Steal it from them
-exec /sbin/steal-ctty $(cat /var/run/console-device) "$@"
+exec /sbin/steal-ctty $(cat /var/run/console-devices) "$@"
diff --git b/src/sbin/reopen-console-kfreebsd a/src/sbin/choose-consoles-kfreebsd
similarity index 87%
rename from src/sbin/reopen-console-kfreebsd
rename to src/sbin/choose-consoles-kfreebsd
index 6dec149..2dd292a 100755
--- b/src/sbin/reopen-console-kfreebsd
+++ 

Re: Multiple console support in d-i

2019-02-21 Thread Wookey
On 2019-02-21 00:55 +, Steve McIntyre wrote:
> Hey Wookey,
> 
> Reviewing the code from your patches in sequence, I think the approach
> looks good *except* I think you've missed a patch or a commit or
> something.
> 
> Trying to apply debian-installer-multiple-consoles.patch and
> rootskel-multiple-consoles-inittab.patch in sequence, there are patch
> failures. They clearly depend in that order for the changes in
> src/etc/inittab-linux, but the src/sbin/reopen-console-linux hunks
> don't match up. The last thing I want to do here is miss a line in the
> middle of fixing up by hand and break this... :-)
> 
> Could you post a single patch against current HEAD with all of your
> changes rolled up please?

Well, there are two branches. The original implmentation and the 'use init' 
implementation.
So attached are two independent (i.e. each is against rootskel HEAD) for those.
Original: rootskel-multiple-consoles2.patch
Init-based: rootskel-multiple-consoles-inittab3.patch

Use one or the other, not both.

The finish-install patch has to be separate because it's a different git repo. 
Also included.
Required in either case.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
diff --git a/src/etc/inittab-linux b/src/etc/inittab-linux
index a7b8a23..437e208 100644
--- a/src/etc/inittab-linux
+++ b/src/etc/inittab-linux
@@ -5,7 +5,7 @@
 ::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
+::respawn:/sbin/reopen-console --all-consoles /sbin/debian-installer
 
 # convenience shells
 tty2::askfirst:-/bin/sh
diff --git a/src/sbin/reopen-console-linux b/src/sbin/reopen-console-linux
index 3287dd0..e13bfa3 100755
--- a/src/sbin/reopen-console-linux
+++ b/src/sbin/reopen-console-linux
@@ -1,74 +1,68 @@
 #!/bin/sh
 
 # In order to give proper access to the tty, we need to locate the device
-# corresponding to the console we are actually using.
+# corresponding to each console we are actually using.
+
+# This script is run twice, once at sysinit to run the debian-installer-startup
+# rc scripts, and once to start the installer itself.
+# The first time it parses the consoles used, the second time they are read from files
+# The startup scripts need to be run just once (on one console) (not idempotent)
+# The installer is run on all the enabled consoles (using the --all-consoles option)
+
 
 NL="
 "
 
-console=
-if ! [ -f /var/run/console-device ]; then
-	# If the kernel emitted a "handover" message, then it's the one
-	case $(uname -r) in
-	2.6.2*|2.6.3[01]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console handover: boot \[.*\] -> real \[(.*)\]$/\2/p')"
-		;;
-	2.6.3[234567]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled, bootconsole disabled$/\2/p')"
-		;;
-	*) # >= 2.6.38
-		console_major_minor="$(get-real-console-linux)"
-		console_raw="$(readlink "/sys/dev/char/${console_major_minor}")"
-		console="${console_raw##*/}"
-		;;
-	esac
-
-	# Except if it is the wrong type...
-	if [ "$console" ] && [ "$(console-type)" = serial ] && \
-	   expr "$console" : "tty[0-9]" >/dev/null; then
-		console=
-	fi
+if ! [ -f /var/run/console-devices ]; then
 
 	consoles=
-	if [ -z "$console" ]; then
-		# Retrieve all enabled consoles from boot log; ignore those
-		# for which no device file exists
-		for cons in $(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled/\2/p')
-		do
-			if [ -e "/dev/$cons" ]; then
-consoles="${consoles:+$consoles$NL}$cons"
-			fi
-		done
-		# Only one console? Then we are good.
-		if [ $(echo "$consoles" | wc -l) -eq 1 ]; then
-			console="$consoles"
+	preferred=
+	# Retrieve all enabled consoles from kernel; ignore those
+	# for which no device file exists
+
+	kernelconsoles="$(cat /proc/consoles)"
+	for cons in $(echo "$kernelconsoles" | sed -n -r -e 's/(^.*)  .*\((.*)\).*$/\1/p' )
+	do
+		status=$(echo "$kernelconsoles" | grep $cons | sed -n -r -e 's/(^.*) *.*\((.*)\).*$/\2/p' )
+		if [ -e "/dev/$cons" ] && [ $(echo "$status" | grep -o 'E') ]; then
+			consoles="${consoles:+$consoles$NL}$cons"
 		fi
-	fi
+		# 'C' console is 'most prefered'.
+		if [ $(echo "$status" | grep -o 'C') ]; then
+			preferred="$cons"
+		fi
+	done
 
-	if [ -z "$console" ]; then
-		# Locate the last enabled console present on the command line
-		for arg in $(cat /proc/cmdline); do
-			case $arg in
-			console=*)
-arg=${arg#console=}
-cons=${arg%%,*}
-if echo "$consoles" | grep -q "^$cons$"; then
-	console=$cons
-fi
-;;
-			esac
-		

Re: Multiple console support in d-i

2019-02-20 Thread Wookey
On 2019-02-21 00:55 +, Steve McIntyre wrote:
> Hey Wookey,
> 
> Reviewing the code from your patches in sequence, I think the approach
> looks good *except* I think you've missed a patch or a commit or
> something.
> 
> Trying to apply debian-installer-multiple-consoles.patch and
> rootskel-multiple-consoles-inittab.patch in sequence, there are patch
> failures. They clearly depend in that order for the changes in
> src/etc/inittab-linux, 

Yeah - I noticed after posting that one patch depended on the other,
as opposed to them being independent, which wasn't what I meant to do.

Sorry about that.

> Could you post a single patch against current HEAD with all of your
> changes rolled up please?

Will do. 

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: Multiple console support in d-i

2019-02-15 Thread Wookey
On 2019-02-09 04:11 +, Wookey wrote:
> Future work:
> 
> All this faffage has made me realise that a better approach to all
> this would probably be to get rid of all this 'steal-ctty' bodgery,
> and use init to do it's job: it's designed to run multiple things on
> multiple consoles, and deal with file handles and them failing etc.
> 
> The catch is that to make this work we'd have to use sysinit: to run
> the console-choosing code, then write a new inittab containing one
> respawn:/sbin/debian-installer for each console instance, then HUP
> init. This should do exactly the right thing (assuming that busybox
> init isn't too thick to get HUPing right).

OK. This does indeed work nicely and is a cleaner solution than what
is currently in D-I. It probably works for hurd and bsd too assuming
their init behaviour is similar? (I think kill -HUP 1 should do the
same thing on all 3 kernels?) (anyone up for testing these?)

So now inittab looks like:
# main rc script
::sysinit:/sbin/reopen-console /sbin/debian-installer-startup

# main setup program
tty0::respawn:/sbin/debian-installer
ttyAMA0::respawn:/sbin/debian-installer
(these lines added for whatever consoles are found)

(and the rest as before - spare shells, tty4 for logging and restart stuff) 

Attached is a patch implementing this. It does rely on the inittab
comment '# main setup program' existing in order to anchor the sed
edit, so perhaps a comment should go in there so someone doesn't
accidentally edit it in the future and break this code? Or we could
just use a simple append (it's not aesthetic just putting them on the
end but it does work fine), or just 'insert at line n'. Given the
constrained environment I don't think it matters much -
maintainability is probably the most important thing here.

Steal-ctty is still present for the initial run of the
debian-install-startup scripts but I suspect it's not actually
needed. Anyone know if there was ever a good reason for running
the rc scripts through this as well as doing so for the installer itself?

This all works with netbook-gtk too (X starts on framebuffer, as
before)

Feedback on this patch is welcome.

Note that my finish-install patch should be applied too if this one is used. 

Issues: 
The framebuffer console came up with some UTF-8 chars as blocks (ones
not in 8859-1?). I've seen this before once with the old code then it
went away again, so I'm not sure it's anything to do with these
changes but it might be. The LANG=C.UTF-8, TERM=linux,
TERM_TYPE=virtual, TERM_FRAMEBUFFER=yes, which seems reasonable. Clues
welcome. fonts or TERM configuration?


Further work:
There is more tidying that could be done here, but some discussion is 
in order first.

With things done this way 'reopen-console' is something of a misnomer
as it only gets run once. 'choose-console' would be better. Or
possibly something like 'initialise-installer' as it now chooses the
consoles, calls the init-script runner and reinits to start the real
installer. Perhaps a more logical split is

choose-consoles: (OS-specific)
 1) parses consoles, saves in /var/run files
 2) runs debian-installer-startup

debian-installer-startup: (OS-independent)
 1) modifies inittab
 2) runs startup scripts
 3) HUPs init

This seems a bit cleaner and better-named?  Also is there any point
having choose-console run $@ now there is only one thing it runs
(debian-installer-startup)?

The fly in this pointment is that there is one script that uses the
existing /sbin/debian-installer-startup. That is
debian-installer-launcher/debian-installer.sh which runs it in a live
image chroot so moving the restart init there would be an unexpected change
of interface. The desire to leave that interface alone results in this:

choose-consoles: (OS-specific)
 1) parses consoles, saves in /var/run files
 2) modifies inittab
 3) runs debian-installer-startup
 4) HUPs init

debian-installer-startup: (OS-independent)
 1) runs startup scripts

Which is essentially the existing patch, but renaming reopen-console -> 
choose-consoles

currently we have:
::sysinit:/sbin/reopen-console /sbin/debian-installer-startup

but I suggest we just change it to:
::sysinit:/sbin/choose-consoles
and choose consoles can explicitly run /sbin/debian-installer-startup

This just makes it a bit more obvious how things work/fit together.

Have I missed anything?

Does anyone care about all this? Shall I just stop now (it's working
fine) or tidy a bit more to make the names clearer and reduce the
cruft further?

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
commit 7b3718082645c2265f96b8349ae25a31f3bc73e3
Author: Wookey 
Date:   Mon Feb 11 16:39:40 2019 +

Use inittab to run multiple installers

diff --git a/src/etc/inittab-linux b/src/etc/inittab-linux
index 437e208..830ee94 100644
--- a/src/etc/inittab-linux
+++ b/src/etc/inittab-linux
@@ -5,7 +5,6 @@
 ::sysinit:/sbin/reopen-console /sbin/debian-in

Re: Multiple console support in d-i

2019-02-14 Thread Wookey
On 2019-01-19 11:08 +, Steve McIntyre wrote:
> On Sat, Jan 19, 2019 at 04:27:05AM +0000, Wookey wrote:

[Re: adding multiple console support to D-I, including changing
/var/run/console-device with one device line to be
/var/run/console-devices with 1 or more lines]

> >The only other place this affects is
> >packages/finish-install.d/90console which reads
> >/var/run/console-device when tidying up at the end in order to write
> >inittab entries for the used console device (serial, xen, etc).

So here is the patch for that so that the right file is looked in and
any serial devices are dealt with as before, alowing for the fact there
may be more than one console device listed.

This code is not well-tested yet, but I think it does the right
thing. Review welcome. I can't see any reason why running through this
more than once should change anything, but I could be missing something.

I note that there is a load of upstart support in here. Can anyone
thing of a reason to keep that? I suspect it should go. Happy to do that if we 
agree.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
commit 2e238ab985eebd44f29cc7b5cd6b7cacc71d792e
Author: Wookey 
Date:   Fri Feb 15 01:50:44 2019 +

Update to deal with multiple consoles

diff --git a/finish-install.d/90console b/finish-install.d/90console
index bd2f528..0045046 100755
--- a/finish-install.d/90console
+++ b/finish-install.d/90console
@@ -38,72 +38,76 @@ case "$(udpkg --print-os)" in
 	hurd)
 # TODO: detect VGA hurd console, and enable it in installed
 # system.
-		console=console
+		consoles=/dev/console
 		;;
 	*)
-		console=$(cat /var/run/console-device)
-		console=${console#/dev/}
+		consoles=$(cat /var/run/console-devices)
 		;;
 esac
 
-if [ -f /target/etc/init/tty1.conf ]; then
-	upstart_tty1=/target/etc/init/tty1.conf
-	upstart_console () {
+for console in $consoles
+do
+	console=${console#/dev/}
+
+	if [ -f /target/etc/init/tty1.conf ]; then
+	upstart_tty1=/target/etc/init/tty1.conf
+	upstart_console () {
 		echo "/target/etc/init/$1.conf"
-	}
-elif [ -f /target/etc/event.d/tty1 ]; then
-	upstart_tty1=/target/etc/event.d/tty1
-	upstart_console () {
+	}
+	elif [ -f /target/etc/event.d/tty1 ]; then
+	upstart_tty1=/target/etc/event.d/tty1
+	upstart_console () {
 		echo "/target/etc/event.d/$1"
-	}
-else
-	upstart_tty1=
-fi
-
-case "$console" in
-tty[A-Zu]*|duart*)
-	log "Configuring init for serial console"
-	consoletype=${console%%[0-9]*}
-	ttyline=${console#$consoletype}
-	ttyspeed=$(chroot /target stty --file /dev/$console speed)
-	ttyterm="$TERM"
-
-	flowctrlarg=""
-	if uses_hw_flowcontrol $console; then
-		flowctrlarg="-h "
+	}
+	else
+	upstart_tty1=
 	fi
 
-	if [ -z "$ttyterm" ]; then ttyterm=vt100; fi
-	if [ -z "$ttyspeed" ]; then ttyspeed=9600; fi
+	case "$console" in
+	tty[A-Zu]*|duart*)
+		log "Configuring init for serial console"
+		consoletype=${console%%[0-9]*}
+		ttyline=${console#$consoletype}
+		ttyspeed=$(chroot /target stty --file /dev/$console speed)
+		ttyterm="$TERM"
+
+		flowctrlarg=""
+		if uses_hw_flowcontrol $console; then
+		flowctrlarg="-h "
+		fi
 
-	if [ -f /target/etc/inittab ]; then
-		# Disable regular VTs
-		if [ -z "$KEEP_VT" ]; then
+		if [ -z "$ttyterm" ]; then ttyterm=vt100; fi
+		if [ -z "$ttyspeed" ]; then ttyspeed=9600; fi
+
+		if [ -f /target/etc/inittab ]; then
+		# Disable regular VTs
+		if [ -z "$KEEP_VT" ]; then
 			sed -i -e "s/^\([1-6]\):/#\1:/" /target/etc/inittab
+		fi
+		# Enable serial console
+		sed -i -e "s/^#T0\(.*\)ttyS.*/T$ttyline\1$console $ttyspeed $ttyterm/" \
+			/target/etc/inittab
+		sed -i -e "s/^\(T$ttyline.*\) -8/\1/" /target/etc/inittab
+		sed -i -e "s/^\(T$ttyline.* \)-L/\1$flowctrlarg-L/" /target/etc/inittab
+		fi
+		if [ "$upstart_tty1" ]; then
+		sed -e "s/^\(exec.*getty \).*/\1-L $console $ttyspeed $ttyterm/" \
+			-e "s/tty1/$console/g" \
+			"$upstart_tty1" > "$(upstart_console "$console")"
+		sed -i -e "s/^\(exec.*\) -8/\1/" "$(upstart_console "$console")"
+		sed -i -e "s/^\(exec.*\)-L/\1$flowctrlarg-L/" "$(upstart_console "$console")"
+		fi
+		if [ "$(readlink /target/sbin/init)" = "/lib/systemd/systemd" ] ; then
+		chroot /target systemctl --no-reload --quiet enable serial-getty@"$console".service
 		fi
-		# Enable serial console
-		sed -i -e "s/^#T0\(.*\)ttyS.*/T$ttyline\1$console $ttyspeed $ttyterm/" \
-		/target/etc/inittab
-		sed -i -e "s/^\(T$ttyline.*\) -8/\1/" /target/etc/inittab
-		sed -i -e

Bug#911133: Debian Installer assumes serial console on arm64

2019-02-12 Thread Wookey
Here is a patch to debian-installer to enable it to run D-I on all available 
consoles. 

This is one part of making arm64 machines work 'just like PCs' in the installer.

I have also done some work on getting the graphical installer
working. I have enabled that, but input is not working yet, so 'more
later' on that.

The multiple-console support involves a major revamp of
'reopen-consoles-linux' in rootskel in debian-installer, to get rid of
a load of old cruft, and use /proc/consoles (i.e. the kernel's list)
to choose the set of enabled consoles, running the startup rc scripts
on just one console (to avoid doing things twice), then running
debian-installer itself on all the consoles that are enabled and have
device files.

More details are available in the thread steve linked to on debian-boot.

It seems like there is actually a cleaner way to do this, by getting
init to do the heavy process/session/parallel-tasks lifting (instead
of reopen-consoles and steal-ctty). I have a proof-of-concept patch
for that, but it's not actually working right yet. I'll send that in
when it does if I don't hit any roadblocks.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
diff --git a/src/etc/inittab-linux b/src/etc/inittab-linux
index a7b8a23..437e208 100644
--- a/src/etc/inittab-linux
+++ b/src/etc/inittab-linux
@@ -5,7 +5,7 @@
 ::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
+::respawn:/sbin/reopen-console --all-consoles /sbin/debian-installer
 
 # convenience shells
 tty2::askfirst:-/bin/sh
diff --git a/src/sbin/reopen-console-linux b/src/sbin/reopen-console-linux
index 3287dd0..e13bfa3 100755
--- a/src/sbin/reopen-console-linux
+++ b/src/sbin/reopen-console-linux
@@ -1,74 +1,68 @@
 #!/bin/sh
 
 # In order to give proper access to the tty, we need to locate the device
-# corresponding to the console we are actually using.
+# corresponding to each console we are actually using.
+
+# This script is run twice, once at sysinit to run the debian-installer-startup
+# rc scripts, and once to start the installer itself.
+# The first time it parses the consoles used, the second time they are read from files
+# The startup scripts need to be run just once (on one console) (not idempotent)
+# The installer is run on all the enabled consoles (using the --all-consoles option)
+
 
 NL="
 "
 
-console=
-if ! [ -f /var/run/console-device ]; then
-	# If the kernel emitted a "handover" message, then it's the one
-	case $(uname -r) in
-	2.6.2*|2.6.3[01]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console handover: boot \[.*\] -> real \[(.*)\]$/\2/p')"
-		;;
-	2.6.3[234567]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled, bootconsole disabled$/\2/p')"
-		;;
-	*) # >= 2.6.38
-		console_major_minor="$(get-real-console-linux)"
-		console_raw="$(readlink "/sys/dev/char/${console_major_minor}")"
-		console="${console_raw##*/}"
-		;;
-	esac
-
-	# Except if it is the wrong type...
-	if [ "$console" ] && [ "$(console-type)" = serial ] && \
-	   expr "$console" : "tty[0-9]" >/dev/null; then
-		console=
-	fi
+if ! [ -f /var/run/console-devices ]; then
 
 	consoles=
-	if [ -z "$console" ]; then
-		# Retrieve all enabled consoles from boot log; ignore those
-		# for which no device file exists
-		for cons in $(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled/\2/p')
-		do
-			if [ -e "/dev/$cons" ]; then
-consoles="${consoles:+$consoles$NL}$cons"
-			fi
-		done
-		# Only one console? Then we are good.
-		if [ $(echo "$consoles" | wc -l) -eq 1 ]; then
-			console="$consoles"
+	preferred=
+	# Retrieve all enabled consoles from kernel; ignore those
+	# for which no device file exists
+
+	kernelconsoles="$(cat /proc/consoles)"
+	for cons in $(echo "$kernelconsoles" | sed -n -r -e 's/(^.*)  .*\((.*)\).*$/\1/p' )
+	do
+		status=$(echo "$kernelconsoles" | grep $cons | sed -n -r -e 's/(^.*) *.*\((.*)\).*$/\2/p' )
+		if [ -e "/dev/$cons" ] && [ $(echo "$status" | grep -o 'E') ]; then
+			consoles="${consoles:+$consoles$NL}$cons"
 		fi
-	fi
+		# 'C' console is 'most prefered'.
+		if [ $(echo "$status" | grep -o 'C') ]; then
+			preferred="$cons"
+		fi
+	done
 
-	if [ -z "$console" ]; then
-		# Locate the last enabled console present on the command line
-		for arg in $(cat /proc/cmdline); do
-			case $arg in
-			console=*)
-arg=${arg#console=}
-cons=${arg%%,*}
-if echo "$consoles" | grep -q "^$cons$"; then
-	console=$cons
-fi
-;;
-			esac
-		done
+	if [ -z "$consoles" ]; then
+		# Nothing fo

Re: Multiple console support in d-i

2019-02-11 Thread Wookey
On 2019-02-09 04:11 +, Wookey wrote:
> On 2019-01-25 03:45 +0000, Wookey wrote:
> 
> Attached is a patch which provides working multiconsole support for
> linux (not hurd or bsd, sorry).
> 

> One bug I just noticed in the bit we did today is that the 'default'
> preferred console (for when one is not indicated by the kernel) avoids
> the existence-check for the /dev file, so that should be
> improved. It's not hard, but I'll resist doing it now and sending an
> untested patch :-)

OK. Updated version attached which is more robust about choosing the
'preferred' console.

I did some tests and discovered that, at least on thunderx, you get
slightly different behaviour WRT kernel command line options than the
old code, but I don't think it really matters.

Essentially the set of consoles is now 'those listed on the kernel
command line + whatever UEFI says is the default console'. Previously
you got 'whatever UEFI says is the default console, or the last one on
the kernel cmd line'. i.e the kernel no longer overrides the UEFI console,
it gets added. Now that D-I works on all provided consoles this doesn't
really matter much.

So on thunderx, for example, you get this:
default (nothing specified):
consoles:  /dev/ttyAMA0
preferred: /dev/ttyAMA0

cmdline: console=tty0
consoles:  /dev/tty0 /dev/ttyAMA0
preferred: /dev/tty0 

cmdline: console=tty0 console=ttyAMA0
consoles:  /dev/tty0 /dev/ttyAMA0
preferred: /dev/tty0 

cmdline: console=ttyAMA0
consoles:  /dev/ttyAMA0
preferred: /dev/ttyAMA0

Which all seems reasonable.

Testing this on some other machines/arches is the next thing to do, although
just checking what /proc/consoles shows tells you what should happen.


Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
diff --git a/src/etc/inittab-linux b/src/etc/inittab-linux
index a7b8a23..437e208 100644
--- a/src/etc/inittab-linux
+++ b/src/etc/inittab-linux
@@ -5,7 +5,7 @@
 ::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
+::respawn:/sbin/reopen-console --all-consoles /sbin/debian-installer
 
 # convenience shells
 tty2::askfirst:-/bin/sh
diff --git a/src/sbin/reopen-console-linux b/src/sbin/reopen-console-linux
index 3287dd0..e13bfa3 100755
--- a/src/sbin/reopen-console-linux
+++ b/src/sbin/reopen-console-linux
@@ -1,74 +1,68 @@
 #!/bin/sh
 
 # In order to give proper access to the tty, we need to locate the device
-# corresponding to the console we are actually using.
+# corresponding to each console we are actually using.
+
+# This script is run twice, once at sysinit to run the debian-installer-startup
+# rc scripts, and once to start the installer itself.
+# The first time it parses the consoles used, the second time they are read from files
+# The startup scripts need to be run just once (on one console) (not idempotent)
+# The installer is run on all the enabled consoles (using the --all-consoles option)
+
 
 NL="
 "
 
-console=
-if ! [ -f /var/run/console-device ]; then
-	# If the kernel emitted a "handover" message, then it's the one
-	case $(uname -r) in
-	2.6.2*|2.6.3[01]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console handover: boot \[.*\] -> real \[(.*)\]$/\2/p')"
-		;;
-	2.6.3[234567]*)
-		console="$(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled, bootconsole disabled$/\2/p')"
-		;;
-	*) # >= 2.6.38
-		console_major_minor="$(get-real-console-linux)"
-		console_raw="$(readlink "/sys/dev/char/${console_major_minor}")"
-		console="${console_raw##*/}"
-		;;
-	esac
-
-	# Except if it is the wrong type...
-	if [ "$console" ] && [ "$(console-type)" = serial ] && \
-	   expr "$console" : "tty[0-9]" >/dev/null; then
-		console=
-	fi
+if ! [ -f /var/run/console-devices ]; then
 
 	consoles=
-	if [ -z "$console" ]; then
-		# Retrieve all enabled consoles from boot log; ignore those
-		# for which no device file exists
-		for cons in $(dmesg -s 262143 |
-			sed -n -r -e 's/(.*\])? *console \[(.*)\] enabled/\2/p')
-		do
-			if [ -e "/dev/$cons" ]; then
-consoles="${consoles:+$consoles$NL}$cons"
-			fi
-		done
-		# Only one console? Then we are good.
-		if [ $(echo "$consoles" | wc -l) -eq 1 ]; then
-			console="$consoles"
+	preferred=
+	# Retrieve all enabled consoles from kernel; ignore those
+	# for which no device file exists
+
+	kernelconsoles="$(cat /proc/consoles)"
+	for cons in $(echo "$kernelconsoles" | sed -n -r -e 's/(^.*)  .*\((.*)\).*$/\1/p' )
+	do
+		status=$(echo "$kernelconsoles" | grep $cons | sed -n -r -e 's/(^.*) *.*\((.*)\).*$/\2/p' )
+		if [ -e "/dev/$cons" ] && [ $(echo "$status" | grep -o 'E') ]; then
+			consoles="${co

Re: Multiple console support in d-i

2019-02-08 Thread Wookey
On 2019-01-25 03:45 +, Wookey wrote:
> So, unless anyone can see a problem with this approach, I'll finish
> this off. Trying to do it with separate /var/run/consoles and
> /var/run/extra-consoles files was getting very messy. 

OK. This took way longer than I hoped as it was not entirely trivial
to get everything working.

Attached is a patch which provides working multiconsole support for
linux (not hurd or bsd, sorry).

After getting the proc/console choosing code working nicely the
installer was still mysteriously not working (nothing on consoles
except debug) unless I let it respawn in which case it sort of worked
(things appeared but input oddness and continuous respawning isn't much
use to anyone).

I was confused for a while as to what was going on but eventually worked it out.

Just to recap:
The objective here is to run D-I on all the enabled consoles, (and
ideally not fiddle with the code any more than is needed).

First step was upgrading the console parsing code to use
/proc/consoles to get the list, noting the preferred console if there
is one marked as such.

The main complication is that reopen-consoles is
run twice by init, once with debian-installer-startup and once with 
debian-installer:
# main rc script
::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
# main setup program
::respawn:/sbin/reopen-console /sbin/debian-installer

The first run of reopen-console works out which consoles to use, and
writes it in a file, (/var/run/console-devices), the second run just
uses that file.
debian-installer-startup is just a shell script that runs through all the
debian-installer-startup.d rc scripts, like S01mount, S04countcpus-linux-hppa, 
S10syslog.

debian-installer actually runs the installer, on the second invocation
of reopen-consoles.

So the original plan was just to run $@ (debian-installer) on the
found consoles. But doing that for the rc scripts is not helpful. Most
of it is idempotent, but you end up with two syslogs and two klogds
and running it all twice on different consoles really isn't right.

So I added an --all-consoles option to declare that we want something
(/sbin/debian-installer in this case) run on all the consoles.

# main rc script
::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
# main setup program
::respawn:/sbin/reopen-console --all-consoles /sbin/debian-installer

It's also worth noting that 'steal-ctty' cannot set the process as
'controlling tty' when two are run, because only one process can be
controlling tty in a session. So I did add error checking to that (it
had none before), but had to take it out again for the 'set ctty'
IOCTL as it's correct for it to fail in the muti-console case.

So what happens now is that the rc-scripts are run on the 'preferred'
console (or the first console listed if none are marked preferred),
then D-I is run on all of them. It does not return to init in this
case (as previously discussed).

This is an important improvement so despite it having ended up rather
late in the day, I hope we can include this for buster. I'm happy to
do more work on tidying up any breakage if we find any.

Future work:

All this faffage has made me realise that a better approach to all
this would probably be to get rid of all this 'steal-ctty' bodgery,
and use init to do it's job: it's designed to run multiple things on
multiple consoles, and deal with file handles and them failing etc.

The catch is that to make this work we'd have to use sysinit: to run
the console-choosing code, then write a new inittab containing one
respawn:/sbin/debian-installer for each console instance, then HUP
init. This should do exactly the right thing (assuming that busybox
init isn't too thick to get HUPing right).

That is way cleaner and I'm happy to have a go at that, but it feels
more intrusive and unless I'm very lucky it may take a while so I
sugest we go with the above for now, as it works already.

One bug I just noticed in the bit we did today is that the 'default'
preferred console (for when one is not indicated by the kernel) avoids
the existence-check for the /dev file, so that should be
improved. It's not hard, but I'll resist doing it now and sending an
untested patch :-)

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
diff --git a/src/etc/inittab-linux b/src/etc/inittab-linux
index a7b8a23..437e208 100644
--- a/src/etc/inittab-linux
+++ b/src/etc/inittab-linux
@@ -5,7 +5,7 @@
 ::sysinit:/sbin/reopen-console /sbin/debian-installer-startup
 
 # main setup program
-::respawn:/sbin/reopen-console /sbin/debian-installer
+::respawn:/sbin/reopen-console --all-consoles /sbin/debian-installer
 
 # convenience shells
 tty2::askfirst:-/bin/sh
diff --git a/src/sbin/reopen-console-linux b/src/sbin/reopen-console-linux
index 3287dd0..32dfd24 100755
--- a/src/sbin/reopen-console-linux
+++ b/src/sbin/reopen-console-linux
@@ -1,74 +1,67 @@
 #!/bin/sh
 
 # In order to give proper access to the tty, we need 

Re: Multiple console support in d-i

2019-01-24 Thread Wookey
On 2019-01-23 08:35 +, Ian Campbell wrote:
> On Wed, 2019-01-23 at 03:41 +0000, Wookey wrote:

> > Any idea how we should choose a D-I primary console when none of them
> > is marked 'preferred'? Or should D-i do away with the concept and try
> > to treat them all equally (which is a slightly more intrusive
> > change).

> Even if the bug were fixed it seems sensible to deal with this case,
> last one (with sufficient other flags set) seems like as good as
> anything...

OK. I've had 'fun with shell' getting this right and gone through a 
couple of iterations.

After some thought, so far as I can see the 'preferred' console
concept is no longer useful once D-I runs on more than one. We don't
know which one the user is going to actually use, and the whole point
is that all the instances should work the same. We're not trying the
choose the 'right' console any more, just exposing the interface on
all the ones that (should) work.

The only reason for keeping it would be to keep the reopen-console
logic more like it currently is, so that the preferred console got to
replace the reopen-consoles process (via exec) and the others didn't
(becoming child processes of reopen-consoles dash instance). But you
end up with rather cleaner code if in fact you just run D-I on all enabled
consoles and treat them equivalently (as child processes). New version
(with debug still in) attached to show what I mean (or see below).

However this does lead to a question about D-I and inittab respawn logic.

Currently reopen-console ends with
exec D-I
so D-I replaces the process.

It is started with this inittab line:
::respawn:/sbin/reopen-console /sbin/debian-installer

Do we ever make use of D-I finishing in such a way that init finds the
process is gone and respawns? My assumption is that we don't want this
to happen, at least in general (otherwise the installer would restart
when you finished, rather confusingly). But perhaps there are error
cases when this is wanted?

The reason it matters is because it affects how the multiple D-Is on
different consoles should be started and what we should do when one
quits, or all quit.

My current code does this:
for cons in $(cat /var/run/console-devices)
do
# Some other session may have console as ctty. Steal it from them
( exec /sbin/steal-ctty $cons "$@" & )
done
#don't return to init
sleep infinity

Which just starts a D-I on all the consoles, then sits forever (to
stop init from re-running this code over and over).  You _could_ have
some extra logic to make one special, and exec that one, and keep the
others as child-processes, but I'm not convinced that this achieves
anything (except complexity, and potentially confusingly different
behaviour between consoles), unless the respawning is important in
some way I have failed to grok so far?

(You'll note the above is rather nicer than my first effort with two
different /var/run/* files, and $console and $extraconsoles). Having
just the one 'consoles used' list file makes it all cleaner.  (I've
fixed up finish-install/finish-install.d/90console to deal with more
than one console listed in that file too)

Possibly what we'd really like is that if you quit _any_ console D-I
instance then it would return and respawn, but a) I can't work out how
to do that (you can only exec one thing) and b) does it actually help?

So, unless anyone can see a problem with this approach, I'll finish
this off. Trying to do it with separate /var/run/consoles and
/var/run/extra-consoles files was getting very messy. 

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
#!/bin/sh

# In order to give proper access to the tty, we need to locate the device
# corresponding to each console we are actually using.

NL="
"

if ! [ -f /var/run/console-devices ]; then

consoles=
preferred=
# Retrieve all enabled consoles from kernel; ignore those
# for which no device file exists

kernelconsoles="$(cat /proc/consoles)"
for cons in $(echo "$kernelconsoles" | sed -n -r -e 's/(^.*)  
.*\((.*)\).*$/\1/p' )
do
echo "cons in /proc/consoles: $cons"
status=$(echo "$kernelconsoles" | grep $cons | sed -n -r -e 
's/(^.*) *.*\((.*)\).*$/\2/p' )
echo "console: $cons, status: $status"
if [ -e "/dev/$cons" ] && [ $(echo "$status" | grep -o 'E') ]; 
then
consoles="${consoles:+$consoles$NL}$cons"
fi
# 'C' console is 'most prefered'. Do we care?
if [ $(echo "$status" | grep -o 'C') ]; then
preferred="$cons"
fi
done
echo "after parsing, consoles set to: $consoles"
echo "after parsing, preferred is: $preferred"

Re: Multiple console support in d-i

2019-01-22 Thread Wookey
On 2019-01-22 08:23 +, Ian Campbell wrote:
> On Tue, 2019-01-22 at 04:31 +0000, Wookey wrote:
> > On 2019-01-20 03:02 +, Ben Hutchings wrote:
> > > Reading /proc/consoles is exactly what you should do.
> > 
> > Checking this on a booted thunderx machine (with no explicit kernel cmdline 
> > options) it lists
> > ttyAMA0 
> > 
> > If I boot with explicit console=tty0 console=ttyAMA0 on the kernel cmdline
> > then they both appear in /proc/consoles, AMA0 last
> > 
> > If I boot with explicit console=tty0 on the kernel cmdline
> > then they both appear in /proc/consoles, AMA0 still last
> 
> Do the various flags not differ between the different cases?

You are right. I wasn't taking note of those:

E=enabled
C=preferred console
p=used for printk buffer
a=safe to use when CPU is offline

console=tty0
tty0 -WU (EC p  )4:7
ttyAMA0  -W- (E  p a)  204:64

console=ttyAMA0
tty0 -WU (E  p  )4:7
ttyAMA0  -W- (EC p a)  204:64

console=tty0 console=ttyAMA0
tty0 -WU (E  p  )4:7
ttyAMA0  -W- (E  p a)  204:64

Any idea how we should choose a D-I primary console when none of them
is marked 'preferred'? Or should D-i do away with the concept and try
to treat them all equally (which is a slightly more intrusive change).

Currently I use the one marked 'C' or the last one if none.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: arm64 graphical installer

2019-01-21 Thread Wookey
On 2019-01-19 11:12 +, Steve McIntyre wrote:
> [ Adding CC to debian-arm for interest ]
> 
> On Sat, Jan 19, 2019 at 03:39:44AM +0000, Wookey wrote:
> >I've done some work on getting the graphical installer going on arm64.
> 
> \o/
>
> >I was not able to demonstrate that the resulting build works fully,
> >because when it tries to boot the kernel I get "Error: Invalid Magic
> >number..., you need to load the kernel first". No idea why that's
> >changed due to adding more module packages? Clues welcome.

OK, this turned out to be 'pulled USB stick out before it was fully
written' (forgot the fsync option). 

So in fact it does boot fine with lots of extra modules, but still no
working keyboard/mouse input.

For this fairly basic X server what is it expecting as input device?
Is it using udev?, /dev/events?, libinput?, evdev? something else?
(I'm a bit vague about how this fits together). It all works fine when
I boot into X with standard debian. Comparing module lists and Xorg
logs...

on real debian its using 'driver libinput':
[  1411.187] (II) Using input driver 'libinput' for 'LITE-ON Technology USB 
NetVista Full Width Keyboard.'
[  1411.187] (**) LITE-ON Technology USB NetVista Full Width Keyboard.: always 
reports core events
[  1411.187] (**) Option "Device" "/dev/input/event2"
[  1411.187] (**) Option "_source" "server/udev"

on D-I (netboot-gtk) we have: 
xserver-xorg-input-evdev-udeb
udev-udeb
libevdev2-udeb
kbd-udeb
x11-xkb-utils-udeb
xkb-data-udeb
input-modules
uinput-modules
usb-modules

but not:
xserver-xorg-input-libinput-udeb
or libinput (which does not have udebs for any arch, so presumably not relevant)

Is that expected?

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: Multiple console support in d-i

2019-01-21 Thread Wookey
On 2019-01-20 03:02 +, Ben Hutchings wrote:
> /proc/consoles shows everything on the global console_drivers list. 
> Every time a console is added to the list the kernel logs a message
> with the format "%sconsole [%s%d] enabled\n".  So these should match,
> except that (1) it is also possible to unregister consoles, and reopen-
> consoles doesn't account for that (2) the kernel log might have rolled
> over so that reopen-console-linux doesn't see the messages.
> 
> > Does it include any/all listed explicitly on the kernel command line?
> 
> It's a bit more complicated than that.  The kernel has a table of up to
> 8 "preferred" console devices, which can be specified on the kernel
> command, or through Device Tree or platform code, or by a hypervisor. 
> The device specified last (which usually means the last console=
> argument on the command line) is the most preferred.
> 
> If some preferred devices are specified, then console_drivers will
> include all the console devices that are preferred *and* have been
> found to exist, and the most preferred (if it exists) will be first.
> 
> Otherwise, the kernel seems to enable the first console device found to
> exist.

> Reading /proc/consoles is exactly what you should do.

Checking this on a booted thunderx machine (with no explicit kernel cmdline 
options) it lists
ttyAMA0 

If I boot with explicit console=tty0 console=ttyAMA0 on the kernel cmdline
then they both appear in /proc/consoles, AMA0 last

If I boot with explicit console=tty0 on the kernel cmdline
then they both appear in /proc/consoles, AMA0 still last


So /proc/consoles does indeed correspond to the set of enabled
consoles listed by dmesg, however the last-listed on the cmdline is
not necessarily the last in the list. Perhaps this is influenced by
the device EFI specifies as the default console?

What it doesn't do (which I was hoping for) is automagically note that
there is a display attached (that could be used as a console) unless you
tell it to look.

Anyone know what would it take to make tty0 appear as a valid console
on a thunderx machine without having to explicitly list it on the
kernel command line? This is what we'd ideally like to happen.

I've modified reopen-console-linux to use /proc/console and run D-I on all 
found.
I'll test that on tue when back at suitable machine, and post here when it 
shows signs of working.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Re: Multiple console support in d-i

2019-01-19 Thread Wookey
On 2019-01-19 20:11 +, Ben Hutchings wrote:
> On Sat, 2019-01-19 at 11:08 +, Steve McIntyre wrote:
> [...]
> >  * add lots more console= options to the grub.cfg for arm64 (to cover
> >all the possibilities), then let d-i startup work out which devices
> >exist from /proc/cmdlinge and spawn d-i on each.
> [...]
> 
> I think you should look in /proc/consoles, not /proc/cmdline.  The
> format is documented in
> https://www.kernel.org/doc/Documentation/filesystems/proc.txt

Interesting.

Currently reopen-consoles does:
if d-i console not already recorded
 set console using kernel 'handover' message (in dmesg) if running pre 2.6.38 
kernel
 unless it's set to serial on a non-serial tty, in which case unset it
 make list of 'enabled consoles' from 1st 260k of dmesg
 if one matching device, then set as console
 if still not found (only) one, set to last one in kernel command line args 
 if still not found one, default to /dev/console
 record chosen console
fi
start d-i on recorded console.

I'm not entirely convinced that all this logic is actually needed/optimum,
but I don't know the history of it. 

How exactly does /proc/consoles fit into that? The docs say it is
"registered system consoles". Does that correspond to the same list of
'enabled consoles' the above is currently fishing out of dmesg? Does
it include any/all listed explicitly on the kernel command line?

My current code leaves all this alone and just records/uses all
enabled consoles on the command line, not just the last one, but
ideally we'd autodetect and/or hardcode all the sensible available
consoles and run on them.

If 'read /proc/consoles (and check the devices exist)' does this, then
that sounds very sensible.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: PGP signature


Multiple console support

2019-01-18 Thread Wookey
Arm64 (arm in general in fact) has a rather fundamental problem with
D-I, which is that both serial and display are sensible default
devices for the installer to run on. Which is 'correct' depends very
much on the hardware and the circumstances. You may be installing a
server in rack, or a dev board with no display, in which case serial
is ideal, or you may have a chromebook or an ARM desktop machine with
a screen plugged in and no easy access to the serial console.

This problem doesn't arise on x86 where there is 'always' a screen (or
some BIOs magic to reflect what would be on the screen to serial).

Steve (McIntyre) and I have been thinking about what to do about this,
so did some investigation and came up with a plan. Essentially it was
to run d-i on both if they are configured/available. This way anyone
looking at just one or the other will see D-I as they expect. The
patch is not intrusive and essentially nothing changes if there is
only one console so this should be a low-risk change.

There are some further questions about whether we enable just
specified consoles (from kernel command line), or all
available+enabled consoles, but we can mess with that once the basic
support is in.

So far I have done a proof-of-concept hack and demonstrated that
running two instances does in fact work nicely without anything
obvious breaking. The console selection still needs some work/checking
(I've run out of time for that tonight, but it can easily be fished
out of the kernel command line args. (or we could get fancier).

The changes are in reopen-console (in rootskel), which runs the
initial d-i menu via an inittab entry, using steal-ctty to make sure
file handles and controlling tty are set up correctly.

Essentially all that has to happen is run extra copies on the other console:

--
echo /dev/$console > /var/run/console-device
echo /dev/$extraconsole > /var/run/extraconsole-device
 fi
 
# Some other session may have console as ctty. Steal it from them
# Run D-I on other console if one given
if [ -n $extraconsole ]; then
( exec /sbin/steal-ctty $(cat /var/run/extraconsole-device) "$@" & )
fi
exec /sbin/steal-ctty $(cat /var/run/console) "$@"
---
(attached as rootskel-multiple-consoles.patch)

The only other place this affects is
packages/finish-install.d/90console which reads
/var/run/console-device when tidying up at the end in order to write
inittab entries for the used console device (serial, xen, etc).

We also added some error-checking to steal-ctty.c which it might be
smart to include, because it currently segfaults if you don't give it
the right number of parameters, and silently fails if you run it in a
context where the calling process is not a session-master.

That's in steal-ctty-errorcheck.patch

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
commit 860e5132001dc8a9fb032ada312d590cabc497db
Author: Wookey 
Date:   Fri Jan 18 18:44:09 2019 +

Add steal-ctty error checks

diff --git a/src/sbin/steal-ctty.c b/src/sbin/steal-ctty.c
index 0f3b14f..05a775f 100644
--- a/src/sbin/steal-ctty.c
+++ b/src/sbin/steal-ctty.c
@@ -22,8 +22,12 @@ int main(int argc, char ** argv)
 while (fd > 2) {
 close(fd--);
 }
-ioctl(0, TIOCSCTTY, (char *) 1);
-execvp(argv[2], [2]);
+if (-1 == ioctl(0, TIOCSCTTY, (char *) 1)) {
+  perror("steal-ctty:ioctl");
+}
+if (-1 == execvp(argv[2], [2])) {
+  perror("steal-ctty:execvp");
+}
 /* never reached. */
 return 0;
 }
commit 053b796076981da6fbe38e8e7663f822d935b79b
Author: Wookey 
Date:   Fri Jan 18 18:45:03 2019 +

run two installers

diff --git a/src/sbin/reopen-console-linux b/src/sbin/reopen-console-linux
index 87a7f7a..431bff0 100755
--- a/src/sbin/reopen-console-linux
+++ b/src/sbin/reopen-console-linux
@@ -70,7 +70,13 @@ if ! [ -f /var/run/console-device ]; then
 		console=console
 	fi
 	echo /dev/$console > /var/run/console-device
+	echo /dev/$extraconsole > /var/run/extraconsole-device
 fi
 
-# Some other session may have it as ctty. Steal it from them
-exec /sbin/steal-ctty $(cat /var/run/console-device) "$@"
+# Some other session may have console as ctty. Steal it from them
+# Run D-I on other consoles if they are given
+if [ -n $extraconsole ]; then
+( exec /sbin/steal-ctty $(cat /var/run/extraconsole-device) "$@" & )
+fi
+exec /sbin/steal-ctty $(cat /var/run/console) "$@"
+


signature.asc
Description: PGP signature


arm64 graphical installer

2019-01-18 Thread Wookey
I've done some work on getting the graphical installer going on arm64.

It's not quite finished, but Steve suggested I publish where I'm at so
I can get some help with the right set of module packages, and we can
start fixing up missing bits.

The first patch (enable-arm64-netboot-gtk.patch) enables the
support. This allows X to start on the display (if the correct console
is found/specified - see next mail). This looks lovely, but there is
no input working, because there are no no x input drivers installed,
nor modules for USB devices (keyboard and mouse are USB).

The second patch (add-missing-arm64-netboot-modules.patch) endeavours
to fix that, by putting arm64 on the same basis as amd64 in terms of
modules loaded.  However not all module packages are built for arm64
so I had to remove some to get a working build.

Missing modules (not built on arm64) are:
mouse-modules
speakup-modules
acpi-modules
sound-modules

we should fix that too.

I was not able to demonstrate that the resulting build works fully,
because when it tries to boot the kernel I get "Error: Invalid Magic
number..., you need to load the kernel first". No idea why that's
changed due to adding more module packages? Clues welcome.

This all sounds more broken than it is: the difficult bit of the
graphics works fine, we just need to make sure the right modules for X
input are available too.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
From b8d5ea7d37670c6c5f9cc251e1cfc5f007388eb6 Mon Sep 17 00:00:00 2001
From: Wookey 
Date: Tue, 8 Jan 2019 18:14:22 +
Subject: Add support for graphical installer to arm64


diff --git a/build/config/arm64.cfg b/build/config/arm64.cfg
index d9e782d..f320324 100644
--- a/build/config/arm64.cfg
+++ b/build/config/arm64.cfg
@@ -1,4 +1,4 @@
-MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot
+MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot
 
 KERNELMAJOR = 2.6
 # The version of the kernel to use.
diff --git a/build/config/arm64/netboot-gtk.cfg b/build/config/arm64/netboot-gtk.cfg
new file mode 100644
index 000..0f1d246
--- /dev/null
+++ b/build/config/arm64/netboot-gtk.cfg
@@ -0,0 +1,24 @@
+MEDIA_TYPE = netboot image
+
+NETBOOT_DIR_TARGETS = $(TEMP_INITRD) $(TEMP_KERNEL)
+
+TYPE = netboot/gtk
+
+TARGET = $(NETBOOT_DIR) $(NETBOOT_TAR) $(MINIISO)
+EXTRANAME = netboot/gtk/
+
+BOOT_SCREEN_DIR = $(NETBOOT_PATH)/boot-screens/
+
+MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server (graphical installer)"
+MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory (graphical installer)"
+MANIFEST-MINIISO = "not so tiny CD image that boots the graphical netboot installer"
+
+IS_PURE_GTK = 1
+
+KEEP_GI_LANGS = 1
+
+VIDEO_MODE=$(VIDEO_MODE_GTK)
+
+# All images that include cdebconf should include symbols needed by these
+# plugins.
+EXTRAUDEBS += cdebconf-gtk-entropy
From b0bc63a3baeb1e46c469d75ff7d68929be267949 Mon Sep 17 00:00:00 2001
From: Wookey 
Date: Sat, 19 Jan 2019 03:13:40 +
Subject: Add missing modules (usb, fat, virtio) to arm64 netboot build and
 xorg modules to netbook-gtk


diff --git a/build/pkg-lists/netboot/arm64.cfg b/build/pkg-lists/netboot/arm64.cfg
index e07dff0..18ca630 100644
--- a/build/pkg-lists/netboot/arm64.cfg
+++ b/build/pkg-lists/netboot/arm64.cfg
@@ -11,9 +11,22 @@ nic-modules-${kernel:Version}
 nic-usb-modules-${kernel:Version}
 nic-wireless-modules-${kernel:Version}
 virtio-modules-${kernel:Version}
+usb-modules-${kernel:Version}
 
 fb-modules-${kernel:Version} ?
 input-modules-${kernel:Version} ?
 
-#for all targets
+# In case they need to load a driver image.
+mountmedia
+media-retriever
+fat-modules-${kernel:Version}
+usb-storage-modules-${kernel:Version}
+mmc-modules-${kernel:Version} ?
+
+# brltty
+brltty-udeb
+serial-modules-${kernel:Version} ?
+usb-serial-modules-${kernel:Version} ?
+uinput-modules-${kernel:Version} ?
 
+#for all targets
diff --git a/build/pkg-lists/netboot/gtk/arm64.cfg b/build/pkg-lists/netboot/gtk/arm64.cfg
new file mode 100644
index 000..2d8530a
--- /dev/null
+++ b/build/pkg-lists/netboot/gtk/arm64.cfg
@@ -0,0 +1,10 @@
+#include "gtk-linux"
+
+#mouse-modules-${kernel:Version}
+xserver-xorg-input-evdev-udeb
+xserver-xorg-video-fbdev-udeb
+
+#speakup-modules-${kernel:Version}
+#sound-modules-${kernel:Version}
+#console-setup-linux-fonts-udeb
+#espeakup-udeb


signature.asc
Description: PGP signature


Bug#851790: installation-reports: DNS not working

2017-01-23 Thread Wookey
On 2017-01-19 11:04 +0100, Cyril Brulebois wrote:
> Steve McIntyre <st...@einval.com> (2017-01-19):
> > On Thu, Jan 19, 2017 at 08:57:54AM +0100, Aurelien Jarno wrote:
> > >
> > >The workaround are to make sure the chroots are up-to-date (which should
> > >be the case now on the build daemons). An other alternative would be to
> > >avoid copying a library in mklibs if it is already present in the image.
> > >That might break if some very strict dependencies are used, though
> > >I guess the way the udebs are downloaded, they should always have the
> > >same or a newer version than in the chroot.
> > 
> > Thanks for the explanation - it's appreciated!
> 
> Yeah, thanks for the confirmation.

OK. I tested today's image (2017-01-23 04:56) and the install went
through OK, so we are back in sync and this issue is gone for now. It should
probably be retitled to something about library sync/using host libs
and left open until it's fixed propoerly.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: Digital signature


Bug#851790: installation-reports: DNS not working

2017-01-18 Thread Wookey
Package: installation-reports
Severity: grave
Tags: d-i
Justification: renders package unusable

Dear Maintainer,

The current installer, with the new 4.9 kernel, is unable to resolve
domains, so is quite seriously broken.

This was noted during install on an arm64 gigabyte MP30-AR1
desktop/server, when choose-mirror failed, but it soon became clear
that DNS was not working.

Testing on an x86 VM with the same daily image (18th Jan 2017) found
the same problem. Going back to the rc1 installer image (4.8 kernel)
it works OK.

Tests showed that the network came up fine and things are pingable by IP, but 
not name:
# ping wookware.org   
ping: bad address 'wookware.org'
# ping 93.93.131.118
PING 93.93.131.118 (93.93.131.118): 56 data bytes
64 bytes from 93.93.131.118: seq=0 ttl=50 time=19.892 ms

similarly the failing line from the choose-mirror log works if an address is 
inserted:
Jan 18 17:04:11 choose-mirror[31201]: DEBUG: command: wget --no-verbose 
http://debian-mirror.cambridge.arm.com/debian/dists/stretch/Release -O - | grep 
-E '^(Suite|Codename|Architectures):'   

Jan 18 17:04:11 choose-mirror[31201]: WARNING **: mirror does not support the 
specified release (stretch) 

# wget --no-verbose 
http://debian-mirror.cambridge.arm.com/debian/dists/stretch/Release -O - | grep 
-E '^(Suite|Codename|Architectures):'
wget: unable to resolve host address 'debian-mirror.cambridge.arm.com'

# wget --no-verbose http://10.1.194.51/debian/dists/stretch/Release -O - | gre
p -E '^(Suite|Codename|Architectures):'
Suite: testing
Codename: stretch
Architectures: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
2017-01-18 17:47:12 URL:http://10.1.194.51/debian/dists/stretch/Release 
[177979/177979] -> "-" [1]

resolv.conf is as expected:
search cambridge.arm.com
nameserver 10.1.2.24
nameserver 10.1.2.23

(adding nameserver 8.8.8.8 makes no difference)

Watching packets go by when doing a VM install it is clear that the
local DNS server returns the correct response, but this is being ignored
or lost by the D-I initrd.

attached is an strace of strace ping wookware.org > /tmp/tracelog 2>&1

That gets a response from the server OK, but then goes on to ask the
other one. a working strace then uses the provided IP address. So
there is nothing obviously going wrong there.

-- Package-specific info:

Boot method: USB
Image version: 
http://gemmei.acc.umu.se/cdimage/daily-builds/daily/arch-latest/arm64/iso-cd/debian-testing-arm64-netinst.iso
Date: 

Machine: Gigabyte MP30-AR1, (and x86 VM)
Partitions: (default guided LVM, with separate /home chosen)


Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:   [O]
Detect network card:[O]
Configure network:  [O]
Detect CD:  [O]
Load installer modules: [O]
Clock/timezone setup:   [O]
User/password setup:[O]
Detect hard drives: [O]
Partition hard drives:  [O]
Install base system:[E]
Install tasks:  [ ]
Install boot loader:[ ]
Overall install:[ ]

Comments/Problems:

Worked as expected until DNS needed

-- 

Please make sure that the hardware-summary log file, and any other
installation logs that you think would be useful are attached to this
report. Please compress large files using gzip.

Once you have filled out this report, mail it to sub...@bugs.debian.org.

removed automatic info as this report written on different machine fro install.
execve("/bin/ping", ["ping", "wookware.org"], [/* 14 vars */]) = 0
brk(NULL)   = 0xc9893000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or 
directory)
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x86677000
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or 
directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such 
file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/tls/aarch64/libc.so.6", 
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/aarch64-linux-gnu/tls/aarch64", 0xc66b2660, 0) = 
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = 
-1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/aarch64-linux-gnu/tls", 0xc66b2660, 0) = -1 
ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/aarch64/libc.so.6", 
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/aarch64-linux-gnu/aarch64", 0xc66b2660, 0) = -1 
ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 
ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/aarch64-linux-gnu", {st_mode=S_IFDIR|0755, 
st_size=360, ...}, 0) = 0
openat(AT_FDCWD, 

Bug#807312: src:debian-installer: please provide binary package for use by debian-installer-netboot-images

2016-02-02 Thread Wookey

> what do you mean by that? Source packages like cross-gcc-4.9-armhf
> *do* have cross-arch build-deps. Were you talking about missing
> support in britney to properly transition source packages with
> cross-arch build-deps? Is there a bug about this open somewhere?

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770925

Stalled since debconf. Although that's actually the wanna-build code,
rather than britney. We've been waiting for w-b to be implemented
before we could sensibly worry about britney.

But time is getting short if we are to have this working this release.

Aurelien - can we help move this along?

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


signature.asc
Description: Digital signature


Re: Packages to install be default for Stretch

2015-05-05 Thread Wookey
+++ Samuel Thibault [2015-05-06 01:09 +0200]:
 Ansgar Burchardt, le Tue 05 May 2015 20:45:09 +0200, a écrit :
  - info, texinfo, install-info:
I admit having used info only in desperation. Most documentation
comes in man page format.
- demote to optional
 
 Proper autoconf, automake, gcc, etc. documentations only really come in
 info format.

Indeed.

If we are going to have an info reader installed can it please be
pinfo instead of info? It's _so_ much better. 

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150506022113.gi24...@halon.org.uk



Re: Help with the arm64 and ppc64el installation-guides needed

2015-04-13 Thread Wookey
+++ Karsten Merker [2015-04-09 18:13 +0200]:
 Hello everybody,
 
 the release date for Jessie is near, but the installation-guide
 does not seem to contain any arm64/ppc64el-specific information
 yet. It would be nice if those who are familiar with those
 platforms could provide patches against the installation guide,
 so that we can release with proper documentation.
 
 At least some basic information about the supported hardware
 for the overview at 
 
 https://jenkins.debian.net/userContent/installation-guide/installation-guide-arm64/en/ch02s01.html

OK. I've done this. I don't seem to have commit rights (should I?)
Sendingen/hardware/supported/arm.xml
Transmitting file data .svn: E13: Commit failed (details follow):
svn: E13: Can't open file '/svn/d-i/db/txn-current-lock': Permission denied

so patch attached.

I'll work on the 2nd part now.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/
Index: en/hardware/supported/arm.xml
===
--- en/hardware/supported/arm.xml	(revision 69739)
+++ en/hardware/supported/arm.xml	(working copy)
@@ -6,49 +6,57 @@
 
 para
 
-ARM systems are a lot more heterogenous than the i386/amd64-based PC
-architecture, where all systems share a common system firmware (BIOS or/and
-UEFI) which handles the board-specific basic hardware initialization in a
-standardized way.
+ARM systems are much more heterogenous than the i386/amd64-based PC
+architecture, so whilst 64-bit ARM machines should boot in a
+standardised way, like PCs, the situation is more complicated for
+32-bit ARM machines.
 
-The ARM architecture is used mainly in so-called quotesystems-on-chip/quote (SoCs). 
-These SoCs are designed by many different companies with vastly varying
-hardware components even for the very basic functionality required to bring
-the system up.  Systems using them usually lack a common system firmware
-interface and as a result, on ARM systems the Linux kernel has to take care
-of many system-specific low-level issues which are handled by the
-mainboard's BIOS in the PC world.
+/para
 
+para
+The ARM architecture is used mainly in so-called
+quotesystems-on-chip/quote (SoCs). These SoCs are designed by many
+different companies with vastly varying hardware components even for
+the very basic functionality required to bring the system up. System
+firmware interfaces have been increasingly standardised over time, but
+especially on older hardware firmware/boot interfaces vary a great
+deal, so on these systems the Linux kernel has to take care of many
+system-specific low-level issues which are handled by the mainboard's
+BIOS in the PC world.
+
 /para
 
 para
+At the beginning of the ARM support in the Linux kernel, the hardware
+variety resulted in the requirement of having a separate kernel for
+each ARM system in contrast to the quoteone-fits-all/quote kernel
+for PC systems.  As this approach does not scale to a large number of
+different systems, work was done to allow booting with a single ARM
+kernel that can run on different ARM systems.  Support for newer ARM
+systems gets implemented in a way that allows the use of such a
+multiplatform kernel, but for several older systems a seperate
+specific kernel is still required.
+/para
 
-At the beginning of the ARM support in the Linux kernel, this resulted in
-the requirement of having a seperate kernel for each ARM system in contrast
-to the quoteone-fits-all/quote kernel for PC systems.  As this approach does not
-scale to a large number of different systems, work has started to be able to
-provide a single ARM kernel that can run on different ARM systems.  Support
-for newer ARM systems gets implemented in a way that allows the use of such
-a multiplatform kernel, but for several older systems a seperate specific
-kernel is still required.
-
+para
 Because of this, the standard debian; distribution only supports
-installation on a selected number of older ARM systems in addition to the
-newer systems which are supported by the ARM multiplatform (armmp) kernel. 
+installation on a selected number of older 32-bit ARM systems in
+addition to the newer (32 and 64 -bit) systems which are supported by
+the ARM multiplatform kernels (called 'armmp' on 32-bit armhf, no
+flavour name on 64-bit arm64).
 
 /para
 
 para
-
 The ARM architecture has evolved over time and modern ARM processors provide
 features which are not available in older models.  debian; therefore
-provides two ARM ports, the debian;/armel and the debian;/armhf port. 
+provides three ARM ports: the debian;/arm64 port for all 64-bit machines, and the debian;/armel and the debian;/armhf ports for 32-bit machines. 
 debian;/armel targets older ARM processors without support for a hardware
 floating point unit (FPU), while debian;/armhf works only on newer ARM
 processors which implement at least the ARMv7 architecture with version 3 of
 the ARM vector floating point

Bug#781344: debian-installer: Enable entering a local mirror name in 'mirror URL' menu as well as 'country' menu'

2015-03-27 Thread Wookey
Package: debian-installer
Severity: wishlist

Currently it is possible to select 'Enter Manually' from the top of
the country list when choosing a debian mirror to netinstall from. A
user quite reasonably looks for this option when given the list of
mirrors, not when given the list of countries, so it should be
available there too.

Tested on Jessie d-i RC2

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-updates'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/20150327184713.18301.82436.report...@e106839-lin.cambridge.arm.com



Bug#759442: discover: run dh-autoreconf to update for new architectures

2014-08-27 Thread Wookey
Package: discover
Version: 2.1.2-5.2
Severity: normal
User: debian-...@lists.debian.org
Usertag: arm64

This package failed to build on arm64. Here is the buildd log:
https://buildd.debian.org/status/fetch.php?pkg=discoverarch=arm64ver=2.1.2-5.2stamp=1408296386.

It is one of hundreds of packages which need autoconf updates in order
to build on new architectures such as arm64, mips64el, ppc64el and
or1k. Re-autoconfing is the recommended way to deal with the general
case of this problem in Debian, as it works now and in the future, and
ensures packages remain buildable from source. This page (
https://wiki.debian.org/Autoreconf ) contains information on this
issue, and details for maintainers on how to update their packages:

The porter teams are working hard to get the new architectures ready
for jessie, and time is short, so do please try to fix this issue
promptly. It's often trivial to do.


-- System Information:
Debian Release: 7.6
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.60-kvm-i386-20140609 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/20140827095605.24538.62439.report...@stoneboat.aleph1.co.uk



Re: [Pkg-xfce-devel] Reverting to GNOME for jessie's default desktop

2014-08-12 Thread Wookey
+++ Kees de Jong [2014-08-12 02:03 +0200]:
Are we really comparing RAM here as if it were the 90's? How many people
here use Android? Today it needs 512 MB to function properly. In two years
that could be 1 or 2 GB and that's a mobile OS. How much RAM does your
browser use? 

Too much! I agree browsers use more ram than desktops these days, or
at least the big ones (firefox, chrome) do. 

My Chrome/Firefox easily uses 1 GB. My GNOME 3.10 desktop
(running Fedora now because I needed a modern GNOME version for Exchange
support for work) is using about 800 MB to 1200 MB. Do I really care? No,
because RAM is cheap and I have 8 GB. Do I need to buy more? No, because 8
GB is still more than enough.

That's fine so long as your hardware is new enough to take more
memory. Anyone with an ARM machine will be in the 512MB/1G/2G camp. My
laptop (x200s) officially maxes out at 4G, although it turns out that
8G does actually work in practice.

Memory usage does still matter as your hardware doesn't have to be
particularly old to have RAM of a size that is likely to all get used,
and on arm (increasingly being used for netbook/laptop/desktop usage)
it's practically guaranteed.

So yes, it's not the 1990s but I think we should aim to make Debian to
work tolerably well on 2 or 4G systems. Alistair posted numbers
suggesting 600MB for gnome3 or KDE, 360 for XFCE, 300 for LXDE, which
is a difference, but not a huge one. Very significant on a 512MB
machine, but not that significant on 2G. You say 800-1200 above which
is twice as much. Is this the differnce between initial boot up and
usage after some time, or 'various add-ons'? Knowing what 'typical'
numbers are would be useful. I have various well-used XFCE desktops I
could check but I'm not sure how to get a cmparable RAM-usage number
of them.

If you can't run GNOME because you don't have the system specs to run a
modern desktop then you can select XFCE/LXDE in the installation menu. But
let's be fair, those people are a minority. And a default should fit the
needs of the majority. And since people easily have 4 GB of RAM or more
these days with the basic 3D acceleration

I only had 2G RAM till last year (when I had to buy some more because
browsers take so much damn RAM). I think we should at least consider
those people in the 'typical machines' bucket. 

  (even a Raspberry Pi can run GNOME 3)

A Pi is only 512MB, so 'barely'. Like most arm hardware memory levels are still
low by modern x86 standards. They are like late 90s/early 2000s x86 machines in 
this regard.

I don't want to over-emphasise the arm thing - it is still a minority
sport - but it's a growing area of usage where memory is still
limited.

I just wanted to counter a little the 'everyone has buckets of RAM
these days' view, whilst acnowledging that it is no longer the 90's
and a 512Mb machine will struggle with any modern desktop+browser
(which is sad IMHO - dawkins knows what software, especially browsers,
do with all that memory! - hundreds of Mb for simple tables of built
packages, for example, but I digress :-)

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140812085008.gl7...@stoneboat.aleph1.co.uk



Re: [Pkg-xfce-devel] Reverting to GNOME for jessie's default desktop

2014-08-12 Thread Wookey
+++ Anthony F McInerney [2014-08-12 00:02 +0100]:
XFCE:
 
 total   used   free sharedbuffers cached
Mem:506756 362468 144288   6568  22756 179264
-/+ buffers/cache: 160448 346308
Swap:   392188  0 392188
 
GNOME:
 
 total   used   free sharedbuffers cached
Mem:506756 500360   6396   1948840  37724
-/+ buffers/cache: 461796  44960
Swap:   392188  66672 325516
 
LXDE:
 
 total   used   free sharedbuffers cached
Mem:506756 316504 190252   8500  18920 149812
-/+ buffers/cache: 147772 358984
Swap:   392188  0 392188
 
KDE:
 
 total   used   free sharedbuffers cached
Mem:506756 499724   7032   6772  10516 109760
-/+ buffers/cache: 379448 127308
Swap:   392188  21632 370556

Thanks for this, interesting.

Could you do MATE too please?


Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140812085136.gm7...@stoneboat.aleph1.co.uk



Bug#734743: debootstrap: Assumes MAKEDEV is in /sbin which may not be true on a non-debian rootfs

2014-01-09 Thread Wookey
Package: debootstrap
Version: 1.0.56
Severity: normal

If using debootstrap to create a debian or ubuntu rootfs on a non-debian
system, the baked-in assumption that MAKEDEV is in /sbin is wrong. (It's
not true on an OE rootfs, for example).

The instructions in README for creating such a rootfs say:
Unpack the tarball then:
make devices.tar.gz
export DEBOOTSTRAP_DIR=`pwd`
debootstrap sid sid

The make devices.tar.gz step fails when MAKEDEV is not in /sbin.

We could stop using MAKEDEV, as suggested in #571136.

In the meantime, changing the line in Makefile

MAKEDEV := /sbin/MAKEDEV
to
MAKEDEV ?= /sbin/MAKEDEV

would allow make to be called with a setting for where MAKEDEV is (copying a 
version over from somewhere should be practical)

make MAKEDEV='/home/user/utils/MAKEDEV' devices.tar.gz

I tested this and it work (so long as an absolute path is given)

-- System Information:
Debian Release: 7.3
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-kvm-i386-20110111 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20140109140644.16616.53401.report...@stoneboat.aleph1.co.uk



Re: modifying and verifying debian installer for armhf board (a10-eoma68)

2013-05-20 Thread Wookey
+++ Luke Kenneth Casson Leighton [2013-05-20 15:22 +0100]:
  but also, this is /sbin/init rather than /init - which one should
 really be executed (as process 1) - both exist.   

/sbin/init exists on a standard debian wheezy (or ubuntu raring) 
rootfs. /init doesn't.

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130520150958.gl11...@stoneboat.aleph1.co.uk



Re: modifying and verifying debian installer for armhf board (a10-eoma68)

2013-05-19 Thread Wookey
+++ luke.leighton [2013-05-19 10:37 +0100]:
 On Sun, May 19, 2013 at 7:49 AM, Ian Campbell i...@hellion.org.uk wrote:
 
  Sounds like you want a network-console flavour image, like the ones used
  for kirkwood, http://www.cyrius.com/debian/kirkwood/qnap/ts-41x/install/
 
  it does, doesn't it?  i've been thinking that through (and also
 looking at the source of debian-installer).  the only thing that
 doesn't make sense is: it's all set up to require a password. 
 
  so i'm tempted to just do an experiment - just because i can - to use
 busybox-telnetd - because the route of using openssh _has_ been solved
 already but isn't quiiite appropriate, and i think
 telnetd-over-g_ether will turn out to be a very useful combination.

I used this for balloon bootstrapping about 4 years ago, mostly
because ssh is annoying if you have a pile of boards to fill with code
as, even when you got the keys right, it bitches everytime you put a
new one in that the other end has changed. It is possible to nobble
this but telnetd is a lot simpler for this application. 

As someone else has pointed out a console on an ACM gadget driver is
also good. 

  how do you tell debian-installer i don't want a kernel installed
 thanks for offering?

Not sure, but don't we really want to make a D-I setup with a local
kernel package to install? I believe that functionality exists,
although I've never got round to trying it myself. 



Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130519201141.gg2...@stoneboat.aleph1.co.uk



Bug#673644: Message at end of successful install talks about floppies (should be updated)

2012-05-20 Thread Wookey
Package: debian-installer
Version: wheezy alpha
Severity: minor
Tags: d-i

At the end of a successful install you get the 'installation complete'
message: installation is complete, so it is time to boot into your
new system. Make sure to remove the installatio media (CD-ROM,
floppies), ...

I suggest that be updated to (DVD, USB drive, CD) or something. 

(A very minor nit - otherwise my experience of wheezy-A1-amd64-netinst
on an atom N450 dev board was excellent - well done). 

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20120520114746.28744.46380.report...@kh.home.wookware.org



Re: Wheezy release: CDs are not big enough any more...

2012-05-18 Thread Wookey
+++ Mehdi Dogguy [2012-05-16 16:24 +0200]:
 On 16/05/12 13:41, Wookey wrote:
 is there any reason not to just upload this to Debian?
 
 There are ITPs filed for it:
 - http://bugs.debian.org/582884
 - http://bugs.debian.org/576359

Yes. I discovered that when I went to file an ITP :-)

It turns out that there is a problem preventing upload. The rather
generic name 'usb-creator' was objected-to and a request made to
change it to 'startup-disk-creator' (The name the app shows).

Upload seems to be stalled on changing the name of the launchpad
project to give matching source and binary names. This seems
well-meaning but has the unfortunate effect that nothign has happened
for a year, despite several people expressing an interst in uploading.

I also tested it with a debian installer image and found that it is
bust due to a load of ugly code dealing with the syslinux transition
from 2.3x to 2.4x around Ubuntu 10.04-10.10 (generating old images
whilst running on a new machine, and vice versa, different package and
different syntax). It blows up on debian due to 'GNU/Linux' not being
a valid version. As we don't even have syslinux-legacy in Debian all
this mess should probably just be thrown away.
https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1000527

My python-foo wasn't up to actually fixing it myself. Nor do I know
how important it is to keep this sort of old-release compatibility
(how old?).

Anyone with the enthusiasm to fix the upstream-renaming thing, or this
code (not hard, just fiddly) could get this into Debian promptly I
think. 

Wookey


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518121724.gu11...@stoneboat.aleph1.co.uk



Re: Wheezy release: CDs are not big enough any more...

2012-05-16 Thread Wookey
+++ Timo Juhani Lindfors [2012-05-15 21:01 +0300]:

Yes, turns out I failed to read the instructions right, presumably due
to thinking I knew how this worked (i.e. you can't just put an iso
stright onto a USB stick, and you need 'hd-media' for USB sticks).

I'm glad to see that this has got significantly simpler.

 ubuntu uses the usb-creator package to provide a dbus api that allows
 normal users to create usb installation media. (It carefully checks that
 you can not write to the internal hard disk).

I think this is what most inexpert users would like to see - a
reasonably idiot-proof GUI tool for downloading an installer image and
putting it on the USB stick for them.

usb-creator is in ubuntu but not Debian for no good reason. It has
already had Debian support added. 

One of the uploaders, and the person who added the Debian support is a
DD: Dmitrijs Ledkovs. Dmitri - is there any reason not to just upload
this to Debian? I see a couple of places in the UI where it says
'Ubuntu' and it would be good if it got a bit cleverer and put in the
appropriate string with dpkg-vendor, as it already does for the logo
files. I also fixed up the build so it skips the not-present
dh-translations on Debian, and otherwise modified the deps for Debian.
I'll do some testing tonight when I have USB sticks to hand.

There are probably quite a few useful utilities like this in Ubuntu
universe that should get uploaded. 

Wookey


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120516114114.gj11...@stoneboat.aleph1.co.uk



Re: Wheezy release: CDs are not big enough any more...

2012-05-15 Thread Wookey
+++ Steve McIntyre [2012-05-15 13:38 +0100]:
 [ re-adding CC to debian-cd and debian-boot ]
 
 2. USB-targeted images
 
 I've also tweaked DVD#1 of each set to fit in 4GB instead of the
 normal 4.7GB, so that it fits on a 4GB USB stick to make it more
 useful. We could quite readily produce (say) 2GB images specifically
 designed for smaller USB sticks if enough people consider that to be
 useful. I'm thinking that would be a specific single extra
 image. Thoughts?

I have always installed from USB stick (or SD card) on everything for
the last several years. It must be 4 years since I used a CD or DVD.
Especially on dev boards (x86 or arm) that is usually the only medium
slot you have. I assume this is common.

And the USB-stick process is not as simple as it might be because you
have to find the HD-media files and then _also_ find an iso image to
put on. It's no wonder newbs are still downloading CD/DVD images. 

Only last night I tried to install current testing to an intel dev
board. I tried using unetbootin which is a great way of making the
USB-key install process less cryptic, but for some reason it failed to
get unstable images, and could only manage testing ones. (I'll check
that and file a bug tonight).

I think we could usefully focus on making the USB-stick/MMC card
experience simple as that covers an awful lot of modern use-cases. It
currently feels like a bit of a 'poor relation'.

That might mean recommending the use of Unetbootin (and making sure it
works), or providing complete say 2G and 4G images and some simple way
of burning them. Maybe a 'debianised' version of unetbootin that just
provides debian images and hides most of the gory details, but will
help stop you shooting yourself in the foot?

It looks to me like we have all the parts for that, it's just the
emphasis needs changing, or maybe even just the docs updating (I may
not be doing this the easiest way - it's not totally obvious from the
debian download page what to do - AIUI you have to read the install docs,
and understand to download the hd-media files (either the image gzip
or the files) and an iso from somewhere else and put it all on the
stick.)


 3. Which installer image(s) should we link to as preferred?
 
 We're currently linking to the multi-arch amd64/i386 netinst CD from
 the front of www.debian.org. I think that's still a good choice, but
 I'm open to being convinced otherwise.

add a netinst USB image would be a good thing IMHO. Along with the
equivalent tool to a CDburner to make it painless. Maybe even make
netinst USB sticks the default over CDs? And try to hide the
'hd-media' name at least in initial download selection, because it is
geek-accurate, but rather confusing to a newcomer. 

Wookey


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515142459.gf11...@stoneboat.aleph1.co.uk



Debconf11 multiarch-related-items meeting notes

2011-07-30 Thread Wookey
We held a meeting during debconf discussing policy on things which
multiarch enables: partial architectures,
cross-compilers in the archive, cross-comiled uploads, and a few other
things.

I've posted the meeting notes here:
http://wiki.debian.org/Multiarch/Debconf11MultiarchRelatedMinutes


reproduced here:

Multiarch cross-architecture meeting minutes

Held at Debconf 11 2011-07-26. 5pm

Present. Approx 12 people, including Steve Langasek(vorlon) (chairing), Wookey 
(minuting), Mark Hymers(mhy) (FTPmasters), Adam Barratt(adsb) (Release team), 
Andreas Barth(aba) (Release team), Steve McIntyre(sledge) (Install Media team), 
Mattias Klose(doko) (gcc maintainer), Aurellien Jarno(aurel32) (eglibc 
maintainer, ports buildd maintainer), Neil Mcgovern(maulkin) (release team), 
Tollef Fog Heen(mithrandir), Goswin von Brederlow(goswin), Philip 
Kaluza(pixelpapst) (minuting) + 1 other (sorry, don't know name)

All errors in these notes are Wookey's fault. A lot of people said a lot of 
things, and getting down the significant points of what was said without 
missing anything important was not particularly easy, so there are probably a 
few things missing, and potentially some misrepresentations (although few 
comments are attributed). please just fix up anything that needs it.

(Philip Kaluza's version of the minutes is also included below).

Agenda for meeting roughly:

* keep grub-pc in amd64 ?
* partial architectures ?
* what to do with gcc-multilib
* cross-compilers in archive
* cool things to do in the future
* stuff that's not arch-independant in contents, but is in there use. 
(firmware etc.)
* How to manage install media 

Firstly: are there any serious blockers (e.g. dpkg) before usingmultiarch in 
main.

In short, 'No'.

Partial arches?

Use cases:

   1. 'almost complete' e.g amd64, but with 32-bit grub.
   2. 'optimised' (a few packages). 

Also ABI-incompatible and optimised: These are not the same, but could probably 
most easily be treated the same by infrastructure.

Examples of partial arches are:

* sparc64 and ppc64: could expand to full arch, win32 won't. (this is a 
relatively exotic 'future' possibility 

dak (on the ftpmaster side) doesn't care whether a package set is closed across 
an arch but britney (release team) does.

Some discussion of when it is useful to have mixed 64/32 arch or not. What 
packages are pointless in 64-bit form on sparc64, for example. x86_64 is faster 
than x86_32, but sparc64 is not faster than sparc32 (so no real point making it 
a full arch).

Build/release people would like to see the definition of an arch being: Arch is 
something that has to be built on that arch (where arch is a set). This works 
well for 64/32 or i386+i686.

Archive size: are there major restrictions? ftpmasters: It's already way too 
big so lets just press on. Biggest churn is in dists. mirror pulse size is more 
costly than disk size. Are we going to have smaller package files?
Maybe - this depends on implementation.

In a small partial arch we can merge small extra files into host arch package. 
Is this a good idea? Does apt do the right thing anyway? It should do Needs 
testing.

likely partial arches: i686, ppc64, sparc64, s390x, mips64, arm/x86 
optimisations? ABI-comptible optimisations are not the same as 
ABI-incompatible. But could be treated the same way.

As well as sparc64 needing base sparc packages, sparc has a sparc64 kernel. So 
neither arch is complete alone. (but definition of both as needing in both 
works)

Does allowing partials mean that incentive to move base build of a port forward 
(eg would we still be using 286) is removed? No, because toolchain support is 
dropped eventually. We still need to drop old stuff and move base along.

What if you have i386/686/amd64 all on one machine/install. Discussion about 
installing with 3 DVDs until you have all arches you want. How should install 
media work?
Agreement: Need to have correct user interface for this. For upgrades as well 
as installs.

reportbug needs to report the arch of package. Otherwise we have no chance of 
reproducing bugreports. So does popcon.
vorlon: dpkg -l should do the right thing already.

Can we drop 32 and 64-bit 'foreign' kernels now? (i.e -amd64 kernel from i386)
Kernel team would like to do it now, but may well have to wait one release. 
(ask kernel team for input)

Big picture: How to handle first upgrade to MultiArch ?
That may need release-note update to say 'get this package first', then do 
dist-upgrade.
This always causes some breakage.

How do we decide on arch qualification for release? someone needs to define 
some criteria. How do we define the set of stuff for percent-built? Subject 
needs work.

Do we want to get rid of anything depending on gcc-multilib?

Doko wants to keep mulitilib capability.

Cross-compilers in the archive

Are we going to upload some. How do we decide which set?

How do we implement cross-builds. From gcc package?

gcc

Fw: Re: Starting Debian installer from Grub2 on Flash

2011-02-28 Thread Wookey
[Forwarded from Debian-arm list to somewherre where the answers might
be better known. ]

- Forwarded message from Jean-Michel Pouré - GOOZE jmpo...@gooze.eu -

From: Jean-Michel Pouré - GOOZE jmpo...@gooze.eu
Date: Tue, 01 Mar 2011 03:12:39 +0100
To: debian-embed...@lists.debian.org
Subject: Re: Starting Debian installer from Grub2 on Flash
Reply-To: jmpo...@gooze.eu
List-Id: debian-embedded.lists.debian.org
X-Spam-Status: No, score=-6.6 required=4.5 tests=BAYES_00,RCVD_IN_DNSWL_MED
autolearn=ham version=3.2.5

Le lundi 28 février 2011 à 23:02 +0100, Jean-Michel Pouré - GOOZE a
écrit :
 Can Debian installer be started and installed on the same CF Flash?
 We would like users to be able to make their own installation using
 Debian installer and network. Therefore a minimal installer should
 reside on CF. A bonus would be the installer being recognized by
 Grub2
 and proposed as a rescue boot. 

I followed instructions from the Debian installer hd-media.
This is an ALIX 2D13 board with serial console.

So I modified sys.conf to boot from console (ok).
Then I modified the image bootloader with serial console support (ok).

Now the CD net-install image boots but does not recognize the flash
drive.

I am aware that PXE installation works. But we would like to offer users
and installer on FLASH to ease installation.

Any idea?

Kind regards,
-- 
  Jean-Michel Pouré - Gooze - http://www.gooze.eu


-- 
To UNSUBSCRIBE, email to debian-embedded-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1298945559.5842.8.camel@acer


- End forwarded message -
Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110301022924.gm9...@dream.aleph1.co.uk



Bug#387424: debian-installer: No option to install kernel/inirtd without base system

2006-09-14 Thread Wookey
Package: debian-installer
Severity: wishlist

I recently had a hard time recovering a system after upgrading the
hard drive. Eventually d-i let me sort things out but it was
difficult, slow, and has probably caused some other problems in the
process due to having to overwrite a load of existing stuff on the
drive. 

The ability to simply install a new, bootable, kernel/initrd after
booting with d-i would have made things enormously easier. Given the
way stock kernel+initrd debian systems now work, it seems to me that
this situation ('I changed something so it won't boot - I need a new
kernel/initrd pair') will be a fairly common event that d-i ought to
be able to cater for, so I humbly request that separating 'install
base system' and 'install kernel/initrd' be considered. (Perhaps it
already is in which case it needs to be easier to discover - I
couldn't see how).

(I was using a d-i version from a few months ago so ignore me if this
is all fixed in the latest version.)

Details: 

The old drive had reiserfs on hda1. The new drive had ext3 on
hda4. Grub was the bootloader. Everything was copied over, but of
course it wouldn't boot because the grub bootloader knew it should be
booting from hda1, and, more seriously - the intrd only had the
reiserfs module, not the ext3 module so couldn't boot from ext3 no
matter what I told it to try. The stock kernel without initrd didn't
understand either fs and so not using the initrd was not an option
either.

Booting with a grub CD didn't help as grub wasn't really the main
problem (but it took me a while to realise this).

Booting with d-i, either in rescue mode or in normal mode let me see
the new drive rootfs, but the only way I could see to let me install a
new kernel was to do 'install new base system', which overwrites a
whole pile of stuff (in this case with older stuff as my d-i was older
than the unstable system I was trying to boot/recover).

I did try 'expert' mode but I got stuck with that. Perhaps it does
separate 'install kernel' and 'install base'?

In fact the 'install kernel' failed anyway due to presence of existing
/lib/modules so in the end I had to copy the kernel and initrd
packages off the cd, then pivot_root, then udpkg -i the packages. (I
couldn't see how to run udpkg so it operated on the rootfs in /target
not /(the initrd) - how does d-i deal with this?). 

This did finally (after some 10 hours of messing about) get me a
system which tried to boot off the new drive (hooray!). It just seems
to me that it shouldn't be this hard, And I thought I was a fairly
competent user. The initrd scheme (with a very minimal base kernel)
makes it much harder to get out of things when you make an
incompatible boot change. d-i is the natural next port of call, so
making it as easy as possible to deal with this situation seems
worthwhile (obviously with out overly distracting from the primary
task of d-i as an installer).

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (50, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-k7
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



queries re ARM port

2004-03-05 Thread Wookey
OK, I've spent a couple of evenings reading the docs and trying to grok the
whole thing. I think I've mostly got it but I have a few questions:

1) Some .cfg files in build/config/ specify MEDIA_TYPE instead of TYPE.
Type seems to be the main things that decides which package lists are used,
but I don't quite see how it works with MEDIA_TYPE - can someone explain the
difference?

I started adding some text on the bottom of build/README about what the
various makfile variables are for (as most of the job seems to be filling in
the right variables in your .cfg fragment so long as you don't want to do
anything too exotic) - a crib sheet for these would be handier than having to
work through the makefile and scrits to work out what to fill in. As I don't
know what I'm doing I am in danger of talking rubbish of course - feel free
to correct me, or add some more :-)

2) I haven't worked out yet where I have to tell the system that I want to use
a serial console. Does it need to be set in Cdebconf or in a kernel boot
string somewhere? This feels like a dumb question, but wandering about
hasn't answered it for me yet.

3)d-i 'doesn't support cross-compiling'. This makes life slightly harder for
me, although it's better than bootfloppies, where native compiles took
forever. Looking at it, I can't see that much needs to change to make this
possible except getting the various instances of dpkg-architecture to give
the right answers (which I think can be done with dpkg-cross). Then it
should just get .udebs of the correct arch. Is there something I haven't
appreciated about how it works which is going to make cross-compiling really
tricky? If not I might try and get it working, just because it's convenient
for me.

TIA (I'm away next week so nothing doing for a while - it's peter's turn for
a bit now :-)

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: ARM d-i port - someone add me to the alioth project please

2004-02-24 Thread Wookey
+++ Karsten Merker [04-02-24 09:31 +0100]:

ah, hello Karsten - got home eventually then? How's the ankle? :-)

 
 Generally it can work on a serial console, but there are still several
 bugs:
 - you have to select US/English, choosing another language like French
   or German will cause a complete hang on serial console
 - kbd-chooser only works if there are also loadable keymaps included,
   even though they do not make sense for a system with serial console
 - sometimes there are display problems / stranger characters on serial
   cnsole

OK, that's good enough for getting something going, I hope. What is needed
to make UTF-8 consoles work properly? kernel changes or D-I changes?

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: debian-installer on arm status

2004-02-24 Thread Wookey
+++ [EMAIL PROTECTED] [04-02-23 18:53 +]:
 On Mon, Feb 23, 2004 at 05:49:57PM +, Wookey wrote:
  +++ Peter Naulls [04-02-23 13:07 +]:
   In message [EMAIL PROTECTED]
 Anthony Towns [EMAIL PROTECTED] wrote:
   
It's time to get debian-installer ported to arm; all the major porting
work should already have been done getting it to work on other arches,
so what's left should be fairly straightforward.

If you can't get this working, arm's status as a supported arch will
have to be reviewed: there's no point releasing a distribution that
can't be installed. (It'd be possible to release arm with a different
installation toolset than d-i, but I can't imagine that'd be any easier
or much more useful than getting d-i ported)
  
  You're right of course, and as you observe it really is getting to 'make it
  work or have arse kicked' time. Part of the problem is of course that arm
  installation has always been somewhat 'distributed'  - there is a special
  version of bootfloppies for most 'supported' machines because the default
  one doesn't actaully work, and an awful lot of people using debian-derived
  stuff don't use either b-f or d-i to get things installed - they use some
  random bootloader for the board in question.
  
  So in fact debian-arm remains useful to a lot of people even without a
  working debian-installer.
  
  That's not really an adequate excuse for not making it work on at least the
  suitable machines, and hopefully it will be better suited to weird hardware
  than b-f was. We'll see.

I've now got uptodate on d-i again at alioth and will take a look at
what needs doing for lart/balloon.

  Poor old vince has found he can't do the kernel _and_ D-I - there aren't
  enough hours in the day.
 
 While true to some extent I did get D-I to the point where I had
 working tftp images for winder, bast, riscstation. I tried to talk to
 #debian-boot about autobuilders and kernel-image builders and (as
 usual) got blown off, this was several months ago and my tree is now
 very very out of date so needs to be done again...
 
 One point, I was going to use the kernel udeb image thingy but in its
 current form adding all the ARM sub arches would make it generate an
 additional 40odd packages from the one source...this seemed grossly
 excessive and I wanted to find a more elegant solution.
 
 One issue which was being cleared up but hadn't been resolved was that
 the final image stuff wanted to put a single vmlinuz file down for all
 sub arches...with several subarches to choose from we ended up without
 a sensible kernel for the bootloader to start except for one target :-/

OK - we need to have this discussion on debian-boot I think, in order to
work out how best to proceed, so I've added it.

D-B people - Is the above still true? ARM currently has (approximately) one
kernel per machine. Even just supporting the existing supported stuff and
things that have enough resources for installing Debian to be a vaguely
sensible thing to do (which excludes quite a lot of potential machines),
means at least 10 kernel udebs, and some lesser number of initrds and module
sets.

Likely targets that someone cares about enough to support are:
Iyonix, RiscPC, Riscstation, Netwinder, Balloon, CATS, LART.

Advice on best way to proceed is welcome.

For much arm hardware using debootstrap rather than D-I may actually make
more sense/be easier. We (arm people) need to look at that too.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: debian-installer on arm status

2004-02-24 Thread Wookey
+++ Jeff Bailey [04-02-24 09:19 -0500]:
 On Tue, 2004-02-24 at 08:55, Wookey wrote:
 
  D-B people - Is the above still true? ARM currently has (approximately) one
  kernel per machine. Even just supporting the existing supported stuff and
  things that have enough resources for installing Debian to be a vaguely
  sensible thing to do (which excludes quite a lot of potential machines),
  means at least 10 kernel udebs, and some lesser number of initrds and module
  sets.
 
 That's not really that bad.  Given the time limit, it's not bad enough
 that I'd spend any time worrying about it that I could spend doing
 porting work. =)

OK, fair enough.

  Likely targets that someone cares about enough to support are:
  Iyonix, RiscPC, Riscstation, Netwinder, Balloon, CATS, LART.
 
 Looking at the Woody boot disks, ARM has support for CATS, LART, RiscPC
 and Netwinder there.  Are these other ones new machines that are
 supported, or did they fit somehow boot off of those other images?

They are new, although Riscstation and Iyonix have been supported with
special-case bootfloppies stuff for a while now.


Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



ARM d-i port - someone add me to the alioth project please

2004-02-23 Thread Wookey
OK, having had my arse kicked by AJ, I'm going to spend a bit of time trying
to get Lart and balloon working with D-I - Can D-I work down a serial
console as primary interface? If not then it's no good on these platforms,
and I'll take a look at riscpc instead.

I had looked at this a while ago, but since it moved to D-I, my cvs copy was
broken, so extra faff was involved and Vince said he was doing it so I let
it slide.

However it turns out that vince is too busy with kernels to manage D-I
porting as well so it hasn't happened, which means I need to sort out
alioth CVS use.

I've just signed up (set a password) for my account so I can wander round
the web stuff, but I can't do a non-anymous cvs checkout:
CVS_RSH=ssh cvs -d:ext:[EMAIL PROTECTED]:/cvsroot/d-i co debian-installer
snip
[EMAIL PROTECTED]'s password: 
Permission denied, please try again.

Do I need to wait for something to get updated (at midnight?) or do I need
adding as a developer to the project to get userid cvs access? If so can
someone do that please? thanx

Presumably adding me to a project as a developer means it will appear on my
'home page' list too?

And I've just opened my debian-boot mailbox for the first time in quite a
while to find 15,000 new messages (and 16,000 old ones). You _have_ all been
busy :-)

Once I can check out a version that I know I'll be able to do commits on
I'll get stuck in (or do I need to work on an anymous checkout until some
competence is shown? - I hope not that's a faff we can all do without).

I used to know how b-f worked, but don't know much about d-i. Is there a
porters doc I should read before getting stuck in, or any other useful
getting-started info?

I've got plenty of other comitments like everyone else of course, especially
emdebian, which I don't want to let slide as it's actually getting somewhere
right now, but the continued lack of an arm d-i port is becoming critical so
I should try and do my bit.

Anything else adminy that needs doing, or things I should know?

TIA

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: debian-installer anyone?

2003-12-17 Thread Wookey
+++ Adam C Powell IV [03-12-17 00:28 -0500]:
 On Tue, 2003-12-16 at 15:13, Petter Reinholdtsen wrote:
  [Adam C Powell IV]
   Greetings,
   
   Just wondering if anyone's tried ARM yet; if not, I might give it a go
   on my Netwinder...
  
  I'm not aware of anyone working on d-i for ARM yet.  I look forward to
  your progress reports.
 
 Thanks.
 
 Just after the initial post, I looked at the d-i webpage, and noticed
 that someone named Vince (forgot the last name and am offline, sorry)
 has made a kernel-image udeb with which d-i boots, and is being
 sponsored by Othmar.  Is this udeb available somewhere?

That's Vince Sanders aka kyllikki who works for Simtec http://www.simtec.co.uk/
Now a DD.

cc:ed for an update

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#127975: config option for calling hwclock

2002-01-06 Thread Wookey

On Sun, Jan 06, 2002 at 02:20:37PM +, Philip Blundell wrote:
 In message [EMAIL PROTECTED], Matthias Klose write
 s:
 Installing on an Apple Quadra 950 (m68k), I found the first boot
 hanging when trying to read the hardware clock, and more important,
 hanging during shutdown, resulting in a fsck for the next boot. Found
 out the hard way, that the hardware clock is broken on this machine
 (Debian archives 1999). I realize that the hardware clock works on
 most systems, but a question (probably for m68k only) to set
 HWCLOCKACCESS to 'no' in /etc/default/rcS (which is read by
 hwclock.sh) would be welcome ...
 
 Is there really nothing that hwclock can do to detect and avoid this
 situation?  I would be loath to add this kind of stuff to the boot-floppies,
 particularly if it means the user has to ask more questions.  (Admittedly
 that probably doesn't matter so much for m68k, but still.)

Exactly the same problem still exists for RiscPCs with 2.2 kernels (I think
it was fixed in recent 2.4 kernels), so some scheme to avoid this
automatically would be nice. On riscPCs we added a 'if dpkg-platform =
riscpc don't run hwclock' to util-linux. That's a hack too - but is it a
more acceptable one?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]




Re: bug: cdimage.debian.org should warn against downloading with an ISDN connection

2001-11-27 Thread Wookey

On Mon 26 Nov, Richard Atterer wrote:
 On Sun, Nov 25, 2001 at 10:12:53PM +, Philip Blundell wrote:
  Internal ISDN cards need a pile of modules, plus some supporting
  user-space stuff. I don't think there is any hope of adding this to
  the woody boot-floppies at this stage in the game,
 
 Hm, OK - so I think the cdimage website will advise people that only
 the option of downloading a minimal bootable CD image is available to
 ISDN users, not that of installing from floppy discs.

You need to be careful with the use of the term 'ISDN' as this refers to the
connection not the computer interface, which is the bit that may cause
boot-floppies problems if you have anunsupported sort. i.e. it is only
internal ISDN adaptors that cause problems, not extrnal ones that use a
serial or ethernet interface - they look just like modems or routers
respectively and work fine. I have a serial extrernal ISDN TA here and it
work OK with bootfloppies.

So the website should say that people with internal ISDN adaptors can't do a
network install, but those with extranl ISDN TAs can.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]




Re: Arm bf problems - termwrap and null strings

2001-01-17 Thread Wookey

On Mon 08 Jan, Adam Di Carlo wrote:
 Wookey [EMAIL PROTECTED] writes:

  I've got some Arm boot-floppies (from CVS about 10 days ago ~ 2.2.19)
  which nearly work. I've fixed a couple of problems and I'll post diffs
  here when I get a set that work.

 Sure.  Do you have (and, if not, want) direct CVS access?

No I don't have it, and yes it would be useful. I'm not fully Debian-approved
yet, but I'm partway through the nm process.

  Current problems are:

  2) dbootstrap falls over trying to set the hostname. If you kill it (so
  it restarts) then it continues but /etc/hostname ends up being "(null)"
  9which caues more problems later), so I suspect a similar problem to the
  one below but haven't gone into the detail yet - that's next to
  investigate, straight after this mail. I just wonder if this is a prob
  others found which is now fixed in CVS?

 Not that I know of.  I suggest we keep looking into this.

This turned out to be a missing BoxResume() somewhere in
utilities/dbootstrap/ I wonder why this didn't show up for other people -
maybe I picked a bad moment to take a CVS snapshot.


 Sounds good, looking forward to your patch.  Hope it comes soon.

Ah, well, therein lies a tale. Unfortunately I had a minor disaster with
incorrectly mapped function keys on a terminal so I managed to bin my working
copy. It's not hard to regenerate - just tedious and I haven't got round to
it with Xmas and hols and things.

Hence the delay... If I was working with CVS directly that would probably be
more reliable. I've got some stuff coming up that needs urgent attention bt
should be able to get back on this in a couple of weeks (after NY Linux
expo).

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: Bug#67888: marked as done ([CVS-fixed] Netwinder/arm port shouldn't ask about maintaining 2.0 compatability)

2000-12-13 Thread Wookey

On Mon 27 Nov, Adam Di Carlo wrote:
 Wookey [EMAIL PROTECTED] writes:
 
  On Thu 23 Nov, Adam Di Carlo wrote:
   Wookey [EMAIL PROTECTED] writes:
  
On Tue 21 Nov, Debian Bug Tracking System wrote:
  
 From [EMAIL PROTECTED] Sat Jul 29 01:11:08 2000
 Return-path: [EMAIL PROTECTED]
  
 The debian installer for potato worked just fine on the netwinder,
 one I convinced it to tftp boot the provided netwinder-rescue
 image.  One hitch though -- the question about maintaining 2.0
 compatability for the ext2 fs should be removed and forced to
 "yes".  Answering "no" causes the netwinder's firmware (which is
 just a stripped down linux kernel) to be unable to read the
 filesystem -- so it is unable to boot the system.  Not that big a
 deal though.
  
   Could you file this as a bug?
  
  erm, are you confused adam? The above para has already been filed as
  a bug and you replied saying it was fixed in bf2.2.17 (see below -
  it was this message that I replied to). That's all fine so far as I
  can tell. Or do you mean I should file the fact that this causes
  (may cause?) a different problem for RiscPC as a bug?
 
 Yes, the different problem.

OK. I've researched this a little and have actually found a good reason to
keep kernel 2.0 compatibility by default (the RISCOS ext2fs reader iscafs
needs it). So we can stick with the same option as netwinders for now. I'll
include this in my forthcoming boot-floppies patches for arm, and not file a
bug about it.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: building arm boot floppies - python error in dbootstrap/lang

2000-11-27 Thread Wookey

On Fri 24 Nov, Michael Sobolev wrote:
 On Fri, Nov 24, 2000 at 06:18:01PM +, Wookey wrote:
  Now, when I do make release - When it gets to
  boot-floppies/utilities/dbootstrap/langs dir it compiles iconv.so OK and
  then does:

   ./ver2.py 0 i386 langs.xml (I'm suspicous about that i386, but replacing
  it with 'arm' doesn't affect the error and it does seem to have been
  deliberately overridden- what is this about?) The result is;
 Well, this i386 is about the contents of *.src (*.xml) files.  So this
 needs only to be changed in case this set of boot floppies is being built
 for arm platform. :)  Actually, it's something that should be changed as
 soon as something reasonable appears in *.src files...

snip

  But, it's only needed if we want lc on arm platform. :)

see below

  What version of debian you are using, BTW?

2.2r0

  Can I just skip this stuff as yet more language-specifc jiggery-pokery
  that I almost certanly don't need?
 Hopefully so, and actually you should not see anything about langs
 directory if you have not set USE_LANGUAGE_CHOOSER=true in config file.

That's not true. As with the previous problem I mentioned (about bf-utf
libraries) even though I have USE_LANGUAGE_CHOOSER=false it still generates
iconv.so, dumper.pyc helpers.pyc, all the .xml files, lans.o and langs.c

If you could fix it so this didn't happen that would save some time where
LC-bootfloppies are not required. 

Anyway. thanx to all for your help. I've finally got some RiscPC bootfloppies
built (only takes about 6 hours :-/ ). Now I just have to make them work
properly. I can see from the scripts that a fair amount of work is needed to
get proper ARM sub-arch support. I'll work on this and send in some patches
as soon as the present panic is over.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: building arm boot floppies - python error in dbootstrap/lang

2000-11-24 Thread Wookey

On Fri 24 Nov, Wookey wrote:
 The arm boot-floppies building saga continues.

replying to my own post - sorry (just to save anyone spending too much time
investigating)

  ./ver2.py 0 i386 langs.xml
 ImportError: ./iconv.so: R_ARM_PC24 relocation out of range
 
 This may be an arm-specific problem (I've asked a guru about that), 

OK, the guru came through with an updated glibc and this fixes that problem,
so it's not a bf thing. I'd still like to know what all this stuff is for
though.

I'll see how far I get this time

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: Bug#67888: marked as done ([CVS-fixed] Netwinder/arm port shouldn't ask about maintaining 2.0 compatability)

2000-11-23 Thread Wookey

On Thu 23 Nov, Adam Di Carlo wrote:
 Wookey [EMAIL PROTECTED] writes:

  On Tue 21 Nov, Debian Bug Tracking System wrote:

   From [EMAIL PROTECTED] Sat Jul 29 01:11:08 2000
   Return-path: [EMAIL PROTECTED]

   The debian installer for potato worked just fine on the netwinder, one
   I convinced it to tftp boot the provided netwinder-rescue image.  One
   hitch though -- the question about maintaining 2.0 compatability for
   the ext2 fs should be removed and forced to "yes".  Answering "no"
   causes the netwinder's firmware (which is just a stripped down linux
   kernel) to be unable to read the filesystem -- so it is unable to boot
   the system.  Not that big a deal though.

 Could you file this as a bug?

erm, are you confused adam? The above para has already been filed as a bug
and you replied saying it was fixed in bf2.2.17 (see below - it was this
message that I replied to). That's all fine so far as I can tell. Or do you
mean I should file the fact that this causes (may cause?) a different problem
for RiscPC as a bug?

   From [EMAIL PROTECTED] Tue Nov 21 05:21:28 2000

   This bug was fixed in one of the last two versions of the
   boot-floppies, either 2.2.17 or 2.2.18, both of which are in Potato
   now.

  Erm, this is all fine for netwinders, but for a riscpc (the other main
  arm desktop platform) this option does not need to be forced to yes. This
  is just one of many things that vary between arm platforms (which are
  fairly hetrogenous). I don't know what the disadvantage is, but if it
  affects disk speed then as the riscps is 'very slow' in this dept it
  would be nice to have the choice.

  There are several things that need to be done differently for different
  arm sub-platforms. Is there an approved mechanism for this at the moment
  or not?

 You'd have to ask the ARM porters.  Other arches with subarches (such as
 sparc) look in /proc/cpuinfo and such and automatically deal with this.

I _am_ the ARM porters :-). Well, it's not quite that bad, but I'm one of a
very few people working on bf for ARM. I take your point that it is better to
check this at runtime if possible and take appropriate action than to make
different boot-floppies sets, where possible. I was just wondering whether
there was official bf policy on how to deal with subarches so that things
remained consistent. I'll check out the code and get it to use /proc/cpuinfo
if appropriate.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: debinst: non-msdos partition table creation support

2000-11-08 Thread Wookey

On Wed 01 Nov, Glenn McGrath wrote:
 I understand how msdos partition tables work now, its just a bunch of
 ugly hacks to make use of legacy structures that are long obsolete.
 
 msdos partitions need to be supported for machines that need microsoft
 compatability (and other OS's ?), but i think that we should provided
 users the ability to create a non-crap partition table.
 
 There are heaps of other partition tables formats around, i dont know
 much about any of them though, i will look into it.

RiscOS machines (ARM) use a whole host of partition formats (all third
parties invented their own as the original OS assumed one partition per
disk). There are at least 4 in quite common use, probably more like 7 in
total. We have a libfdisk for boot-floppies which supports 2 of these so far
and more will be added (I just got info on a new one promised yesterday).

I don't know if any of these provide useful extra functionality over the DOS
scheme, but most are simpler, not having sub-partitions. This also means they
have more entries, typically 8.

Not all ARM machies use this. Eg netwinders have PC-BIOS type partitions on
their drives. Most other ARM machines don't have drives at all, just CF cards
- I don't know if they allow partitioning :-)

So, not sure if that's actually much use to you, but feel free to ask me
about ARM partitioning if you need to know, or need things testing or spec
sanity-checking to make sure all the above rubbish can be supported.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: boot problem

2000-11-03 Thread Wookey

n Fri 03 Nov, Tim Veazey wrote:
 Hello,
 
 I've just attempted to install debian for the first time (new to the
 linux world too).  The installation seems to go ok.  However, when it
 comes time to reboot, the system freezes after the following boot
 message:
 
 "Setting the System Clock using the Hardware Clock as a reference..."
 

 Anyone have any ideas?  Thanks very much for your help.

You don't say what system you are installing on, but this always happen if
you install 2.2r0 on a riscPC (ARM) for example. Hit ctrl-C to get past this
point. Then do 
 update-rc.d hwclock remove
to stop it happening every time (it will also hang on shutdown)

We have done a new util dpkg-platform which can be used in scripts like
hwclock to stop it running on platforms where it is broken. However this
isn't in the main distribution yet until there is agreement about how the
platforms are to managed in this respect. (Contact Chris rutter for details
on how this is prgressing).

Updated util-linux and debianutils packages to fix this problem are included
in our (Aleph One's) ARM 2.2r0 unofficial debian distribution.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: boot-floppies 2.2.17 req'd packages

2000-10-06 Thread Wookey

On Fri 06 Oct, Adam Di Carlo wrote:

 Here's the list of pkgs from potato-porposed-updates which I used for
 boot-floppies 2.2.17:

   base-config_0.33_i386.deb
   debconf-tiny_0.2.80.17_all.deb
   libc6_2.1.3-13_i386.deb
   locales_2.1.3-13_i386.deb
   makedev_2.3.1-46_all.deb
   task-x-window-system-core_1.2_i386.deb

 Porters, please try to replicate this list.

 Porters, is anyone working on boot-floppies 2.2.17 for non-i386 ?

Chris Rutter and Peter Naulls have both been working on boot-floppies for ARM
from the CVS since version 2.2.16. Risc-PC support is now basically fixed and
patches are being prepared (and some sent in I think). Unfortunately Chris's
net connection has been down for about a week so everything has stalled until
itis fixed. This should mean we can compile bf 2.2.17 for arm shortly, but I
can't be too specific without talking to them.

Does bf have to be built manually or do the build daemons get to do it? The
ARM build-daemon is now working properly so if it's automatic then it should
hhappen automagically in due course?

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]