CentOSの話題

  • X58 Platinum SLIへのインストール備忘録(2019.6.2)
  • x86のインストール備忘録(2019.6.2)
  • SJ3のSRPMパッケージ(2019.10.4)
  • radeonドライバーのディスプレイ解像度(2019.10.5)
  • nouveauドライバーのディスプレイ解像度(2019.10.5)

  • X58 Platinum SLIへのインストール備忘録(2019.6.2)

    CentOS/x86_64 7.6(1810)をインストールした際の備忘録です。インストールしたPCのスペックは下記の通りです。

    CPUおよびメモリーは定格動作です。メモリーはX.M.P. 1600MHz profileを選択すると、QPIリンクが4.8GT/sに落ちるので、6.4GT/sで動作させるため、定格の1333MHzで使用しています。ちなみに、4.8GT/sに落ちたとき、Windows上のCPU-Zで確認すると、CPUをXeon W3565と認識しました。Core i7 980X交換後は、メモリーをX.M.P. 1600MHz profileを使って1600MHz動作させています。Core i7 980Xでも、QPIリンクは4.8GT/sに落ちるのは変わりません。

    HDDは、6台ともICH10R接続しています。AHCIモードです。

    インストールメディアは、USBメモリーを使用しました。7.6(1810)のDVDのディスクイメージをRufusでUSBメモリーに入れました。Rufusは、イメージファイルを指定するだけで、簡単にインストールメディアが作成できます。

    ディスプレイは、VGA端子からKVMスイッチを介してGDM-F500Rを使用していますが、解像度は1024x768なのですが、リフレッシュレートがおかしく、縦につぶれて半分ぐらいの長さに表示されました。

    CentOSのインストール前にWindows10をインストールして動作確認を行っていたのですが、HDDにその際使用していたIntel Rapid Storage TechnologyのRAID情報が残っていたためにインストーラーが異常終了しました。BIOSでRAIDを解除した後、CentOSをインストールしたところ、問題なくインストールできました。

    インストーラーでは、HDDはsda〜sdcおよびsde〜sdgとして認識され、インストールメディアであるUSBメモリーはsddとして認識されました。この命名規則は、インストール後も同様でした。

    HDDは、2TB 6台でRAID6を組みました。パーティションは下記のようにしました。

    マウントポイント 容量 形式 ファイルシステム 用途
    /boot 1GB RAID6 XFS /bootパーティション
    /var 512GB LVM on RAID6 XFS /varパーティション
    /tmp 512GB LVM on RAID6 XFS /tmpパーティション
    swap 12GB LVM on RAID6 XFS swap
    /export 2TB LVM on RAID6 XFS NFS共有
    /export2 2TB LVM on RAID6 XFS Samba共有
    /home 1TB LVM on RAID6 XFS homeディレクトリ
    / 残り(約1.25TB) LVM on RAID6 XFS rootパーティション

    CentOSのインストーラーは賢いので、インストール先->パーティションを自分で構成する->手動パーティション設定画面で、上記の順にパーティションを作成していくと意図した通りのパーティショニングをしてくれます。

    注意点としては、新規のマウントポイントの追加画面で指定する、「割り当てる領域」に指定する容量は、HDD 1台の容量ではなく、パーティション全体の容量を指定します。(上記の表で容量の欄の値をそのまま入力する。)各HDDのパーティションの容量は、インストーラーがRAIDレベルを考慮した上で適切な量を確保します。

    上記の表で形式の項目で「RAID6」のものは、手動パーティション設定画面で「デバイスタイプ」を「RAID」に変更し、「RAIDレベル」で「RAID6」を選択します。

    一方、形式の項目で「LVM on RAID6」のものは、手動パーティション設定画面で「デバイスタイプ」に「LVM」が選択されていることを確認し、「Volume Group」に期待するVolume Groupが選択されていることを確認します。なお、ひとつ目のVolume Groupはインストーラーにより自動的に作成され、その名称はデフォルトで「centos」に設定されます。LVM on RAID6にする最初のパーティションを作成する際には、Volume Groupの修正ボタンをクリックし、VOLUME GROUPを設定画面を開きます。VOLUME GROUPを設定画面で、「RAIDレベル」を「RAID6」に変更し、「サイズポリシー」を「できるだけ大きく」に変更します。ここで設定するVolume Groupの内容はパーティションに閉じた設定ではなく、パーティションをまたいで設定が保持されます。同じVolume Groupに作成するパーティションでは、2つ目のパーティション以降はVOLUME GROUPを設定画面を開く必要はありません。

    すべてのパーティションを作成した後、完了ボタンを押すと、変更の概要画面でインストーラーがどのようなパーティショニングをするか確認できます。

    /bootパーティションは、RAID1にするか悩んだのですが、RAID6にする例がなかったので、試しにRAID6にしてみました。問題なく使用できていますが、インストーラーはブートロックを1台目のHDDにしか書き込まないため、インストール後、残りの5台のHDDにgrub2-install /dev/sd[b-c,e-g]でブートブロックを書き込みました。なお、kernelがアップデートされた際にもブートブロックは1台目のHDDにしか書き込まれないため、残りのHDDには手動でブートブロックの書き込みが必要です。

    インストール後のRAID6の構築時間は約10時間でした。ちなみに、Windows10でIntel Rapid Storage Technologyを使用したRAID5(HDDは同じく6台)のRAID構築時間は約72時間でした。

    インストールの画面でおかしかったディスプレイの表示はインストール後も同様で、1024x768の解像度で、縦につぶれたようになります。ディスプレイマネージャーの表示は直せませんでしたが、ログイン後の画面は、システムのディスプレイでリフレッシュレートを60Hzにすることで正しい表示になりました。

    ディスプレイの表示を根本的に直すには、ディスプレイドライバーを標準でインストールされるNouveauからnVidiaの提供するドライバーに変更する必要がありました。

    ドライバーはnVidiaから入手可能です。複数のバージョンがありますが、各バージョンのページの製品サポートリストを参照にビデオカードに適合するバージョンを選択します。私の場合、GeForce GTX 460を使用しているので、390.116を選択しました。

    ドライバーのインストールはいくつかの手順を踏む必要がありますが、nVidiaのドキュメントはあまり親切ではありません。インストール自体はダウンロードしたドライバーを実行するだけなのですが、特に"Before you Begin"節の内容は、具体的な手順の記載が少なく、こちらで補足されている内容も十分ではなく、実施するにはkernelモジュールやLinuxのbootに関する知識を必要とします。手順としては、下記になります。

    1. Xディスプレイマネージャーの停止
    2. nouveauドライバーを読み込まないようにする
    3. kernel構築関連パッケージインストール(必要な場合)
    4. ディスプレイドライバーのインストール
    5. Xディスプレイマネージャーの起動

    まず、Xサーバーを停止するために、Xディスプレイマネージャーを停止します。OSのrunlevelをmulti-userにします。

    
    # systemctl get-default
    graphical.target
    # systemctl set-default multi-user.target
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
    # systemctl get-default
    multi-user.target
    # reboot
    
    

    次に、Nouveauドライバーが含まれないイメージを作成します。

    
    # mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r )-org.img
    # dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img  $(uname -r)
    
    

    Nouveauドライバーが組み込まれないようにします。具体的には、/etc/modprobe.d/modprobe.conf/etc/modprobe.d/nouveau_blacklist.confに下記内容を記載します。

    
    blacklist nouveau
    options nouveau modeset=0
    
    

    rebootします。

    
    # reboot
    
    

    なお、reboot前のlsmodは下記のようになっていました。

    
    # lsmod
    Module                  Size  Used by
    nfsd                  351388  13 
    auth_rpcgss            59415  1 nfsd
    nfs_acl                12837  1 nfsd
    lockd                  93952  1 nfsd
    grace                  13515  2 nfsd,lockd
    tcp_lp                 12663  0 
    vfat                   17461  1 
    fat                    65950  1 vfat
    fuse                   91880  1 
    xt_CHECKSUM            12549  1 
    iptable_mangle         12695  1 
    ipt_MASQUERADE         12678  3 
    nf_nat_masquerade_ipv4    13412  1 ipt_MASQUERADE
    iptable_nat            12875  1 
    nf_nat_ipv4            14115  1 iptable_nat
    nf_nat                 26787  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
    nf_conntrack_ipv4      15053  2 
    nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
    xt_conntrack           12760  1 
    nf_conntrack          133095  5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
    ipt_REJECT             12541  2 
    nf_reject_ipv4         13373  1 ipt_REJECT
    tun                    31740  1 
    bridge                151336  0 
    stp                    12976  1 bridge
    llc                    14552  2 stp,bridge
    ebtable_filter         12827  0 
    ebtables               35009  1 ebtable_filter
    devlink                48345  0 
    ip6table_filter        12815  0 
    ip6_tables             26912  1 ip6table_filter
    iptable_filter         12810  1 
    sunrpc                353407  20 nfsd,auth_rpcgss,lockd,nfs_acl
    gpio_ich               13476  0 
    iTCO_wdt               13480  0 
    iTCO_vendor_support    13718  1 iTCO_wdt
    intel_powerclamp       14419  0 
    coretemp               13444  0 
    snd_hda_codec_hdmi     52231  4 
    kvm_intel             183705  0 
    kvm                   615914  1 kvm_intel
    irqbypass              13503  1 kvm
    pcspkr                 12718  0 
    sg                     40721  0 
    snd_hda_codec_realtek   102925  1 
    snd_hda_codec_generic    73855  1 snd_hda_codec_realtek
    i2c_i801               22637  0 
    lpc_ich                21086  0 
    snd_hda_intel          40356  2 
    snd_hda_codec         135452  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
    snd_hda_core           86045  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
    snd_hwdep              13608  1 snd_hda_codec
    snd_ctxfi             107446  1 
    snd_seq                62663  0 
    snd_seq_device         14356  1 snd_seq
    i7core_edac            24182  0 
    snd_pcm               105708  5 snd_ctxfi,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
    tpm_infineon           17111  0 
    snd_timer              29912  2 snd_pcm,snd_seq
    snd                    83815  17 snd_hda_codec_realtek,snd_ctxfi,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
    soundcore              15047  1 snd
    acpi_cpufreq           19775  0 
    ip_tables              27126  3 iptable_filter,iptable_mangle,iptable_nat
    xfs                   997127  7 
    raid456               147102  2 
    async_raid6_recov      17288  1 raid456
    async_memcpy           12768  2 raid456,async_raid6_recov
    async_pq               13332  2 raid456,async_raid6_recov
    async_xor              13127  3 async_pq,raid456,async_raid6_recov
    xor                    21411  1 async_xor
    async_tx               13509  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov
    raid6_pq              102527  3 async_pq,raid456,async_raid6_recov
    libcrc32c              12644  4 xfs,raid456,nf_nat,nf_conntrack
    ata_generic            12923  0 
    pata_acpi              13053  0 
    sd_mod                 46281  20 
    crc_t10dif             12912  1 sd_mod
    crct10dif_generic      12647  1 
    crct10dif_common       12595  2 crct10dif_generic,crc_t10dif
    uas                    22445  0 
    nouveau              1869689  1 
    usb_storage            66718  2 uas
    crc32c_intel           22094  1 
    serio_raw              13434  0 
    ahci                   34056  12 
    libahci                31992  1 ahci
    pata_jmicron           12775  0 
    video                  24538  1 nouveau
    mxm_wmi                13021  1 nouveau
    i2c_algo_bit           13413  1 nouveau
    libata                243133  5 ahci,pata_acpi,libahci,ata_generic,pata_jmicron
    firewire_ohci          44434  0 
    drm_kms_helper        179394  1 nouveau
    firewire_core          64423  1 firewire_ohci
    crc_itu_t              12707  1 firewire_core
    r8169                  89607  0 
    syscopyarea            12529  1 drm_kms_helper
    sysfillrect            12701  1 drm_kms_helper
    mii                    14434  1 r8169
    sysimgblt              12640  1 drm_kms_helper
    fb_sys_fops            12703  1 drm_kms_helper
    ttm                   114635  1 nouveau
    bnx2                   89308  0 
    drm                   429744  4 ttm,drm_kms_helper,nouveau
    wmi                    21636  2 mxm_wmi,nouveau
    drm_panel_orientation_quirks    12957  1 drm
    dm_mirror              22289  0 
    dm_region_hash         20813  1 dm_mirror
    dm_log                 18411  2 dm_region_hash,dm_mirror
    dm_mod                124407  23 dm_log,dm_mirror
    [root@x58ps modprobe.d]# lsmod | grep nouveau
    nouveau              1869689  1 
    video                  24538  1 nouveau
    mxm_wmi                13021  1 nouveau
    i2c_algo_bit           13413  1 nouveau
    drm_kms_helper        179394  1 nouveau
    ttm                   114635  1 nouveau
    drm                   429744  4 ttm,drm_kms_helper,nouveau
    wmi                    21636  2 mxm_wmi,nouveau
    # 
    
    

    一方、reboot後のlsmodは下記の通り、Nouveauドライバーが読み込まれていません。

    
    # lsmod
    Module                  Size  Used by
    xt_CHECKSUM            12549  1 
    iptable_mangle         12695  1 
    ipt_MASQUERADE         12678  3 
    nf_nat_masquerade_ipv4    13412  1 ipt_MASQUERADE
    iptable_nat            12875  1 
    nf_nat_ipv4            14115  1 iptable_nat
    nf_nat                 26787  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
    nf_conntrack_ipv4      15053  2 
    nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
    xt_conntrack           12760  1 
    nf_conntrack          133095  5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
    ipt_REJECT             12541  2 
    nf_reject_ipv4         13373  1 ipt_REJECT
    tun                    31740  1 
    bridge                151336  0 
    stp                    12976  1 bridge
    llc                    14552  2 stp,bridge
    ebtable_filter         12827  0 
    ebtables               35009  1 ebtable_filter
    ip6table_filter        12815  0 
    ip6_tables             26912  1 ip6table_filter
    devlink                48345  0 
    iptable_filter         12810  1 
    iTCO_wdt               13480  0 
    gpio_ich               13476  0 
    iTCO_vendor_support    13718  1 iTCO_wdt
    mxm_wmi                13021  0 
    snd_hda_codec_hdmi     52231  4 
    intel_powerclamp       14419  0 
    coretemp               13444  0 
    kvm_intel             183705  0 
    kvm                   615914  1 kvm_intel
    snd_hda_codec_realtek   102925  1 
    pcspkr                 12718  0 
    snd_hda_codec_generic    73855  1 snd_hda_codec_realtek
    irqbypass              13503  1 kvm
    sg                     40721  0 
    snd_hda_intel          40356  2 
    snd_hda_codec         135452  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
    i2c_i801               22637  0 
    snd_hda_core           86045  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
    snd_hwdep              13608  1 snd_hda_codec
    snd_ctxfi             107446  1 
    lpc_ich                21086  0 
    snd_seq                62663  0 
    snd_seq_device         14356  1 snd_seq
    snd_pcm               105708  5 snd_ctxfi,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
    i7core_edac            24182  0 
    snd_timer              29912  2 snd_pcm,snd_seq
    snd                    83815  17 snd_hda_codec_realtek,snd_ctxfi,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
    wmi                    21636  1 mxm_wmi
    soundcore              15047  1 snd
    tpm_infineon           17111  0 
    acpi_cpufreq           19775  0 
    nfsd                  351388  13 
    auth_rpcgss            59415  1 nfsd
    nfs_acl                12837  1 nfsd
    lockd                  93952  1 nfsd
    grace                  13515  2 nfsd,lockd
    sunrpc                353407  20 nfsd,auth_rpcgss,lockd,nfs_acl
    ip_tables              27126  3 iptable_filter,iptable_mangle,iptable_nat
    xfs                   997127  7 
    raid456               147102  2 
    async_raid6_recov      17288  1 raid456
    async_memcpy           12768  2 raid456,async_raid6_recov
    async_pq               13332  2 raid456,async_raid6_recov
    async_xor              13127  3 async_pq,raid456,async_raid6_recov
    xor                    21411  1 async_xor
    async_tx               13509  5 async_pq,raid456,async_xor,async_memcpy,async_raid6_recov
    raid6_pq              102527  3 async_pq,raid456,async_raid6_recov
    libcrc32c              12644  4 xfs,raid456,nf_nat,nf_conntrack
    ata_generic            12923  0 
    pata_acpi              13053  0 
    sd_mod                 46281  18 
    crc_t10dif             12912  1 sd_mod
    crct10dif_generic      12647  1 
    crct10dif_common       12595  2 crct10dif_generic,crc_t10dif
    uas                    22445  0 
    usb_storage            66718  1 uas
    crc32c_intel           22094  1 
    serio_raw              13434  0 
    ahci                   34056  12 
    firewire_ohci          44434  0 
    libahci                31992  1 ahci
    pata_jmicron           12775  0 
    libata                243133  5 ahci,pata_acpi,libahci,ata_generic,pata_jmicron
    firewire_core          64423  1 firewire_ohci
    bnx2                   89308  0 
    crc_itu_t              12707  1 firewire_core
    r8169                  89607  0 
    mii                    14434  1 r8169
    dm_mirror              22289  0 
    dm_region_hash         20813  1 dm_mirror
    dm_log                 18411  2 dm_region_hash,dm_mirror
    dm_mod                124407  23 dm_log,dm_mirror
    # lsmod | grep nouveau
    # 
    
    

    これで、nVidiaのデバイスドライバーをインストールする準備ができました。デバイスドライバーのインストールは下記のようにします。

    
    # sh NVIDIA-Linux-x86_64-390.116.run
    
    

    kernel構築関連のパッケージがインストールされていない場合、下記のようなメッセージが表示されます。

    
     ERROR: Unable to find the development tool `cc` in your path; please make    
            sure that you have the package 'gcc' installed.  If gcc is installed  
            on your system, then please check that `cc` is in your PATH.          
    
    
    
     ERROR: Unable to find the kernel source tree for the currently running       
            kernel.  Please make sure you have installed the kernel source files  
            for your kernel and that they are properly configured; on Red Hat     
            Linux systems, for example, be sure you have the 'kernel-source' or   
            'kernel-devel' RPM installed.  If you know the correct kernel source  
            files are installed, you may specify the kernel source path with the  
            '--kernel-source-path' command line option.
    
    

    この場合、必要なパッケージをインストールします。たとえば、下記などです。

    
    # yum install gcc
    # yum install kernel-devel
    
    

    インストール完了後、rebootします。

    
    # reboot
    
    

    Xディスプレイマネージャーを起動します。

    
    # systemctl get-default
    multi-user.target
    # systemctl set-default graphical.target
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
    # systemctl get-default
    graphical.target
    # reboot
    
    

    reboot後、ディスプレイマネージャー画面も1024x768@60Hzで表示できるようになりましたが、高解像度でXサーバーを動作させるためには、xorg.confの設定が必要でした。

    まず、Xサーバーに設定ファイルの雛型を作成させるためにX -configureします。作成されたxorg.conf.newのMONITORセクションをGDM-F500R用に編集します。

    
    Section "Monitor"
    	Identifier   "GDM-F500R"
    	VendorName   "Sony Corp."
    	ModelName    "GDM-F500R"
    	HorizSync    30 - 121
    	VertRefresh  48 - 160
    	DisplaySize  388 291
    EndSection
    
    

    また、xorg.conf.newのSCREENセクションも、MONITORとしてGDM-F500Rを使用するように編集します。また、解像度として、1600x1200を使用するように指定します。

    
    Section "Screen"
    	Identifier "Screen0"
    	Device     "Card0"
    	Monitor    "GDM-F500R"
    	SubSection "Display"
    		Viewport   0 0
    		Depth     1
    	EndSubSection
    	SubSection "Display"
    		Viewport   0 0
    		Depth     4
    	EndSubSection
    	SubSection "Display"
    		Viewport   0 0
    		Depth     8
    	EndSubSection
    	SubSection "Display"
    		Viewport   0 0
    		Depth     15
    	EndSubSection
    	SubSection "Display"
    		Viewport   0 0
    		Depth     16
    	EndSubSection
    	SubSection "Display"
    		Viewport   0 0
    		Depth     24
    		Modes      "1600x1200"
    	EndSubSection
    EndSection
    
    

    最後にxorg.conf.newを/etc/X11/xorg.confに配置します。これで、GDM-F500Rで1600x1200@85Hzで表示できるようになりました。

    なお、nVidiaのディスプレイドライバーは、kernelをアップデートすると使えなくなるので、kernelをアップデートした際には再度ドライバーをインストールする必要があります。具体的には、sh NVIDIA-Linux-x86_64-390.116.runします。


    x86のインストール備忘録(2019.6.2)

    CentOS/i386 7.6(1810)をインストールした際の備忘録です。インストールしたPCのスペックは下記の通りです。

    CentOSでは、バージョン6をもって、i386アーキテクチャーのサポートが終了しており、バージョン7では、Alternative Architechtureとして提供されています。

    インストールイメージは、MinimalをDVD-Rに焼きました。i386には、NetInstall/Minimal/Everythingの3つのイメージしかないのですが、EverythingはDVD2層が必要な容量で、MinimalでもCDの容量を少し越えているのでDVDメディアが必要です。USBメモリーが使用できるのであれば、そちらの方が便利だと思います。ちなみに、PP-DLWはUSBメモリーのbootにも対応しているようですが、Rufusで作成したEverythingのイメージでは起動できませんでした。

    インストールでは、特に問題は発生しませんでした。ただし、Minimalイメージでは、ベース環境に最小限のインストールしか選択できませんでした。

    インストール後、ベース環境を開発およびクリエイティブワークステーション に変更しました。1時間20分ほど要しました。

    
    # yum groups mark convert
    読み込んだプラグイン:fastestmirror
    There is no installed groups file.
    Maybe run: yum groups mark convert (see man yum)
    Loading mirror speeds from cached hostfile
     * base: mirror-hk.koddos.net
     * extras: mirror-hk.koddos.net
     * updates: mirror-hk.koddos.net
    Converted old style groups to objects.
    # yum groups list
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror-hk.koddos.net
     * extras: mirror-hk.koddos.net
     * updates: mirror-hk.koddos.net
    Available Environment Groups:
       最小限のインストール
       インフラストラクチャーサーバー
       コンピュートノード
       ファイルとプリントサーバー
       ベーシック Web サーバー
       仮想化ホスト
       サーバー (GUI 使用)
       GNOME Desktop
       KDE Plasma Workspaces
       開発およびクリエイティブワークステーション
    インストール済みグループ:
       システム管理ツール
    利用可能なグループ
       グラフィカル管理ツール
       コンソールインターネットツール
       システム管理
       スマートカードサポート
       セキュリティーツール
       レガシーな UNIX 互換性
       互換性ライブラリー
       科学的サポート
       開発ツール
    完了
    # yum groups info 開発およびクリエイティブワークステーション
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror-hk.koddos.net
     * extras: mirror-hk.koddos.net
     * updates: mirror-hk.koddos.net
    
    Environment Group: 開発およびクリエイティブワークステーション
     Environment-Id: developer-workstation-environment
     説明: ソフトウェア、ハードウェア、グラフィックまたはコンテンツ開発向けのワークステーションです。
     Mandatory Groups:
       +base
        core
       +debugging
       +desktop-debugging
       +dial-up
       +directory-client
       +fonts
       +gnome-apps
       +gnome-desktop
       +guest-desktop-agents
       +input-methods
       +internet-applications
       +internet-browser
       +java-platform
       +multimedia
       +network-file-system-client
       +performance
       +perl-runtime
       +print-client
       +ruby-runtime
       +virtualization-client
       +virtualization-hypervisor
       +virtualization-tools
       +web-server
       +x11
     Optional Groups:
       +additional-devel
       +backup-client
       +compat-libraries
       +development
       +dns-server
       +emacs
       +file-server
       +ftp-server
       +graphics
       +hardware-monitoring
       +identity-management-server
       +infiniband
       +kde-desktop
       +large-systems
       +legacy-x
       +load-balancer
        mail-server
       +mainframe-access
       +mariadb
       +network-file-system-client
       +office-suite
       +perl-web
       +php
       +platform-devel
       +postgresql
       +python-web
       +remote-desktop-clients
       +technical-writing
       +virtualization-hypervisor
       +web-servlet
    # yum groupinstall 開発およびクリエイティブワークステーション
    (省略)
    
    

    Xディスプレイマネージャーが立ち上がるよう設定しました。

    
    # systemctrl set-default graphical.target
    # reboot
    
    

    Xサーバーは問題なく起動しますが、非常に重く、実用的ではありません。

    インストールしたPCには、メモリーを8GB搭載していますが、3.5GBしか認識しません。

    
    # free
                  total        used        free      shared  buff/cache   available
    Mem:        3462692      322760     2742044        9648      397888     2704644
    Swap:       1777660           0     1777660
    #
    
    

    dmesgでログを確認すると、PAEオプションの設定がされていないkernelであるとありました。

    
    # dmesg
    (省略)
    [    0.004610] L1TF: Kernel not compiled for PAE. No mitigation for L1TF
    (省略)
    
    

    標準リポジトリにはkernel-PAEパッケージは提供されておらず、PAEを有効にしたkernelを利用するには、自前でビルドする必要があるようです。


    SJ3のSRPMパッケージ(2019.10.4)

    CentOSをさわる機会が増えてきたので、SJ3とsj3-eggのSRPMパッケージを作りました。SJ3とsj3-eggの組み合わせで、CentOS 7.6(x86_64)、7.6(i386)、7.7(x86_64)、7.7(i386)、8.0(x86_64)でとりあえずの動作を確認しています。

    使用されるという奇特な方、ご使用にあたっては、自己責任でお願いします。SRPMパッケージをインストールすれば、SPECファイルやパッチなどを確認できます。

    使い方

    パッケージの説明

    SJ3とは

    RPMパッケージの作成については、こちらのページが非常に参考になりました。


    radeonドライバーのディスプレイ解像度(2019.10.5)

    先にインストールしたCentOS/i386のPCのグラフィックカードを交換しました。新しい構成は下記です。

    AMD(ATI)用のドライバーは現在フリー版しかないようなので、OS付属のradeonドライバーでディスプレイ解像度1600x1200@85Hzを実現してみました。具体的には、ArchWikiの記事にしたがいました。

    1. xrandrコマンドで現在の状態を確認
      
      $ xrandr
      Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
      DVI-0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
         1024x768      60.00* 
         800x600       60.32    56.25  
         848x480       60.00  
         640x480       59.94  
      DVI-1 disconnected (normal left inverted right x axis y axis)
      DIN disconnected (normal left inverted right x axis y axis)
      $ 
      
      
    2. cvtコマンドで1600x1200@85Hzのモードラインを表示させる
      
      $ cvt 1600 1200 85
      # 1600x1200 84.95 Hz (CVT 1.92M3) hsync: 107.21 kHz; pclk: 235.00 MHz
      Modeline "1600x1200_85.00"  235.00  1600 1728 1896 2192  1200 1203 1207 1262 -hsync +vsync
      
      
    3. xrandrコマンドでモードラインを作成する
      
      $ xrandr --newmode "1600x1200_85.00"  235.00  1600 1728 1896 2192  1200 1203 1207 1262 -hsync +vsync
      $ 
      $ xrandr
      Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
      DVI-0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
         1024x768      60.00* 
         800x600       60.32    56.25  
         848x480       60.00  
         640x480       59.94  
      DVI-1 disconnected (normal left inverted right x axis y axis)
      DIN disconnected (normal left inverted right x axis y axis)
        1600x1200_85.00 (0x6b8) 235.000MHz -HSync +VSync
              h: width  1600 start 1728 end 1896 total 2192 skew    0 clock 107.21KHz
              v: height 1200 start 1203 end 1207 total 1262           clock  84.95Hz
      $ 
      
      
    4. xrandrコマンドでモードラインを追加する(モードライン名は""でくくってもよい)
      
      $ xrandr --addmode DVI-0 1600x1200_85.00
      $ 
      $ xrandr
      Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
      DVI-0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
         1024x768      60.00* 
         800x600       60.32    56.25  
         848x480       60.00  
         640x480       59.94  
         1600x1200_85.00  84.95  
      DVI-1 disconnected (normal left inverted right x axis y axis)
      DIN disconnected (normal left inverted right x axis y axis)
      $ 
      
      
    5. 設定で解像度に「1600 x 1200 (4 : 3)」が現れるので選択する

    これで、一時的に1600x1200@85Hzで表示することができました。

    恒久的に1600x1200@85Hzで表示させる方法は、起動時に毎回xrandrコマンドを実行する方法と、Xサーバーの設定ファイルを編集する方法がありますが、Xサーバーの設定ファイルを使用することにしました。

    1. X -configureで、設定ファイルの雛型xorg.conf.newを生成させる
    2. MONITORセクションおよびSCREENセクションを変更
      
      Section "Monitor"
      	Identifier   "GDM-F500R"
      	VendorName   "Sony Corp."
      	ModelName    "GDM-F500R"
      	HorizSync    30 - 121
      	VertRefresh  48 - 160
      	DisplaySize  388 291
      	# 1600x1200 84.95 Hz (CVT 1.92M3) hsync: 107.21 kHz; pclk: 235.00 MHz
      	Modeline "1600x1200_85.00"  235.00  1600 1728 1896 2192  1200 1203 1207 1262 -hsync +vsync
      	Option "PreferredMode" "1600x1200_85.00"
      EndSection
      
      
      
      Section "Screen"
      	Identifier "Screen0"
      	Device     "Card0"
      	Monitor    "GDM-F500R"
      	SubSection "Display"
      		Viewport   0 0
      		Depth     1
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     4
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     8
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     15
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     16
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     24
      		Modes      "1600x1200_85.00"
      	EndSubSection
      EndSection
      
      
    3. xorg.conf.new/etc/X11/xorg.confに配置
    4. Xサーバーを起動

    これで設定完了です。


    nouveauドライバーのディスプレイ解像度(2019.10.5)

    先にインストールしたCentOS/x86_64で、ディスプレイ解像度1600x1200@85Hzを実現するのにnVidiaのドライバーを導入しました。しかし、radeonドライバーと同じやり方でnouveauドライバーでも1600x1200@85Hzが実現できないか確認しました。

    まず、nouveauドライバーを復帰します。

    1. Xディスプレイマネージャーを停止する
      
      # systemctl get-default
      graphical.target
      # systemctl set-default multi-user.target
      Removed symlink /etc/systemd/system/default.target.
      Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
      # systemctl get-default
      multi-user.target
      # reboot
      
      
    2. nouveauドライバーが組み込まれないようにした設定を無効にする
      
      # cd /etc/modprobe.d/
      # mv modprobe.conf modprobe.conf.backup
      # mv nouveau_blacklist.conf nouveau_blacklist.conf.backup
      # ls
      dccp-blacklist.conf     mlx4.conf                      truescale.conf
      firewalld-sysctls.conf  modprobe.conf.backup           tuned.conf
      lockd.conf              nouveau_blacklist.conf.backup
      # 
      
      
    3. nVidiaドライバーをアンインストールする
      
      # sh nNVIDIA-Linux-x86_64-390.116.run --uninstall
      
      
    4. reboot

    Xサーバーの設定ファイルを用意します。

    1. X -configureで雛型を生成させる
    2. MONITORセクションとSCREENセクションを変更する(radeonドライバーと同様)
      
      Section "Monitor"
      	Identifier   "GDM-F500R"
      	VendorName   "Sony Corp."
      	ModelName    "GDM-F500R"
      	HorizSync    30 - 121
      	VertRefresh  48 - 160
      	DisplaySize  388 291
      	# 1600x1200 84.95 Hz (CVT 1.92M3) hsync: 107.21 kHz; pclk: 235.00 MHz
      	Modeline "1600x1200_85.00"  235.00  1600 1728 1896 2192  1200 1203 1207 1262 -hsync +vsync
      	Option "PreferredMode" "1600x1200_85.00"
      EndSection
      
      
      
      Section "Screen"
      	Identifier "Screen0"
      	Device     "Card0"
      	Monitor    "GDM-F500R"
      	SubSection "Display"
      		Viewport   0 0
      		Depth     1
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     4
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     8
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     15
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     16
      	EndSubSection
      	SubSection "Display"
      		Viewport   0 0
      		Depth     24
      		Modes      "1600x1200_85.00"
      	EndSubSection
      EndSection
      
      
    3. 設定ファイルを/etc/X11/xorg.confに配置
    Xディスプレイマネージャーを起動します。
    
    # systemctl get-default
    multi-user.target
    # systemctl set-default graphical.target
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
    # systemctl get-default
    graphical.target
    # reboot
    
    

    これで、nouveauドライバーでも、1600x1200@85Hzで表示できるようになりました。


    OSの話題(新)のページ