gather /dev/tty1 (/dev/console) output to a file

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

gather /dev/tty1 (/dev/console) output to a file

#1 Post by Karl Godt »

For those who want to get the terminal output from the boot messages into a readable file :

Code: Select all

dd if=/dev/vcs1 of=/tmp/TTY1screen bs=1 count=9192
creates a long one liner file .

To format it i found best to

Code: Select all

echo -e `cat /tmp/TTY1screen | tr ' ' '·' | sed 's/···/\\\\n/g'` | sed '/^$/d' | tr '·' ' ' | sed 's/^[[:blank:]]*//g'

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#2 Post by Karl Godt »

Must confess that /dev/vcs1 is not included inside the static /dev/ directory BUT /dev/vcs2 , /dev/vcs3 and /dev/vcs4 .

To create one :

Code: Select all

[ ! -e /dev/vcs1 ] && mknod /dev/vcs1 c 7 1 

I have put these into rc.sysinit because the newish mingetty in racy puppy seems to clear the screen automatically

Code: Select all

[ ! -e /dev/vcs1 ] && mknod /dev/vcs1 c 7 1 && sleep 1
cat /dev/vcs1 >/tmp/vcs1.txt
echo -e "`cat /tmp/vcs1.txt |sed -e 's,\(.\{80\}\),\1\\n,g'`" >>/tmp/vcs1.txt
The formation works far better now using {80} for sed .

Code: Select all

[    4.384260] ldm_validate_partition_table(): Disk read failed.                
Making the filesystem usable...checking the device nodes ...                    
'sda' '8' '0'                                                                   
'sda1' '8' '1'                                                                  
'sda2' '8' '2'                                                                  
'sda3' '8' '3'                                                                  
'sda4' '8' '4'                                                                  
'sda5' '8' '5'                                                                  
'sda6' '8' '6'                                                                  
'sda7' '8' '7'                                                                  
'sda8' '8' '8'                                                                  
'sda9' '8' '9'                                                                  
'sda10' '8' '10'                                                                
'sda11' '8' '11'                                                                
'sdb' '8' '16'                                                                  
                                                                         done   
Updating...                                                              done   
72  Loading kernel modules...                                            done   
Loading swap partition /dev/sda5...                                      done   
Waiting for modules to complete loading...                               done   
Loading user-selected modules... coretemp                                done   
Setting up services (network, printing, etc.)...               [backgrounded]   
Recognising media devices... optical input                               done   
The above output is for my adjustments to rc.sysinit . It is primarily done to check for drives at bootup by displaying parts of /proc/partitions before kernel modules got loaded .
One USB flash is not recognized at that time and the second SATA HDD is password protected (ldm_validate_partition_table(): Disk read failed) . .

The 72 for kernel modules can be achieved with

Code: Select all

echo -n "    Loading kernel modules..." >/dev/console
.
.
.
MODULECNT=0
.
.
  echo add > ${ONEPATH}/uevent #generates an 'add' uevent.
  MODULECNT=$((MODULECNT+1))
  echo -en "\r$MODULECNT" >/dev/console
  sleep 0.02
Cheers

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#3 Post by Karl Godt »

WillHaus wrote:Nice work. Is it only for 72 kernel?
What is a 72 kernel ?

The main Puppy kernels had been 2.6.30.5 and 2.6.33.2 .

The Puppy kernels are not configured with to much framebuffer support .

vga=normal is i think the normal rxvt character resolution of 80x24 .

vga=ask would show a wider range of possibilities like 128x50 or 132x60
IF
supported by the BIOS or The Graphics Chip on Board or on Card .

I had only nvidia graphic cards until now ,
which had been pretty robust working with nouveau.ko andor nvidiafb.ko
if configured correctly to the kernel .

Actually i am running a dell desktop board with intel graphics defined by ddcprobe command as
vbe: VESA 3.0 detected.
oem: Intel(r)Broadwater-G Graphics Chip Accelerated VGA BIOS
vendor: Intel Corporation
product: Intel(r)Broadwater-G Graphics Controller Hardware Version 0.0

and by lspci as
00:02.0 VGA compatible controller: Intel Corporation 82Q963/Q965 Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Dell: Unknown device 01da

And Xorg server version 1.3.0 from Puppy 4 series does not like to work with my kernels ,
only with the Puppy default kernels .
Xorg server 1.7.x from Puppy 5 series is OK with them .

Today i booted with vga=ask
and had chosen a vesa mode of 305 like vga=0x305 at the kernel boot line in Grub mneu .
The decimals of 700+ something i don't use ,
/usr/bin/ycalc transforms 305 HEX to 773 DEC .

The bootscreen had been black until the intel graphic drivers and fbcon had been loaded .

Instead of

Code: Select all

 cat /dev/vcs1 > /tmp/vcs1.txt 
it is also possible to use

Code: Select all

dd if=/dev/vcs1 of=/tmp/vcs1.txt
And the 72 seems to refer to the 72 kernel module aliases detected in /sys by /etc/rc.d/rc.sysinit .

That value is different every board and every kernel configuration and every acpi parameter .

I had no board until now with values above 100 module aliases .
Every USB port for example includes some module aliases for ehci_hcd and u/ohci_hcd . So 8 USB ports may include 16 module aliases for two drivers .

Post Reply