earth tech

[software and hardware technology originating from or otherwise pertinent to planet earth]

use these buttons to share this blog on portal sites:

Add to Google

Wednesday, September 23, 2009

 

KNOPPIX V5.1.1 CD 2007-01-04 EN to USB

http://www.pendrivelinux.com/installing-usb-knoppix-51-using-linux/

So we have found out that the KNOPPIX 6.0.1 release is a BETA release, and hence does not have some features we want - specifically, it's not set up for persistence; there seems to be no way to get it to save the state and the user directories to persistent storage.

Furthermore, we have decided to install the older, released version, KNOPPIX v5.1.1, and have downloaded the KNOPPIX v5.1.1 ISO to the 2nd partition of the 4G USB stick which we installed v6.0.1.

Since the KNOPPIX v6.0.1 was missing some critical tools - telnet, K3B, etc - we have rebooted the HP machine called 'box' under Damn Small Linux (DSL) to perform this procedure.

The procedure is:

  1. mount USB pendrive partition 1 (the VFAT partition with the CD ISO image for v6.0.1) into the DSL file system.
  2. mount USB pendrive partition 2 (the ext3 partition with the copy of KNOPPIX_V5.1.1CD-2007-01-04-EN.iso) into the host (DSL) file system
  3. copy the KNOPPIX v5.1.1 ISO file system from USB pendrive partition 2 to USB pendrive partition 1
  4. perform the install tweaks given in USB KNOPPIX 5.1.1 persistent install from Linux | USB Pen Drive Linux on USB pendrive partition 1.

This should make the pen drive boot KNOPPIX 5.1.1 with persistence.

Note that both partitions on the existing USB pen drive are formatted as described in the installation document referenced above. That is, partition 1 is a 750M FAT16 partition for the CD image, and partition 2 is the remainder of the pen drive space (~3G in ths case) dedicated as an ext3 (Linux) file system.

Once the pen drive is bootable and persistent with KNOPPIX 5.1.1, it will be desirable to make partition 2 on the USB pen drive auto mount as the /home directory tree of the new system.

Labels: , ,

Tuesday, September 8, 2009

 

Posting from KNOPPIX v6.0.1 on USB

The method shown in the previous post worked – now posting from system running from USB stick.

This is a hybrid USB file system – partition one is 750M FAT16, partition two is the rest of the 4G USB stick, formatted as ext2, I believe.

Here are some vital stats copied from a console:

knoppix@Microknoppix:~$ sudo su
root@Microknoppix:/home/knoppix# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:6e:6c:d0:dc  
          inet addr:192.168.0.185  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:6eff:fe6c:d0dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1512 (1.4 KiB)  TX bytes:1536 (1.5 KiB)
          Interrupt:22 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@Microknoppix:/home/knoppix# host host.earthside.org
host.earthside.org has address 67.43.9.226
root@Microknoppix:/home/knoppix# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             716M  645M   71M  91% /mnt-system
tmpfs                 1.0G  2.8M 1022M   1% /ramdisk
/dev/cloop            1.7G  1.7G     0 100% /KNOPPIX
unionfs               1.0G  2.8M 1022M   1% /UNIONFS
unionfs               1.0G  2.8M 1022M   1% /home
tmpfs                  10M   60K   10M   1% /UNIONFS/var/run
tmpfs                  10M     0   10M   0% /UNIONFS/var/lock
tmpfs                 100M   48K  100M   1% /UNIONFS/var/log
tmpfs                 1.0G   12K  1.0G   1% /tmp
udev                   20M   56K   20M   1% /dev
tmpfs                 1.0G  4.0K  1.0G   1% /dev/shm
root@Microknoppix:/home/knoppix# cat /etc/fstab 
# DEFAULT BASE FSTAB, UNCONFIGURED
proc       /proc         proc       noauto             0 0
sysfs      /sys          sysfs      noauto             0 0
# Added by KNOPPIX
/dev/sda1 /media/sda1 vfat noauto,users,exec,umask=000,shortname=winnt,uid=knoppix,gid=knoppix 0 0
# Added by KNOPPIX
/dev/sda2 /media/sda2 ext2 noauto,users,exec 0 0
# Added by KNOPPIX
/dev/sr0 /media/sr0 auto ro,noauto,users,exec 0 0
# Added by KNOPPIX
/dev/hdd /media/hdd auto ro,noauto,users,exec 0 0
# Added by KNOPPIX
/dev/hdc /media/hdc auto ro,noauto,users,exec 0 0
root@Microknoppix:/home/knoppix#  cat /etc/mtab
rootfs / rootfs rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/sda1 /mnt-system vfat rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp850,iocharset=iso8859-1,shortname=winnt 0 0
tmpfs /ramdisk tmpfs rw,size=1048576k 0 0
/dev/cloop /KNOPPIX iso9660 ro 0 0
unionfs /UNIONFS aufs rw,noatime,si=e57182f3,xino=/ramdisk/.aufs.xino,noplink,br:/ramdisk=rw:/KNOPPIX=ro 0 0
unionfs /home aufs rw,noatime,si=e57182f3,xino=/ramdisk/.aufs.xino,noplink,br:/ramdisk=rw:/KNOPPIX=ro 0 0
usbfs /proc/bus/usb usbfs rw 0 0
tmpfs /UNIONFS/var/run tmpfs rw,size=10240k 0 0
tmpfs /UNIONFS/var/lock tmpfs rw,size=10240k 0 0
tmpfs /UNIONFS/var/log tmpfs rw,size=102400k 0 0
tmpfs /tmp tmpfs rw,size=1048576k 0 0
udev /dev tmpfs rw,size=20480k 0 0
tmpfs /dev/shm tmpfs rw,size=1048576k 0 0
devpts /dev/pts devpts rw,mode=1777 0 0
root@Microknoppix:/home/knoppix# 

Labels: , , , , ,

 

KNOPPIX v6.0.1 to USB drive

http://www.pendrivelinux.com/installing-usb-knoppix-51-using-linux/

Used the instructions as shown for KNOPPIX v5.1.1 excepting only that I found no /cdrom directory on KNOPPIX v6.0.1. Used the /mnt-system directory instead as that appeared to be where the CD was mounted (according to df -h).

Testing Pendrive boot of KNOPPIX v6.0.1 this time 2009-09-07 EST 22:25.

Labels: , , , , , ,

Monday, September 7, 2009

 

Here we go again...

Posting this from a disc-less host, using a KNOPPIX V6.0.1 LiveCD downloaded to the Vista host using BitTorrent / BitComet.

This KNOPPIX disc divined the correct network configuration from the USR5430 Ethernet / WiFi bridge, which is configured as part of an AdHoc wireless (802.11) LAN which has an Internet backhaul (configured using ICS) over a Cricket CDMA USB BroadBand modem on the Vista box.

The KNOPPIX network configuration routine psychically determined all that and configured it without having to ask me any stupid questions. That, all by itself, is freaking amazing. Contrast it, for instance, with DamnSmallLinux (DSL) [v?] which I just argued with all weekend about the identical configuration. The DSL solution required adding a eth0:1 interface as root to begin with – it got worse from there. …

So it just booted up and ran without question, so far pretty much everything working, it appears.

Notable Factoids

Oddities

Is it true that USB devices only boot if they are formated FAT/32? Some weirdness going on there. If TRUE, I could put my PortableApps and my KNOPPIX on the same 4G USB stick? Maybe?

Glitches

For some reason, the 2nd & 3rd times I tried to boot this CD on this box, it hung during the X11 initialization - I believe(d) that some BIOS changes I made may have affected this, so the current settings changed are:

These settings may not matter, or may be specific to this system. They are recorded here so I can refer to them later, if necessary ;)

The hanging of the X11 startup is critical, since the system will shut itself down when X11 exits, and I was unable to find a way to interrupt the shutdown from the console during the time the X server was running. This means that if X hangs on this CD, the system shuts down after a short timeout.

Out of 4 boot-up attempts, the two that have worked (first and fourth) were both simple "put the CD in and hard boot w/o going to setup or boot-device select menu" sequences.

Video Resolution Bug

The screen resolution only seems to go up to 800x600. This has to be an incorrectly selected video device driver, since this same video card will go up to 1600x1200 and has done so in the past.

Labels: , , , , , , , , ,

Friday, March 20, 2009

 

NVIDIA X-server problems with hp pavilion zd7000

http://www.ccs.neu.edu/home/jpatota/linux/knoppix/index.html

A week or so ago I managed to munge the X-server configuration on the hp pavilion zd7000 linux laptop I've been using for about a month now. The X-server quit working after some set of package installs and/or system updates wherein I was trying to get the correct NVIDIA™ display drivers installed such that I could use the various "transparency" and "translucency" settings on the shiny new KDE 4.x desktop.

The fix given on the page Configuring and Running Knoppix on the HP Pavilion zd7000 works, even though the OS distribution listed as the application environment for the fix is given as KNOPPIX. and the distro I have on the hp is OpenSuSE 11.0.

For the record, the fix is/was:

Download the xorg.conf from http://www.ccs.neu.edu/home/jpatota/linux/knoppix/xorg.conf and install it as /etc/X11/xorg.conf

I have posted a copy of the xorg.conf file recommended above at http://blogs.earthside.org/earth_tech/2009/03/xorgconf-file-for-hp-pavilion-zd7000.html.

I have downloaded the file in question, and am uploading attached to this post as an "enclosure" …

Or, "just–in–case" the enclosure doesn't enclose, I will paste a copy of the file into a subsequent posting on this blog.

Labels: , , , , , , , ,

Thursday, November 6, 2008

 

Copy Knoppix to HD

http://www.knoppix.net/wiki/Basic_Poor_Mans

# How to set up a "Poor Man's Install" so that the machine boots from a CD
# image that's been copied to the hard disk.  GRUB is used as the boot loader.
# It is assumed that you are booted to Knoppix CD 5.1.1, and ALL HARD DISK
# CONTENTS WILL BE ERASED!!!

#  0.  Switch to root with su -

#  1.  Partition the hard disk as follows (minimum 20GB hard disk recommended)
#      10GB /dev/hda1, type 83
#      2GB /dev/hda2, type 82
#      (the rest of the disk) /dev/hda3, type 83
#

# determine the disk device name, which is usually /dev/hda for IDE and
# /dev/sda for SATA

DEVICE=`fdisk -l 2>/dev/null | head -2 | tail -1 | awk '{print $2}' | sed 's/\:$//'`

# print warning and confirmation
clear
echo "This CD will install Knoppix 5.1 on your hard disk."
echo "The system will then boot from the hard disk as if you had booted from"
echo "the Knoppix CD, also known as a Poor Man's Install."
echo
echo "WARNING:"
echo "ALL EXISTING DATA ON THE HARD DISK $DEVICE WILL BE ERASED BY THIS PROCESS!!!"
echo
echo -n "Do you wish to continue? (y/n): "
read ANSWER
if [ "$ANSWER" = "y" -o "$ANSWER" = "Y" ]
then
:
else
  echo "Installation aborted!"
  sleep 3
  exit
fi


# clear the old partition table
dd if=/dev/zero of=$DEVICE bs=512 count=1

# determine the cylinder size
CYL_SIZE=`fdisk -l $DEVICE 2>/dev/null | grep "Units = cylinders" | awk '{print $9}'`

# determine the number of cylinders in 10GB
SIZE1=`echo "1073741824 * 10 / $CYL_SIZE" | bc`

# determine the number of cylinders in 2GB
SIZE2=`echo "1073741824 * 2 / $CYL_SIZE" | bc`

# partition the disk
sfdisk -f $DEVICE <<EOF
,$SIZE1,L
,$SIZE2,S
,,L
EOF


#  2.  Create an ext3 filesystem on the first and third partitions
mke2fs -j -m0 ${DEVICE}1
mke2fs -j -m0 ${DEVICE}3


#  3.  Create a swap area on the second partition
mkswap ${DEVICE}2


#  4.  Mount first partition on /media/p1
mkdir /media/p1
mount ${DEVICE}1 /media/p1


#  5.  Copy the contents of the Knoppix CD to /media/p1
echo
echo "Copying CD contents to hard drive.  This will take a few minutes."
/bin/cp -af /cdrom/KNOPPIX /media/p1

# remove /media/p1/KNOPPIX/knoppix.sh
/bin/rm -f /media/p1/KNOPPIX/knoppix.sh


#  6.  Create a boot directory on /media/p1 and copy the kernel and initrd
#      there
mkdir /media/p1/boot
/bin/cp -af /boot/vmlinuz-2.6.19 /media/p1/boot
/bin/cp -af /cdrom/boot/isolinux/minirt.gz /media/p1/boot


#  7.  Create a directory for GRUB
mkdir /media/p1/boot/grub


#  8.  Populate the GRUB config file.  If you require different default boot
#      options, include them in the kernel line.
cat <<EOF > /media/p1/boot/grub/menu.lst
default=0
timeout=10

title Knoppix 5.1 (Poor Man's HD install)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.19 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=minirt.gz nomce loglevel=0 quiet BOOT_IMAGE=knoppix BOOT_IMAGE=linux lang=us fromhd=${DEVICE}1 noeject noprompt
        initrd /boot/minirt.gz
EOF
cd /media/p1/boot/grub
ln -s menu.lst grub.conf


#  9.  Install GRUB
cd /media/p1
grub-install --root-directory=/media/p1 --no-floppy $DEVICE


#  10.  Reboot (and remove CD)
reboot

Labels: ,

Wednesday, July 18, 2007

 

Blogger.com Dashboard Crashes Konqueror

http://www.blogger.com/

Well, the Dashboard page at blogger.com seems to have killed Konqueror web browser under KNOPPIX. Konqueror crashed first while I was trying to post about the spell-checker problems that exist in Konqueror under the KNOPPIX LiveCD distro - at that point I was logged in to blogger.com - then it crashed again when I re-ran Konqueror and tried to log in to the blogger.com dashboard. Both times it gave the DrKonqi crash-handler screen.

Now, after I created a persistent installation of Firefox 2.0.0.5 and ran it to make this post, I find (while trying to run Konqueror to get the version number to use in this post) that Konqueror won't run at all [from the toolbar button, at least - haven't tried any other approaches, yet]; it shows the bouncing "wait" cursor for about 15 or so seconds, then just dies silently.

This is Knoppix 5.0.x - I don't have the version number to-hand, but I may be able to post it later. I see that Knoppix 5.2 is released, so the problem may be solved by burning a new LiveCD. Note, however, that the version of K3B that shipped with this version of KNOPPIX does not work - or at least, it doesn't work on this computer, so the burning of a new CD is problematic, right now.

Labels: , , ,

Sunday, July 15, 2007

 

Konqueror Crash

Konqueror is :

  1. Hanging while waiting for blogger.com to "Publish" a blog post.
  2. Crashing; Konqueror will crash if - while the "publish" operation is in its infinite refresh loop, loading and reloading the "Please wait while your page is published" message page - the user
    1. opens another Konqueror window
    2. goes to view the blog in the new window [note that the post which initiated the publish operation has been posted - the post has uploaded and the blog has been updated, despite the braindead infinite loop the first window of Kongqueror is stuck in]
    3. goes back to the first window [where the ininfinite refresh loop is going on]
    4. clicks on the Blogger Dashboard link there, in the first window, while the infinite refresh loop is going on

Other info from the Crash Handler:

Default browser indentification string for this version of Konqueror [note that I have broken the line below at the backslash]:

Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.17; X11; i686; en_US)\
 KHTML/3.5.2 (like Gecko) (Debian package 4:3.5.2-2+b1)

Here is the backtrace data from the crash handler:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1231935808 (LWP 4267)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#5  0x08f95edc in ?? ()
#6  0xb62d57ae in DOM::checkChild () from /usr/lib/libkhtml.so.4
#7  0xb629e96c in DOM::XMLAttributeReader::~XMLAttributeReader ()
   from /usr/lib/libkhtml.so.4
#8  0xb6268f9e in KHTMLPart::saveState () from /usr/lib/libkhtml.so.4
#9  0xb62289fe in KHTMLPartBrowserExtension::saveState ()
   from /usr/lib/libkhtml.so.4
#10 0xb6875b5f in KonqView::updateHistoryEntry ()
   from /usr/lib/libkdeinit_konqueror.so
#11 0xb6893a11 in KonqView::slotCompleted ()
   from /usr/lib/libkdeinit_konqueror.so
#12 0xb6893c23 in KonqView::slotCompleted ()
   from /usr/lib/libkdeinit_konqueror.so
#13 0xb689987d in KonqView::qt_invoke () from /usr/lib/libkdeinit_konqueror.so
#14 0xb72b8678 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#15 0xb72b8fdc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#16 0xb7f85e0a in KParts::ReadOnlyPart::completed ()
   from /usr/lib/libkparts.so.2
#17 0xb62581c0 in KHTMLView::timerEvent () from /usr/lib/libkhtml.so.4
#18 0xb72b5786 in QObject::event () from /usr/lib/libqt-mt.so.3
#19 0xb72f2b9a in QWidget::event () from /usr/lib/libqt-mt.so.3
#20 0xb724e87a in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#21 0xb724f5f5 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#22 0xb792502e in KApplication::notify () from /usr/lib/libkdecore.so.4
#23 0xb71e0001 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#24 0xb7240305 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#25 0xb71f3d2a in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#26 0xb7267255 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#27 0xb726717a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#28 0xb724d38d in QApplication::exec () from /usr/lib/libqt-mt.so.3
#29 0xb68be17c in kdemain () from /usr/lib/libkdeinit_konqueror.so
#30 0xb7fb1524 in kdeinitmain () from /usr/lib/kde3/konqueror.so
#31 0x0804e1d6 in ?? ()
#32 0x00000004 in ?? ()
#33 0x080cff68 in ?? ()
#34 0x00000001 in ?? ()
#35 0x00000000 in ?? ()

Labels: , , , , , ,

 

More about KNOPPIX and the HP a220n

The X log file on the HP Pavilion a220n running KNOPPIX:

uploads/Xorg.0.log.TXT

This file is found at /var/log/Xorg.0.log on the system while the system is running.

Labels: , , , , ,

 

Full dmesg Output for a220n under KNOPPIX

Capture of the output of the command dmesg performed under KNOPPIX on the HP Pavilion a220n:

Here is the output of uname -a for this same system:

Linux Knoppix 2.6.17 #4 SMP PREEMPT Wed May 10 13:53:45 CEST 2006 i686 GNU/Linux

Labels: , , , , ,

 

Audio Problems on HP Pavilian a220n under Debian Linux

This is an excerpt from the output of the lsmod command run under KNOPPIX on an HP Pavilion a220n desktop computer:

snd_intel8x0           31260  3
snd_ac97_codec         88352  1 snd_intel8x0
8250_pnp               12288  0
snd_ac97_bus            6016  1 snd_ac97_codec
snd_pcm_oss            38176  0
snd_mixer_oss          17536  1 snd_pcm_oss
snd_pcm                73220  4 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              22148  2 snd_pcm
shpchp                 37032  0
i2c_nforce2             9856  0
snd                    44768  10 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer

For some reason neither KNOPPIX 5.0.1 nor the Debian install to the hard disk [provided by the KNOPPIX LiveCD via the knoppix-installer command] seem to be able to get the audio input functionality of the sound card working.

Audio output works okay when the Sound System is enabled via the KNOPPIX control panel, but does not appear to work under the Debian instantiation of KDE.

No version numbers captured yet from the Debian kernel, or the versions of KDE involved (which are different between the Debian install (with updates) and the KNOPPIX distro.

Labels: , , , , , , ,

Archives

2006/12   2007/01   2007/05   2007/06   2007/07   2007/08   2007/10   2008/01   2008/02   2008/03   2008/05   2008/11   2008/12   2009/01   2009/02   2009/03   2009/04   2009/05   2009/07   2009/09   2009/10   2009/11   2009/12   2010/01  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]