<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://sgh.tplinkdns.com/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://sgh.tplinkdns.com/dokuwiki/feed.php">
        <title>SGH_WIKI - mywiki:linux</title>
        <description></description>
        <link>https://sgh.tplinkdns.com/dokuwiki/</link>
        <image rdf:resource="https://sgh.tplinkdns.com/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-04T14:43:05+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:cache&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:checksum&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:chrootenv&amp;rev=1648891806&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:code_analysis&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:colorconsole&amp;rev=1648891806&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:crosscompile&amp;rev=1648891804&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ctools&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:debugging&amp;rev=1596960612&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:device_tree&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:dhcpv6&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:enum_string&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora&amp;rev=1648891802&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora_firewall&amp;rev=1648891802&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:filereplace&amp;rev=1648891802&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:generic_netlink&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:intel&amp;rev=1648891802&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ipsec&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_checksum_apis&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_kernel&amp;rev=1648891800&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_routing&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kernelothers&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kgdb&amp;rev=1648891798&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:lighttpd&amp;rev=1648891798&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxadmin&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxcommands&amp;rev=1648891794&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxdma&amp;rev=1648891794&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleinitorder&amp;rev=1648891794&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleorder&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxnetworking&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxstack&amp;rev=1648891792&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_bus&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_code_sparse_test_anaylysis&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_debugging_with_lauterbach&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_kernel_notes&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_locking&amp;rev=1648891796&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_self-learning&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_soding_style&amp;rev=1648891796&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:mount_filesystem&amp;rev=1648891792&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_data_flow_through_kernel.png&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_debugging&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_driver_notes&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:notes&amp;rev=1648891790&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:office_linux_maintenance&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:openwrt&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:optimize_options&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:page_allocation&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ppalists&amp;rev=1648891788&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:printk_proc&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:profiling_trace&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:samba&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:skb&amp;rev=1648891786&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ssh&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:start&amp;rev=1756436300&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:sysfs&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tc-ca&amp;rev=1756456554&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp_performance&amp;rev=1648891784&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu&amp;rev=1596960612&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu_16.04&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:vmplayer&amp;rev=1648891784&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:websvn&amp;rev=1568544928&amp;do=diff"/>
                <rdf:li rdf:resource="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:yumlocaliso&amp;rev=1648891782&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://sgh.tplinkdns.com/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>SGH_WIKI</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/</link>
        <url>https://sgh.tplinkdns.com/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:cache&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cache</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:cache&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Cache Operation &amp; Address Conversion

Linux Cache Operation
 opt  Term  API  Invalidate  stale data problem  dma_cache_inv(unsigned long address unsigned long size)  Flush/write back  any dirty cache  dma_cache_wback/dma_cache_wback_inv(unsigned long address, unsigned long size)</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:checksum&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>checksum</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:checksum&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Checksum Calculation Logic
API  Comments  skb_checksum_help    ip_fast_csum   csum_fold   skb_checksum   csum_tcpudp_magic   nf_ip_checksum  csum_tcpudp_nofold  csum_replace4  csum_replace2  nf_nat_ipv4_csum_recalc  csum_tcpudp_magic 
skb-&gt;csum_start = skb_transport_header(skb) - skb</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:chrootenv&amp;rev=1648891806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chrootenv</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:chrootenv&amp;rev=1648891806&amp;do=diff</link>
        <description>How to set up a chroot environment with RedHat Linux 6.2

Set up chroot environment via backup from real system

	*  C library (libc/glibc)
	*  Resolver for nameservices (DNS, NIS, ...)
	*  Authentication information (/etc/passwd, group, shadow, ...)</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:code_analysis&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>code_analysis</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:code_analysis&amp;rev=1568544928&amp;do=diff</link>
        <description>Code Analysis Tools

Sparse

Sparse is a tool for static code analysis that helps kernel developers to detect coding errors. Kernel code that is prone to mistakes is annotated by kernel developers using the &#039;attribute&#039; specifiers. Sparse tool uses these specifiers to pinpoint coding mistakes. 
For details, refer to</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:colorconsole&amp;rev=1648891806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>colorconsole</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:colorconsole&amp;rev=1648891806&amp;do=diff</link>
        <description>Linux Color Console 


 \033[22;30m - black
 \033[22;31m - red
 \033[22;32m - green
 \033[22;33m - brown
 \033[22;34m - blue
 \033[22;35m - magenta
 \033[22;36m - cyan
 \033[22;37m - gray
 \033[01;30m - dark gray
 \033[01;31m - light red
 \033[01;32m - light green
 \033[01;33m - yellow
 \033[01;34m - light blue
 \033[01;35m - light magenta
 \033[01;36m - light cyan
 \033[01;37m - white</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:crosscompile&amp;rev=1648891804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>crosscompile</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:crosscompile&amp;rev=1648891804&amp;do=diff</link>
        <description>Cross Compile for Embedded System (MIPS)

PHP-CGI

../configure --prefix=../result/php-5.3.5 --host=i686-pc-linux-gnu --target=mipsel-linux-gnu --build=mipsel-linux-gnu --enable-cgi --disable-all --without-pear --with-config-file-path=/etc/

lighttpd</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ctools&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ctools</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ctools&amp;rev=1568544928&amp;do=diff</link>
        <description>Get Interface IP address in Kernel  Binary file replace from file2 to file1  [Linux Proc Wrapper to provide simple proc implementation]  Linux Color console with printk       IP Checksum APIs  Map enum to string</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:debugging&amp;rev=1596960612&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-09T08:10:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debugging</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:debugging&amp;rev=1596960612&amp;do=diff</link>
        <description>[GDB]</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:device_tree&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>device_tree</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:device_tree&amp;rev=1568544928&amp;do=diff</link>
        <description>Device Tree
 Reference  Device_Tree_Usage  Youtube DTS  ePAPR specification 
Runtime check device tree content

cat /proc/device-tree/xxx</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:dhcpv6&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dhcpv6</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:dhcpv6&amp;rev=1568544928&amp;do=diff</link>
        <description>DHCPV6
 Reference    
DHCP Mode
 O Flag  M Flag  Meaning  0  0  Router has everything like Prefix, Prefix-length, Default Gateway, DNS, ...  1  0  Router has most configuration except some information such as DNS addresses should get from a DHCPv6 server</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:enum_string&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>enum_string</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:enum_string&amp;rev=1568544928&amp;do=diff</link>
        <description>Map Enum to string array or its value array


#define DP_F_FLAG_LIST  \
	DP_F_ENUM_OR_STRING(DP_F_DEREGISTER, 0x00000001, &quot;De-Register&quot;), \
	DP_F_ENUM_OR_STRING(DP_F_FAST_ETH_LAN,   0x00000002, &quot;ETH_LAN&quot;), \
	DP_F_ENUM_OR_STRING(DP_F_FAST_ETH_WAN,   0x00000004, &quot;ETH_WAN&quot;),\
	DP_F_ENUM_OR_STRING(DP_F_FAST_WLAN,      0x00000008, &quot;FAST_WLAN&quot;),\</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora&amp;rev=1648891802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora&amp;rev=1648891802&amp;do=diff</link>
        <description>Fedora
 Reference  Torrent Download Link  Install Fedora via local Network ftp   Linux Commons   Configuration and Issues   PPA App Lists</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora_firewall&amp;rev=1648891802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fedora_firewall</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:fedora_firewall&amp;rev=1648891802&amp;do=diff</link>
        <description>Fedora 20 Samba Server setup

Install samba RPM

yum install cups-libs samba samba-common samba-client system-config-samba

Configure samba /etc/samba/smb.conf

Disable firewall/seclinux

#Disable firewall otherwise windows cannot see the PC 

systemctl stop firewalld       #temporarily stop firewall</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:filereplace&amp;rev=1648891802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>filereplace</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:filereplace&amp;rev=1648891802&amp;do=diff</link>
        <description>This tool is used to replace first binary file at specified offset
Binary file1, Binary file2,
Final file: part of file1 + file2 + part of file1. 
Note: File1 file length no change.



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

char *ReadFile(char *name, int *len)
{
	FILE *file;
	char *buffer;
	unsigned long fileLen;

	//Open file
	file = fopen(name, &quot;rb&quot;);
	if (!file)
	{
		fprintf(stderr, &quot;Unable to open file %s&quot;, name);
		return NULL;
	}
	
	//Get file length
	fseek(file, 0, SE…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:generic_netlink&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>generic_netlink</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:generic_netlink&amp;rev=1568544928&amp;do=diff</link>
        <description>Generic Netlink
 Reference  Generic Netlink Howto  Generic Netlink详解   Linux Generic Netlink 设计与实现  
Generic Netlink Architecture

Generic Netlink communications are essentially a series of different communication channels which are multiplexed on a single Netlink family. 

Communication channels are uniquely identified by channel numbers which are dynamically allocated by the Generic Netlink controller.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:intel&amp;rev=1648891802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>intel</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:intel&amp;rev=1648891802&amp;do=diff</link>
        <description>Processor Name  32- or 64-bit  Intel Core Solo  32 bit  Intel Core Duo  32 bit  Intel Core 2 Duo  64 bit  Intel Quad-Core Xeon  64 bit  Dual-Core Intel Xeon  64 bit  Quad-Core Intel Xeon  64 bit	  Core i3  64 bit  Core i5  64 bit  Core i7  64 bit</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ipsec&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ipsec</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ipsec&amp;rev=1568544928&amp;do=diff</link>
        <description>IPSec Implementation in Linux
 Reference  [ ipsec_xfrm ] 
IPSEC Basic
 Security Scheme  Difference  IPSEC  Security scheme operating in the Internet Layer of the Internet Protocol Suite  TLS/SSH  Security scheme operating in the upper layers of the TCP/IP model, like transport layer</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_checksum_apis&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip_checksum_apis</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_checksum_apis&amp;rev=1568544928&amp;do=diff</link>
        <description>IP Checksum APIs

IP Header Checksum Calculation Implementation


/* set ip checksum of a given ip header*/
void compute_ip_checksum(struct iphdr *iphdrp)
{
	iphdrp-&gt;check = 0;
	iphdrp-&gt;check = compute_checksum((unsigned short *)iphdrp, iphdrp-&gt;ihl &lt;&lt; 2);
}

/* Compute checksum for count bytes starting at addr, using one&#039;s complement of one&#039;s complement sum*/
static unsigned short compute_checksum(unsigned short *addr, unsigned int count)
{
	register unsigned long sum = 0;

	while (count &gt; 1) {
…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_kernel&amp;rev=1648891800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:30:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip_kernel</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_kernel&amp;rev=1648891800&amp;do=diff</link>
        <description>Get Interface IP adderss in Linux Kernel

Method


struct net_device { 
  ...
   struct in_device __rcu  *ip_ptr;        /* IPv4 specific data   */
   struct inet6_dev __rcu  *ip6_ptr;       /* IPv6 specific data */
   ...
}


Example 1


#include &lt;linux/init.h&gt;
#include &lt;linux/kernel.h&gt;
#include &lt;linux/module.h&gt;
#include &lt;linux/moduleparam.h&gt;
#include &lt;linux/inetdevice.h&gt;
#include &lt;linux/netdevice.h&gt;

MODULE_DESCRIPTION(&quot;Test Module&quot;);
MODULE_AUTHOR(&quot;Gilboa Davara&quot;);
MODULE_LICENSE(&quot;GPL&quot;);

sta…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_routing&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip_routing</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ip_routing&amp;rev=1568544928&amp;do=diff</link>
        <description>IP Routing In Linux

Reference: &lt;http://kernelspec.blogspot.sg/2014/10/zoom-into-packet-routing-in-linux-kernel.html&gt;</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kernelothers&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kernelothers</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kernelothers&amp;rev=1568544928&amp;do=diff</link>
        <description>Others

MIPS CPU Utilization
 Metric  Formula  MIPS(Million Instruction per second)  (instr_cnt/cycle_cnt) * CPU_clock  CPI (Cycles per instruction)  cycle_cnt/instr_cnt  CPU_utilization  cycle_cnt/CPU_clock  CPU_wasted  stall_cycle_cnt / cpu_clock  CPU_idle&lt;wait&gt;</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kgdb&amp;rev=1648891798&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kgdb</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:kgdb&amp;rev=1648891798&amp;do=diff</link>
        <description>Kernel debugging kgdb
 Reference  GDB commands   Examining Symbol 
Linux Kernel coding style:

	*  &lt;https://www.kernel.org/doc/html/v5.0/process/coding-style.html&gt;
	*  Documentation/process/coding-style.rst

Linux Kernel documentation: for example of linux kernel 5.0

	*  &lt;https://www.kernel.org/doc/html/v5.0/&gt;   
	*  

Kernel configure

kgdb内核配置

	*  在 menuconfig 中选中 Kernel hacking</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:lighttpd&amp;rev=1648891798&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lighttpd</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:lighttpd&amp;rev=1648891798&amp;do=diff</link>
        <description>lighttpd porting

reference: &lt;http://www.newbieswiki.com/index.php?title=%E5%A6%82%E4%BD%95%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91lighttpd&gt;



CC=&quot;mips-linux-gcc -I/tmp/rootfs/lighttpd/include -L/tmp/rootfs/lighttpd/lib&quot; LD=&quot;mips-linux-ld -L/tmp/rootfs/lighttpd/lib&quot; ./configure --target=mips-linux --host=mips-linux --without-zlib --prefix=/tmp/rootfs/lighttpd --without-bzip2 --disable-ipv6 --with-pcre=/tmp/rootfs/lighttpd/lib/

-----------------------------------------------------
設定 lighttpd.conf
…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxadmin&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxadmin</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxadmin&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Admin
 Reference  Useful Linux Commands  SSH 
Schedule routine with crone

Linux cron utility is an effective way to schedule a routine background job at a specific time and/or day on an on-going basis.
 Display all scheduled routine   crontab -l  Add a scheduled routine</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxcommands&amp;rev=1648891794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxcommands</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxcommands&amp;rev=1648891794&amp;do=diff</link>
        <description>tar commnad and usage
 tar usage  Example  Create tar Archive File .tar  tar -cvf tecmint-14-09-12.tar /home/tecmint/ 
c – Creates a new .tar archive file. 
v – Verbosely show the .tar file progress. 
-f – File name type of the archive file.  Create tar.gz Archive File</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxdma&amp;rev=1648891794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxdma</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxdma&amp;rev=1648891794&amp;do=diff</link>
        <description>Linux DMA 

DMA Zone

Reference: &lt;http://www.makelinux.net/books/lkd2/ch11lev1sec2&gt;

Because of hardware limitations, the kernel cannot treat all pages as identical. Some pages, because of their physical address in memory, cannot be used for certain tasks. Because of this limitation, the kernel divides pages into different zones. The kernel uses the zones to group pages of similar properties. In particular, Linux has to deal with two shortcomings of hardware with respect to memory addressing:</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleinitorder&amp;rev=1648891794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxmoduleinitorder</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleinitorder&amp;rev=1648891794&amp;do=diff</link>
        <description>Linux Module Initialization Order

For static linked to Kernel case

Below is the initialization order from first to last. For details, refer to linux/init.h

	*  core_initcall()
	*  postcore_initcall()
	*  arch_initcall()
	*  subsys_initcall()
	*  fs_initcall()</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleorder&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxmoduleorder</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxmoduleorder&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Module Initialization Sequence

See the include file: include/linux/init.h for a list of the macros and their ordering.

The order specified there is:
  early_initcall: like itc, vmb
  pure_initcall: 
  core_initcall: like gptu, ngi
  postcore_initcall：　like dma, 
  arch_initcall: like timer, reset, **prom**
  subsys_initcall: like ath9k_eeprom
  fs_initcall
  rootfs_initcall
  device_initcall: like hwmcpy, 
  late_initcall</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxnetworking&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxnetworking</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxnetworking&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Networking
 SKB Notes  [IPv6 Neighbor Discovery]  DHCPv6  [Multicast/IGMP]  IPSEC   IP Routing  Samba  checksum  Page allocation 
OSI layer
 Layer  Name  Description  7  Application  e.g. HTTP, SMTP, SNMP, FTP, Telnet, SSH and Scp, NFS, RTSP etc.  6  Presentation  e.g. XDR, ASN.1, SMB, AFP etc  5  Session  e.g. TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP etc.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxstack&amp;rev=1648891792&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linuxstack</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linuxstack&amp;rev=1648891792&amp;do=diff</link>
        <description>Linux Stack Overflow and Buffer Over
 Reference   Linux Kernel Stack 
kernel Stack

The default stack size for a process running in kernel space is 8K (as of 2011). 

exception/hard IRQ/soft IRQ stack
 hardware stack: hardirt_stack array
 softIRQ stack: softirt_stack array</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_bus&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_bus</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_bus&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Buses/Devices/and Drivers
 Reference  [Kernel Slides]    Linux Device Drivers, Third Edition  bus  a channel between the processor and one or more devices. It is represented by struct bus_type. 
Commonly it can be dynamically detected, like PCI, USB 
It can be virtual or physical, All devices are connected to a bus</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_code_sparse_test_anaylysis&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_code_sparse_test_anaylysis</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_code_sparse_test_anaylysis&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Code Sparse Test/Analysis

klockwork

Sparse

Get sparse
  You can get sparse from git://git.kernel.org/pub/scm/devel/sparse/sparse.git
Using sparse

To use sparse for kernel development simply pass on the C=1 argument onto your make command. For example to enable sparse for mac80211 development you would use:</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_debugging_with_lauterbach&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_debugging_with_lauterbach</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_debugging_with_lauterbach&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Debugging
 Reference   
Linux Debugging with LauterBach

Basic requirement

In order to support c source code level debugging, it is a must to enable debugging option during compile

Get source code directory base


    mips-openwrt-linux-objdump -g vmlinux | grep -i DW_AT_comp_dir | grep -i indirect |  grep &#039;\/&#039;</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_kernel_notes&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_kernel_notes</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_kernel_notes&amp;rev=1568544928&amp;do=diff</link>
        <description>MIPS Porting Guide 
Kernel Context knowledge
 process context  includes user context, kernel thread, work queue  User Context  The kernel executing on behalf of a particular process (ie. a system call or trap, ioctl, module_init, module_exit or kernel thread, workqueue. You can tell which process with the current macro.) Not to be confused with userspace. Can be interrupted by software or hardware interrupts.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_locking&amp;rev=1648891796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_locking</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_locking&amp;rev=1648891796&amp;do=diff</link>
        <description>Linux内核中的各种锁

RCU

RCU(Read-Copy Update)，顾名思义就是读-拷贝修改，它是基于其原理命名的。对于被RCU保护的共享数据结构，读者不需要获得任何锁就可以访问它，但写者在访问它时首先拷贝一个副本，然后对副本进行修改，</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_self-learning&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_self-learning</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_self-learning&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Self learning
 Reference  Porting Guide 
Console

The Linux kernel is configured to select the console by passing it the console parameter, for example: 
  console=ttyLTQ0,115200
  
It can be checked via cat /proc/cmdline

DMA

DMA Engine/LTQ HW Memcpy(ltq_hwmcpy.c)/netowrk: CONFIG_NET_DMA</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_soding_style&amp;rev=1648891796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux_soding_style</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:linux_soding_style&amp;rev=1648891796&amp;do=diff</link>
        <description>Linux Coding Style
 Reference  &lt;https://www.kernel.org/doc/Documentation/CodingStyle&gt; 
Formatting Tools

Code generally has to follow the Linux coding style to be accepted.
Basically there are two tools for formatting the code: indent and astyle

indent

The indent program, an excellent GNU utility found on most Linux systems, formats source according to given rules. Refer to</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:mount_filesystem&amp;rev=1648891792&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mount_filesystem</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:mount_filesystem&amp;rev=1648891792&amp;do=diff</link>
        <description>Mount file system

NFS

refer to &lt;https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-20-04&gt;

Mounting a remote file system via CLI command

sudo mount host:/var/nfs/general /nfs/general

For example:


   sudo mount 10.226.45.1:/var/nfs/general /nfs/general


umount: sudo umount /nfs/general

Mounting a remote file system on startup</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_data_flow_through_kernel.png&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>network_data_flow_through_kernel.png</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_data_flow_through_kernel.png&amp;rev=1568544928&amp;do=diff</link>
        <description></description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_debugging&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>network_debugging</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_debugging&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Network Proc/Debugging

Network device&#039;s MIB counters: cat /proc/net/dev

Note: it should match with ifconfig command


Inter-|   Receive                                         |  Transmit
face|bytes packets errs drop fifo frame compress multicast|bytes packets errs drop fifo colls carrier compress
eth0_1:  101570   541   0    0    0     0        0         0     936     12   0    0    0   0     0        0
eth0_5:    0      0     0    0    0     0        0         0     0       0    0    0…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_driver_notes&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>network_driver_notes</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:network_driver_notes&amp;rev=1568544928&amp;do=diff</link>
        <description>Network Driver Notes
 Reference   Linux Device Drivers, 2nd Edition  ifconfig eth0 up  IFF_UP  dev-&gt;open()  ifconfig eth0 down  ?  dev-&gt;close()  ifconfig eth0 hw ether 08:00:00:00:00:01  ioctl(SIOCSIFADDR) 
IFF_UP  dev-&gt;set_mac_address 
dev-&gt;open</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:notes&amp;rev=1648891790&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>notes</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:notes&amp;rev=1648891790&amp;do=diff</link>
        <description>Fedora Notes

Confiugration

Install Local yum repository based on Fedora 20 DVD ISO

Install patch(yum) from local ISO 

Set sudo for one user

#su -
# #Suppose Set user sampleusername to administrator
#usermod sampleusername -a -G root

Or directly add below line into /etc/sudoers file:</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:office_linux_maintenance&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>office_linux_maintenance</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:office_linux_maintenance&amp;rev=1568544928&amp;do=diff</link>
        <description>Auto Save TWIKI to SVN with crontab

TWIKI Server: 10.64.44.136

Auto save Twiki setup with crontab, ie, at every hour:

	*  add user “shaoguoh” to group www-data
	*  crontab -e #under user shaoguoh since shaoguoh is a user for svn commit

    0 * * * * cd /mnt/data/www/twiki &amp;&amp; ../s_add_wiki_new_file</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:openwrt&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>openwrt</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:openwrt&amp;rev=1568544928&amp;do=diff</link>
        <description>OpenWRT

Feeds

Reference: &lt;http://wiki.openwrt.org/doc/devel/feeds&gt;

Feed is a collection of packages which share a common location. Feeds may reside on a remote server, in a version control system, on the local filesystem, or in any other location addressable by a single name (path/URL) over a protocol with a supported feed method. Feeds are additional predefined package build recipes for OpenWrt Buildroot.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:optimize_options&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>optimize_options</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:optimize_options&amp;rev=1568544928&amp;do=diff</link>
        <description>GCC Optimize Options
 Reference  Optimize-Options 
inline-functions

-finline-functions

　　Integrate all simple functions into their callers. The compiler heuristically decides which functions are simple enough to be worth integrating in this way.

　　If all calls to a given function are integrated, and the function is declared</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:page_allocation&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>page_allocation</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:page_allocation&amp;rev=1568544928&amp;do=diff</link>
        <description>Reference   
Address Conversion

page to Virtual address


struct page *page;
unsigned char *p;
p = page_address(page);


Other APIs:

	*  kmap_atomic
	*  __kunmap_atomic

Linux Page Allocation

Allocate pages


   struct page *page;
   page = alloc_pages(gfp, order);</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ppalists&amp;rev=1648891788&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ppalists</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ppalists&amp;rev=1648891788&amp;do=diff</link>
        <description>PPA Application Lists

Basic Applications
 telnet  For remote login to CPE&#039;s telnet server to start some daemon  ftp client  for remote login to CPE&#039;s server    bash  test automation script  python  test automation script  perl  test automation script</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:printk_proc&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>printk_proc</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:printk_proc&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux printk

Display Current timestamp status
cat /sys/module/printk/parameters/time
Enable printk timestamp
echo yes &gt; /sys/module/printk/parameters/time
Disable printk timestamp
echo no &gt; /sys/module/printk/parameters/time</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:profiling_trace&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>profiling_trace</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:profiling_trace&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Kernel Profiling and Trace:
 Reference    Part 1  Part 2  ftrace</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:samba&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>samba</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:samba&amp;rev=1568544928&amp;do=diff</link>
        <description>Samba Tuning
 Reference   Samba tunning  mmap and DMA 
Main Technique

CONFIG_NET_DMA to offload TCP copy from kernel to userspace ??

zero copy

kernel bypass

min receivefile size

This option changes the behavior of Samba when processing write calls. Any incoming write call on a non-signed SMB/CIFS connection greater than this value will not be processed in the normal way but will be passed to any underlying kernel recvfile or splice system call (if there is no such call Samba will emulate in…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:skb&amp;rev=1648891786&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>skb</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:skb&amp;rev=1648891786&amp;do=diff</link>
        <description>SKB Knowledge
 Reference  [ SKB API(Chinese)]  
SKB Notes
 len  the size of a complete input packet including headers. This value includes data in the kmalloc&#039;d part, fragment chain and/or unmapped page buffers.  data_len  the number of bytes in the fragment chain and in unmapped page buffers and is normally 0.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ssh&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ssh&amp;rev=1568544928&amp;do=diff</link>
        <description>SSH Login Without Password Using ssh-keygen &amp; ssh-copy-id

Suppose need to use ssh to login to remote PC B from local PC A

	*  Create public and private keys using ssh-key-gen at At PC A

Take note: make sure use empty passphrase for auto login without password case</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:start&amp;rev=1756436300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-29T02:58:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:start&amp;rev=1756436300&amp;do=diff</link>
        <description>Welcome to the Linux World 

 Shortcut  Linux Cross Reference   [Kernel API List]    Linux Device Drivers, Third Edition   [Kernel Slides]  Linux Debugging  Cache &amp; Address conversion   Linux Self-Learning   Linux Admin   Set up Environment for chroot  Linux Coding Style   Linux Kernel   Linux Kernel Notes   [Kernel Locking]  [Linux Hacking]     Chinese TCP/IP  Linux Kernel  Networking  DMA  Linux Stack  Linux Locking  [Linux Inerrupt.ppt]  Linux Kernel module initialize order  Network Debugging…</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:sysfs&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sysfs</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:sysfs&amp;rev=1568544928&amp;do=diff</link>
        <description>Linux Sysfs Documents</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tc-ca&amp;rev=1756456554&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-29T08:35:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tc-ca</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tc-ca&amp;rev=1756456554&amp;do=diff</link>
        <description>Difference between ingress/egress qdisc
 Feature  Ingress Qdisc  egress Qdisc  Direction  Incoming traffic  Outgoing traffic  Common Usage  Policing (rate limiting)  Shaping, scheduling  Handle  ffff:  Custom (e.g., 1:)  Parent Keyword  parent ffff:</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tcp</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp&amp;rev=1568544928&amp;do=diff</link>
        <description>Reference  [TCP Implementation in Linux] 
TCP Entry: tcp_v4_rcv</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp_performance&amp;rev=1648891784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tcp_performance</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:tcp_performance&amp;rev=1648891784&amp;do=diff</link>
        <description>Formula for TCP Performance/Latency/Window Size

Formula
 Bits-per-second-throughput = TCP-Window-Size-in-bits / Latency-in-seconds  Optimal TCP window size in bytes = Bandwidth-in-bits-per-second * Round-trip-latency-in-seconds = TCP window size in bits / 8</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu&amp;rev=1596960612&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-09T08:10:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ubuntu</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu&amp;rev=1596960612&amp;do=diff</link>
        <description>How to Setup Ubuntu for PPA automation (based on Ubunut 14.04.1)
 Reference  Vmplayer  Office Linux maintenance  Ubuntu 16.04 
Update ubuntu via apt-get

$ sudo apt-get update 

$ sudo apt-get install update-manager-core

$ sudo do-release-upgrade -d

PPA Ubuntu template with basic applications/servers</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu_16.04&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ubuntu_16.04</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:ubuntu_16.04&amp;rev=1568544928&amp;do=diff</link>
        <description>create a customized daemon via systemd
 Create a ppa.service under folder /etc/systemd/system
 sudo chmod +x /etc/systemd/system/ppa.service
 sudo systemctl enable ppa
 sudo systemctl status ppa
 sudo systemctl daemon-reload
File /etc/systemd/system/ppa.service</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:vmplayer&amp;rev=1648891784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vmplayer</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:vmplayer&amp;rev=1648891784&amp;do=diff</link>
        <description>VMPlayer in Windows 

vmplayer Bios

Add below line in vmx file to increase bootdelay time
  bios.bootdelay = 20000
  
F2 button to key BIOS 

Map multiple network adapter to bridged mode in vmplayer

Based on Vmplayer v6.0.1 in Windows 7

Download vmplayer v6.0.1 and install it.</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:websvn&amp;rev=1568544928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-09-15T10:55:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>websvn</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:websvn&amp;rev=1568544928&amp;do=diff</link>
        <description>WebSVN setup in Ubuntu 14.04

Since WEBSVN does not fully compatible with Ubuntu 14.04 yet. So we have to do some trick here

First uninstall failed websvn if already tried
  sudo apt-get remove websvn
  sudo apt-get remove --auto-remove websvn
  sudo apt-get purge websvn</description>
    </item>
    <item rdf:about="https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:yumlocaliso&amp;rev=1648891782&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-02T09:29:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>yumlocaliso</title>
        <link>https://sgh.tplinkdns.com/dokuwiki/doku.php?id=mywiki:linux:yumlocaliso&amp;rev=1648891782&amp;do=diff</link>
        <description>Setup yum repositories to update or install package from Local ISO Image

Creation of yum repositories is handled by a separate tool called createrepo, which generates the necessary XML metadata. If you have a slow internet connection or collection of all downloaded ISO images, use this hack to</description>
    </item>
</rdf:RDF>
